Update Cortex R4F and Cortex R5F MPU Demos (#1200)

* Set configUSE_EVENT_GROUPS to 0 in the CORTEX_MPU_R4/5F Demos.
* Update the FreeRTOS-Kernel submodule to use the latest FreeRTOS-Kernel.
This commit is contained in:
Soren Ptak 2024-03-28 12:37:03 -07:00 committed by GitHub
parent 076430b2ab
commit 4592acca4c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 53 additions and 97 deletions

View file

@ -11,8 +11,8 @@ env:
bashEnd: \033[0m bashEnd: \033[0m
jobs: jobs:
Cortex-R4: Cortex-Rx-MPU-Demos:
name: Texas Instruments RM46 name: TI-Hercules RM46 and RM57 MPU Demos
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- env: - env:
@ -20,7 +20,17 @@ jobs:
name: ${{ env.stepName }} name: ${{ env.stepName }}
uses: actions/checkout@v4.1.1 uses: actions/checkout@v4.1.1
with: 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: - env:
stepName: Install GNU ARM Toolchain stepName: Install GNU ARM Toolchain
@ -34,6 +44,18 @@ jobs:
echo -e "::endgroup::" echo -e "::endgroup::"
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}" 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: - env:
stepName: Build CORTEX R4 MPU Demo stepName: Build CORTEX R4 MPU Demo
name: ${{ env.stepName }} name: ${{ env.stepName }}
@ -42,78 +64,6 @@ jobs:
run: | run: |
# ${{ env.stepName }} # ${{ env.stepName }}
echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}" echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}"
set +e cmake -S . -B build && make -j -C build all
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
echo -e "::endgroup::" echo -e "::endgroup::"
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}" 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

View file

@ -50,19 +50,22 @@ INCLUDE(FetchContent)
FetchContent_Declare( FetchContent_Declare(
FreeRTOS-Kernel FreeRTOS-Kernel
GIT_REPOSITORY https://github.com/FreeRTOS/FreeRTOS-Kernel.git 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" SOURCE_DIR "${DEMO_DIR}/../../Source"
USES_TERMINAL_DOWNLOAD YES USES_TERMINAL_DOWNLOAD YES
USES_TERMINAL_UPDATE YES USES_TERMINAL_UPDATE YES
BUILD_COMMAND "") BUILD_COMMAND ""
)
FetchContent_GetProperties(FreeRTOS-Kernel) # Uncomment the following lines to use Fetch-Content to clone Kernel.
if(NOT FreeRTOS-Kernel_POPULATED) # FetchContent_GetProperties(FreeRTOS-Kernel)
FetchContent_Populate(FreeRTOS-Kernel) # if(NOT FreeRTOS-Kernel_POPULATED)
endif() # FetchContent_Populate(FreeRTOS-Kernel)
# endif()
# Get the absolute path to the FreeRTOS-Kernel Directory # 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_FILENAME_COMPONENT(FREERTOS_KERNEL_DIR ${FREERTOS_KERNEL_DIR_REL} ABSOLUTE)
# Get the absolute path to the Port Directory # Get the absolute path to the Port Directory

View file

@ -97,6 +97,7 @@ extern void vMainSetupTimerInterrupt( void );
#define configUSE_CO_ROUTINES 0 #define configUSE_CO_ROUTINES 0
#define configUSE_MUTEXES 1U #define configUSE_MUTEXES 1U
#define configUSE_RECURSIVE_MUTEXES 1U #define configUSE_RECURSIVE_MUTEXES 1U
#define configUSE_EVENT_GROUPS 0U
#define configCHECK_FOR_STACK_OVERFLOW 0 #define configCHECK_FOR_STACK_OVERFLOW 0
#define configUSE_QUEUE_SETS 1U #define configUSE_QUEUE_SETS 1U
#define configUSE_COUNTING_SEMAPHORES 1U #define configUSE_COUNTING_SEMAPHORES 1U

View file

