diff --git a/.github/workflows/freertos_mpu_demo.yml b/.github/workflows/freertos_mpu_demo.yml index bb7933501..39677cb4b 100644 --- a/.github/workflows/freertos_mpu_demo.yml +++ b/.github/workflows/freertos_mpu_demo.yml @@ -11,8 +11,8 @@ env: bashEnd: \033[0m jobs: - Cortex-R4: - name: Texas Instruments RM46 + Cortex-Rx-MPU-Demos: + name: TI-Hercules RM46 and RM57 MPU Demos runs-on: ubuntu-latest steps: - env: @@ -20,7 +20,17 @@ jobs: name: ${{ env.stepName }} uses: actions/checkout@v4.1.1 with: - submodules: false + submodules: true + + - env: + stepName: Fetch FreeRTOS-Kernel + name: ${{ env.stepName }} + shell: bash + run: | + # ${{ env.stepName }} + echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}" + git submodule update --checkout --init --depth 1 FreeRTOS/Source + echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}" - env: stepName: Install GNU ARM Toolchain @@ -34,6 +44,18 @@ jobs: echo -e "::endgroup::" echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}" + - env: + stepName: Build CORTEX R5 MPU Demo + name: ${{ env.stepName }} + shell: bash + working-directory: FreeRTOS/Demo/CORTEX_MPU_R5F_TI_RM57_HERCULES_GCC + run: | + # ${{ env.stepName }} + echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}" + cmake -S . -B build && make -j -C build all + echo -e "::endgroup::" + echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}" + - env: stepName: Build CORTEX R4 MPU Demo name: ${{ env.stepName }} @@ -42,78 +64,6 @@ jobs: run: | # ${{ env.stepName }} echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}" - set +e - cmake -S . -B build; - make -C build all; - exitStatus=$? - set -e - echo -e "::endgroup::" - if [ $exitStatus -eq 0 ]; then - echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}" - else - echo -e "${{ env.bashFail }} ${{ env.stepName }} ${{ env.bashEnd }}" - exit 1 - fi - - Cortex-R5: - name: Texas Instruments RM57 - runs-on: ubuntu-latest - steps: - - env: - stepName: Checkout Repository - name: ${{ env.stepName }} - uses: actions/checkout@v4.1.1 - with: - submodules: false - - - env: - stepName: Install GNU ARM Toolchain - name: Install GNU ARM Toolchain - shell: bash - run: | - # ${{ env.stepName }} - echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}" - sudo apt-get -y update - sudo apt-get -y install gcc-arm-none-eabi build-essential cmake git ninja-build python3-minimal + cmake -S . -B build && make -j -C build all echo -e "::endgroup::" echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}" - - - env: - stepName: Fetch Kernel Submodule - name: ${{ env.stepName }} - shell: bash - run: | - # ${{ env.stepName }} - echo -e "::group:: ${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}" - set +e - git submodule update --checkout --init --depth 1 FreeRTOS/Source FreeRTOS/Demo/ThirdParty/Community-Supported-Demos - exitStatus=$? - set -e - echo -e "::endgroup::" - if [ $exitStatus -eq 0 ]; then - echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}" - else - echo -e "${{ env.bashFail }} ${{ env.stepName }} ${{ env.bashEnd }}" - exit 1 - fi - - - env: - stepName: Build CORTEX R5 MPU Demo - name: ${{ env.stepName }} - shell: bash - working-directory: FreeRTOS/Demo/CORTEX_MPU_R5F_TI_RM57_HERCULES_GCC - run: | - # ${{ env.stepName }} - echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}" - set +e - cmake -S . -B build; - make -C build all; - exitStatus=$? - set -e - echo -e "::endgroup::" - if [ $exitStatus -eq 0 ]; then - echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}" - else - echo -e "${{ env.bashFail }} ${{ env.stepName }} ${{ env.bashEnd }}" - exit 1 - fi diff --git a/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/CMakeLists.txt b/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/CMakeLists.txt index bed290642..c35b86b79 100644 --- a/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/CMakeLists.txt +++ b/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/CMakeLists.txt @@ -50,19 +50,22 @@ INCLUDE(FetchContent) FetchContent_Declare( FreeRTOS-Kernel GIT_REPOSITORY https://github.com/FreeRTOS/FreeRTOS-Kernel.git - GIT_TAG main + # Last tested FreeRTOS-Kernel Commit + GIT_TAG e8289dfee6e00660b5ad028e9f931ffb76c95840 SOURCE_DIR "${DEMO_DIR}/../../Source" USES_TERMINAL_DOWNLOAD YES USES_TERMINAL_UPDATE YES - BUILD_COMMAND "") + BUILD_COMMAND "" +) -FetchContent_GetProperties(FreeRTOS-Kernel) -if(NOT FreeRTOS-Kernel_POPULATED) - FetchContent_Populate(FreeRTOS-Kernel) -endif() +# Uncomment the following lines to use Fetch-Content to clone Kernel. +# FetchContent_GetProperties(FreeRTOS-Kernel) +# if(NOT FreeRTOS-Kernel_POPULATED) +# FetchContent_Populate(FreeRTOS-Kernel) +# endif() # Get the absolute path to the FreeRTOS-Kernel Directory -SET(FREERTOS_KERNEL_DIR_REL "${freertos-kernel_SOURCE_DIR}") +SET(FREERTOS_KERNEL_DIR_REL "${DEMO_DIR}/../../Source") GET_FILENAME_COMPONENT(FREERTOS_KERNEL_DIR ${FREERTOS_KERNEL_DIR_REL} ABSOLUTE) # Get the absolute path to the Port Directory diff --git a/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/include/FreeRTOSConfig.h b/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/include/FreeRTOSConfig.h index 01310bc3d..4d1fe2a16 100644 --- a/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/include/FreeRTOSConfig.h +++ b/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/include/FreeRTOSConfig.h @@ -97,6 +97,7 @@ extern void vMainSetupTimerInterrupt( void ); #define configUSE_CO_ROUTINES 0 #define configUSE_MUTEXES 1U #define configUSE_RECURSIVE_MUTEXES 1U + #define configUSE_EVENT_GROUPS 0U #define configCHECK_FOR_STACK_OVERFLOW 0 #define configUSE_QUEUE_SETS 1U #define configUSE_COUNTING_SEMAPHORES 1U diff --git a/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/include/demo_tasks.h b/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/include/demo_tasks.h index 21b23bf0b..ddc0a0b8e 100644 --- a/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/include/demo_tasks.h +++ b/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/include/demo_tasks.h @@ -100,8 +100,7 @@ #define demoIRQ_TASK_PRIORITY ( configTIMER_TASK_PRIORITY + 2UL ) /** @brief Priority at which the Notification Demo Task is created. */ -#define demoNOTIFICATION_TASK_PRIORITY \ - ( configTIMER_TASK_PRIORITY + 1UL ) | portPRIVILEGE_BIT +#define demoNOTIFICATION_TASK_PRIORITY ( configTIMER_TASK_PRIORITY + 1UL ) /* ------------------------------- Register Test Tasks ------------------------------- */ @@ -173,7 +172,6 @@ PRIVILEGED_FUNCTION void vIRQDemoHandler( void ); #define portRTI_INTFLAG_REG ( *( ( volatile uint32_t * ) 0xFFFFFC88UL ) ) #define portEND_OF_INTERRUPT_REG ( ( ( volatile uint32_t * ) configEOI_ADDRESS ) ) - /* Registers used by the Vectored Interrupt Manager */ typedef void ( *ISRFunction_t )( void ); #define portVIM_IRQ_INDEX ( *( ( volatile uint32_t * ) 0xFFFFFE00 ) ) diff --git a/FreeRTOS/Demo/CORTEX_MPU_R5F_TI_RM57_HERCULES_GCC/CMakeLists.txt b/FreeRTOS/Demo/CORTEX_MPU_R5F_TI_RM57_HERCULES_GCC/CMakeLists.txt index 5e216c6af..2b34de673 100644 --- a/FreeRTOS/Demo/CORTEX_MPU_R5F_TI_RM57_HERCULES_GCC/CMakeLists.txt +++ b/FreeRTOS/Demo/CORTEX_MPU_R5F_TI_RM57_HERCULES_GCC/CMakeLists.txt @@ -50,19 +50,23 @@ INCLUDE(FetchContent) FetchContent_Declare( FreeRTOS-Kernel GIT_REPOSITORY https://github.com/FreeRTOS/FreeRTOS-Kernel.git - GIT_TAG main + # Last tested FreeRTOS-Kernel Commit + GIT_TAG e8289dfee6e00660b5ad028e9f931ffb76c95840 SOURCE_DIR "${DEMO_DIR}/../../Source" USES_TERMINAL_DOWNLOAD YES USES_TERMINAL_UPDATE YES - BUILD_COMMAND "") + BUILD_COMMAND "" +) + +# Uncomment the following lines to use Fetch-Content to clone Kernel. +# FetchContent_GetProperties(FreeRTOS-Kernel) +# if(NOT FreeRTOS-Kernel_POPULATED) +# FetchContent_Populate(FreeRTOS-Kernel) +# endif() -FetchContent_GetProperties(FreeRTOS-Kernel) -if(NOT FreeRTOS-Kernel_POPULATED) - FetchContent_Populate(FreeRTOS-Kernel) -endif() # Get the absolute path to the FreeRTOS-Kernel Directory -SET(FREERTOS_KERNEL_DIR_REL "${freertos-kernel_SOURCE_DIR}") +SET(FREERTOS_KERNEL_DIR_REL "${DEMO_DIR}/../../Source") GET_FILENAME_COMPONENT(FREERTOS_KERNEL_DIR ${FREERTOS_KERNEL_DIR_REL} ABSOLUTE) # Get the absolute path to the Port Directory diff --git a/FreeRTOS/Demo/CORTEX_MPU_R5F_TI_RM57_HERCULES_GCC/include/FreeRTOSConfig.h b/FreeRTOS/Demo/CORTEX_MPU_R5F_TI_RM57_HERCULES_GCC/include/FreeRTOSConfig.h index e1ad873bd..b57382ff8 100644 --- a/FreeRTOS/Demo/CORTEX_MPU_R5F_TI_RM57_HERCULES_GCC/include/FreeRTOSConfig.h +++ b/FreeRTOS/Demo/CORTEX_MPU_R5F_TI_RM57_HERCULES_GCC/include/FreeRTOSConfig.h @@ -97,6 +97,7 @@ extern void vMainSetupTimerInterrupt( void ); #define configUSE_CO_ROUTINES 0 #define configUSE_MUTEXES 1U #define configUSE_RECURSIVE_MUTEXES 1U + #define configUSE_EVENT_GROUPS 0U #define configCHECK_FOR_STACK_OVERFLOW 0 #define configUSE_QUEUE_SETS 1U #define configUSE_COUNTING_SEMAPHORES 1U diff --git a/FreeRTOS/Demo/CORTEX_MPU_R5F_TI_RM57_HERCULES_GCC/include/demo_tasks.h b/FreeRTOS/Demo/CORTEX_MPU_R5F_TI_RM57_HERCULES_GCC/include/demo_tasks.h index 0f9713335..c6c430642 100644 --- a/FreeRTOS/Demo/CORTEX_MPU_R5F_TI_RM57_HERCULES_GCC/include/demo_tasks.h +++ b/FreeRTOS/Demo/CORTEX_MPU_R5F_TI_RM57_HERCULES_GCC/include/demo_tasks.h @@ -100,8 +100,7 @@ #define demoIRQ_TASK_PRIORITY ( configTIMER_TASK_PRIORITY + 2UL ) /** @brief Priority at which the Notification Demo Task is created. */ -#define demoNOTIFICATION_TASK_PRIORITY \ - ( configTIMER_TASK_PRIORITY + 1UL ) | portPRIVILEGE_BIT +#define demoNOTIFICATION_TASK_PRIORITY ( configTIMER_TASK_PRIORITY + 1UL ) /* ------------------------------- Register Test Tasks ------------------------------- */ diff --git a/FreeRTOS/Source b/FreeRTOS/Source index 625b24a10..e8289dfee 160000 --- a/FreeRTOS/Source +++ b/FreeRTOS/Source @@ -1 +1 @@ -Subproject commit 625b24a104dd901d86759668b6b272590d154308 +Subproject commit e8289dfee6e00660b5ad028e9f931ffb76c95840 diff --git a/manifest.yml b/manifest.yml index 189ec037b..a5ce55e8f 100644 --- a/manifest.yml +++ b/manifest.yml @@ -5,7 +5,7 @@ license: "MIT" dependencies: - name: "FreeRTOS-Kernel" - version: "625b24a10" + version: "e8289dfee" repository: type: "git" url: "https://github.com/FreeRTOS/FreeRTOS-Kernel.git"