Commit graph

2 commits

Author SHA1 Message Date
Kovacsics Robert
e933faf3ee
Fix build of & add CMake to LM3S Qemu Demo (#1368)
* 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>
2025-08-15 12:48:14 +05:30
RichardBarry
0e0edd96e8
Use new QEMU test project to improve stream/message buffer tests (#168)
* Add Eclipse/GCC project that targets the LM3S8962 QEMU model.

* Get the Cortex-M QEMU project working.

* Continue working on making stream buffer demo more robust and QEMU project.

* Rename directory CORTEX_LM3S8986_QEMU to CORTEX_LM3S6965_QEMU.
Work on making the Stream Buffer tests more robust.
Check in before adding in the trace recorder.

* Rename CORTEX_LM3S6969_QEMU to CORTEX_LM3S6969_GCC_QEMU.

* Make the StreamBufferDemo.c common demo file (test file) more robust to other test tasks running at an equally high priority.

* Work in progress checkin only - comments in main.c are incorrect.

* Correct comments at the top of FreeRTOS/Demo/CORTEX_LM3S6965_GCC_QEMU/main.c
Make the message buffer tests more robust in the case the a message buffer becomes full when prvSenderTask() has a higher priority than the reader task.

* Disable trace recorder in the LM3S6965 QEMU demo.

* I'm dropping FreeRTOS-Kernel reference update, since this seems to break the CMBC CI.

Co-authored-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>
2020-08-11 10:50:30 -07:00