@ -100,8 +100,7 @@
#define demoIRQ_TASK_PRIORITY ( configTIMER_TASK_PRIORITY + 2UL ) #define demoIRQ_TASK_PRIORITY ( configTIMER_TASK_PRIORITY + 2UL )
/** @brief Priority at which the Notification Demo Task is created. */ /** @brief Priority at which the Notification Demo Task is created. */
#define demoNOTIFICATION_TASK_PRIORITY \ #define demoNOTIFICATION_TASK_PRIORITY ( configTIMER_TASK_PRIORITY + 1UL )
( configTIMER_TASK_PRIORITY + 1UL ) | portPRIVILEGE_BIT
/* ------------------------------- Register Test Tasks ------------------------------- */ /* ------------------------------- Register Test Tasks ------------------------------- */
@ -173,7 +172,6 @@ PRIVILEGED_FUNCTION void vIRQDemoHandler( void );
#define portRTI_INTFLAG_REG ( *( ( volatile uint32_t * ) 0xFFFFFC88UL ) ) #define portRTI_INTFLAG_REG ( *( ( volatile uint32_t * ) 0xFFFFFC88UL ) )
#define portEND_OF_INTERRUPT_REG ( ( ( volatile uint32_t * ) configEOI_ADDRESS ) ) #define portEND_OF_INTERRUPT_REG ( ( ( volatile uint32_t * ) configEOI_ADDRESS ) )
/* Registers used by the Vectored Interrupt Manager */ /* Registers used by the Vectored Interrupt Manager */
typedef void ( *ISRFunction_t )( void ); typedef void ( *ISRFunction_t )( void );
#define portVIM_IRQ_INDEX ( *( ( volatile uint32_t * ) 0xFFFFFE00 ) ) #define portVIM_IRQ_INDEX ( *( ( volatile uint32_t * ) 0xFFFFFE00 ) )

View file

@ -50,19 +50,23 @@ INCLUDE(FetchContent)
FetchContent_Declare( FetchContent_Declare(
FreeRTOS-Kernel FreeRTOS-Kernel
GIT_REPOSITORY https://github.com/FreeRTOS/FreeRTOS-Kernel.git 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" SOURCE_DIR "${DEMO_DIR}/../../Source"
USES_TERMINAL_DOWNLOAD YES USES_TERMINAL_DOWNLOAD YES
USES_TERMINAL_UPDATE 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 # 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_FILENAME_COMPONENT(FREERTOS_KERNEL_DIR ${FREERTOS_KERNEL_DIR_REL} ABSOLUTE)
# Get the absolute path to the Port Directory # Get the absolute path to the Port Directory

View file

@ -97,6 +97,7 @@ extern void vMainSetupTimerInterrupt( void );
#define configUSE_CO_ROUTINES 0 #define configUSE_CO_ROUTINES 0
#define configUSE_MUTEXES 1U #define configUSE_MUTEXES 1U
#define configUSE_RECURSIVE_MUTEXES 1U #define configUSE_RECURSIVE_MUTEXES 1U
#define configUSE_EVENT_GROUPS 0U
#define configCHECK_FOR_STACK_OVERFLOW 0 #define configCHECK_FOR_STACK_OVERFLOW 0
#define configUSE_QUEUE_SETS 1U #define configUSE_QUEUE_SETS 1U
#define configUSE_COUNTING_SEMAPHORES 1U #define configUSE_COUNTING_SEMAPHORES 1U

View file

@ -100,8 +100,7 @@
#define demoIRQ_TASK_PRIORITY ( configTIMER_TASK_PRIORITY + 2UL ) #define demoIRQ_TASK_PRIORITY ( configTIMER_TASK_PRIORITY + 2UL )
/** @brief Priority at which the Notification Demo Task is created. */ /** @brief Priority at which the Notification Demo Task is created. */
#define demoNOTIFICATION_TASK_PRIORITY \ #define demoNOTIFICATION_TASK_PRIORITY ( configTIMER_TASK_PRIORITY + 1UL )
( configTIMER_TASK_PRIORITY + 1UL ) | portPRIVILEGE_BIT
/* ------------------------------- Register Test Tasks ------------------------------- */ /* ------------------------------- Register Test Tasks ------------------------------- */

@ -1 +1 @@
Subproject commit 625b24a104dd901d86759668b6b272590d154308 Subproject commit e8289dfee6e00660b5ad028e9f931ffb76c95840

View file

@ -5,7 +5,7 @@ license: "MIT"
dependencies: dependencies:
- name: "FreeRTOS-Kernel" - name: "FreeRTOS-Kernel"
version: "625b24a10" version: "e8289dfee"
repository: repository:
type: "git" type: "git"
url: "https://github.com/FreeRTOS/FreeRTOS-Kernel.git" url: "https://github.com/FreeRTOS/FreeRTOS-Kernel.git"