* Demo/Common: fix divide by zero possibility and non-used return values
- In TimerDemo.c fix possible divide by zero in
"xMaxBlockTimeUsedByTheseTests / xCycleFrequency".
- Move this code in TimerDemo.c into if-clause where it is
actually used.
- In Minimal/StreamBufferDemo.c and Minimal/TaskNotify.c avoid
unused return values.
Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
Co-authored-by: Kody Stribrny <kstribrn@amazon.com>
* Demo/CORTEX_LM3S6965_GCC_QEMU: Trim trailing spaces & lines
* Demo/CORTEX_LM3S6965_GCC_QEMU: Fix Eclipse build 1/2 (examples)
It was trying to build the examples, which pulled in symbols such as
`_write` that are not implemented.
* Demo/CORTEX_LM3S6965_GCC_QEMU: Fix Eclipse build 1/2 (discard .ARM.exidx)
Somewhere along the line now there is the .ARM.exidx section in the
files, we don't use exceptions so can just discard it.
* Demo/CORTEX_LM3S6965_GCC_QEMU: Add CMake
* Debug/CORTEX_LM3S6965_GCC_QEMU: Fix Qemu startup
It was tripping on port.c
/* Check that the maximum system call priority is nonzero after
* accounting for the number of priority bits supported by the
* hardware. A priority of 0 is invalid because setting the BASEPRI
* register to 0 unmasks all interrupts, and interrupts with priority 0
* cannot be masked using BASEPRI.
* See https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html */
configASSERT( ucMaxSysCallPriority );
Inspecting the value ucMaxPriorityValue gave 0xE0, and setting it to
0xE0 complains about overflow in
FreeRTOS/Demo/CORTEX_LM3S6965_GCC_QEMU/LocalDemoFiles/IntQueueTimer.c:57
/* Shift left 5 as only the top 3 bits are implemented. */
IntPrioritySet( INT_TIMER2A, configMAX_SYSCALL_INTERRUPT_PRIORITY + ( 1 << 5 ) );
* Add qemu options to run in headless mode
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
---------
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
* Various Qemu Cortex M3 ports now support picolibc
Allow various Qemu Cortex M3 ports to compile against
picolibc. Also support "-flto" to work correctly.
Tested with picolibc in current Debian 13.
Just use "PICOLIBC=1 make" to switch over from default newlib.
Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
* Add ffreestanding
Signed-off-by: Ubuntu <ubuntu@ip-172-31-15-241.ap-south-1.compute.internal>
* Fix formatting check
Signed-off-by: Ubuntu <ubuntu@ip-172-31-15-241.ap-south-1.compute.internal>
---------
Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
Signed-off-by: Ubuntu <ubuntu@ip-172-31-15-241.ap-south-1.compute.internal>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-15-241.ap-south-1.compute.internal>
- Compiling Demo/Common/Minimal/TimerDemo.c with "gcc -flto" breaks the
tests, so add "volatile" modifier to "ucOneShotTimerCounter" to fix
this.
- In Demo/FreeRTOS_Plus_TCP_Echo_Qemu_mps2/main_networking.c print the
network configuration even more visible.
- In MessageBufferDemo.c and Demo/Posix_GCC/main_full.c fix compiler
warnings from "gcc -Wwrite-strings" by adding a const modifier.
Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
Cleanup for clang compiler warnings:
- add "#include" to proper header files
- add "static" modifier to some vars
- if tracing is disabled, do not compile helper functions
- remove unused macro "mainFLASH_TASK_PRIORITY"
Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
From looking at the code, I think this more strict error checking
was intended in xIsInterruptStreamBufferDemoStillRunning().
If not, then the else part and var could be completely removed
as dead code.
Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
- Change CMakeLists.txt to set the C compiler flags instead
of the C++ compiler flags.
- Change to compiler warnings from "gcc -Wconversion" in
main_full.c.
Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
Co-authored-by: Tony Josi <tonyjosi@amazon.com>
* Fix compiler warning "gcc -Wmissing-prototypes" in startup.c.
* For "gcc -flto" fix duplicate labels in asm (startup.c) and mark
some functions as "used" in startup.c and syscalls.c.
* Fix "gcc -Wredundant-decls" in main.c.
Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
* clean up warnings from "gcc -Wconversion"
clean up warnings from "gcc -Wconversion"
Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
* Fix formatting
---------
Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
Co-authored-by: Rahul Kar <karahulx@amazon.com>
* FreeRTOS_Plus_TCP_Echo_Qemu_mps2: cleanup
FreeRTOS_Plus_TCP_Echo_Qemu_mps2:
- Add missing include for header files.
- Remove redundant function declarations.
- Add "static" modifier if possible.
- No need to use "weak" for EthernetISR().
Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
This commit updates the __stack_size definition in the
linker flags, changing its value from 350 to 352. This
change ensures that the stack size is a multiple of 16,
aligning the stack pointer (sp) to a 16-byte boundary
as required by the system architecture.
* Demo: RISC-V_RV32_QEMU_VIRT_GCC: Increase the memory for RVA23 compilation
* Demo: RISC-V_RV32_QEMU_VIRT_GCC: Update the regtest to include fpu registers
* Demo: RISC-V_RV32_QEMU_VIRT_GCC: Fix small issues for 64-bit configs
* Demo: RISC-V_RV32_QEMU_VIRT_GCC: Enable FPU unit
* Demo: RISC-V_RV32_QEMU_VIRT_GCC: Enable compilation for RVA23 platforms
* Demo: RISC-V_RV32_QEMU_VIRT_GCC: Fix copyright related CI issues
* Demo: RISC-V_RV32_QEMU_VIRT_GCC: Update submodule manifest
* Demo: RISC-V_RV32_QEMU_VIRT_GCC: Update a few typos and left overs
* Demo: RISC-V_RV32_QEMU_VIRT_GCC: Apply @aggarg's sugestions
* Update pointer to Freertos-Kernel
Compiling this demo with picolibc 1.8.9 (as packaged with Debian trixie)
results in a stack overflow. Increasing the minimal stack size from
80 to 88 bytes resolves this. (Debian trixie arm crosscompiler defaults
to compile/link against picolibc and not newlib anymore.)
Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
* * Added TraceRecorder also in IAR project for demo CORTEX_MPS2_QEMU_IAR_GCC.
* * Added TraceRecorder also in IAR project for demo CORTEX_MPS2_QEMU_IAR_GCC.
This commit updates the xTaskGetIdleTaskHandle unit test as per the idle
task naming logic.
Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
Cadence/Xtensa: Move Tensilica demos to Partner-Supported-Demos submodule
Add a README to this deprecated demos directory indicating where to
find the latest Tensilica test code.
Signed-off-by: Ian Thompson <ianst@cadence.com>
* Cortex M3 MPS2: fix alignment warning from assembler
Fix assembler alignment warnings for Cortex M3 MPS2:
Warning: section does not have enough alignment to ensure safe PC-relative loads
Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
SoftConsole failed to execute MI command to load the RTOSDebug.elf built in this project. Since the debugger couldn't find address `0xe000ed00` defined in ARM processor.
We need to set `$target_riscv` to 1 so that the gdb can be initialized correctly.
On Ubuntu 24.04 ARM64, PTHREAD_STACK_MIN is 0x20000 which does not fit
in unsigned short, size of which is 2 bytes. Casting PTHREAD_STACK_MIN
to unsigned short in FreeRTOSConfig.h results in
configMINIMAL_STACK_SIZE getting defined to 0 which leads to SIGSEV.
This change removes the not needed casting of PTHREAD_STACK_MIN to
unsigned short.
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>