* Added a link to the community supported demos repo in the demos readme.txt
* Update FreeRTOS/Demo/readme.txt
Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
* Update and rename readme.txt to readme.md
---------
Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
Set configMAX_SYSCALL_INTERRUPT_PRIORITY to 4 instead of 5 to avoid hitting the assert in `Source/portable/GCC/ARM_CM3/port.c` (`configASSERT( ( configMAX_SYSCALL_INTERRUPT_PRIORITY & 0x1U ) == 0U ); `)
When built with PICOLIBC=1, selects picolibc as the C library, uses
semihosting to display messages and uses picolibc stdio for output.
Signed-off-by: Keith Packard <keithpac@amazon.com>
Allocate ROM for initialized thread local storage variables. Allocate
TLS offsets for all thread local storage variables.
Signed-off-by: Keith Packard <keithpac@amazon.com>
Need to add _zicsr for more recent Risc-V toolchains which don't add
this extension to the default set anymore.
Signed-off-by: Keith Packard <keithpac@amazon.com>
I get a build error when this is not set as it (or
configGENERATE_RUN_TIME_STATS) are required when using
configUSE_STATS_FORMATTING_FUNCTIONS
Signed-off-by: Keith Packard <keithpac@amazon.com>
When built with PICOLIBC=1, selects picolibc as the C library by
removing the newlib-nano linker flags and adding
--specs=picolibc.specs to the compiler flags. This also selects the
integer-only printf variant provided within picolibc to reduce flash
use by adding -DPICOLIBC_INTEGER_PRINTF_SCANF.
Signed-off-by: Keith Packard <keithpac@amazon.com>
Picolibc has an internal version of sbrk that uses slightly different
symbol names than the demo provides. Add these in the linker script.
Signed-off-by: Keith Packard <keithpac@amazon.com>
Allocate ROM for initialized thread local storage variables. Allocate
TLS offsets for all thread local storage variables.
Signed-off-by: Keith Packard <keithpac@amazon.com>
Instead of a set of POSIX-compatible APIs as needed by newlib,
picolibc needs a FILE struct allocated that references a function to
output a single character. Picolibc also doesn't need sbrk as it has
its own version
Signed-off-by: Keith Packard <keithpac@amazon.com>
For these options to be of any use, they must be passed to the
compiler when building object files and then the --gc-sections flag
must be passed to the linker.
Add -ffunction-sections -fdata-sections to CFLAGS and then add
-Wl,--gc-sections to LDFLAGS.
Signed-off-by: Keith Packard <keithpac@amazon.com>
Ensure that the handler2_address_const location will be correctly
aligned when compiled to a separate section.
Add the 'used' attribute to isr_vector to ensure it will not be elided
from the output.
Signed-off-by: Keith Packard <keithpac@amazon.com>
The configMINIMAL_STACK_SIZE was defined to PTHREAD_STACK_MIN with cast
to unsigned short. This cast cab be too restrictive and result in
truncation on some platforms. This commit removes this unnecessary cast.
Related issue - https://github.com/FreeRTOS/FreeRTOS/issues/967
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
* Expand RV32E demo support, prevent 'ebreak' looping
The RegTest tests are modified in the Qemu and HiFive demos
to support RV32E and its limited set of registers.
'ebreak' call looping is removed in RegTest. This produces
a lot of noise when debugging.
* Correct whitespace
* Remove 'ebreak' instruction calls
The ebreak instruction sets and exception
which leads to jumping around the binary. This
can make debugging difficult.
* Fix whitespace formatting
Removes the commented signing cert constant
variable from the PAL header file. The
correct location for this constant is the
aws_ota_codesigner_certificate.h file.
Prior to this commit, CBMC would emit logging information in plain text
format, which does not contain information required for the CBMC VSCode
debugger. This commit makes CBMC use XML instead of plain text.
Co-authored-by: Mark Tuttle <tuttle@acm.org>
Update the unit test for the following functions to verify that equal priority task won't be preempted
* vTaskResume
* xTaskResumeFromISR
* vTaskPrioritySet
* xTaskResumeAll
4 test cases are added to verify this scenario
* test_xTaskResumeAll_success_2_tasks_eq_prio_running_no_yield
* test_vTaskPrioritySet_success_eq_curr_prio_curr_tcb
* test_vTaskResume_success_eq_curr_prio_not_yield
* test_xTaskResumeFromISR_success_eq_curr_prio_suspended_task
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>