mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-12-11 14:15:12 -05:00
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:
parent
076430b2ab
commit
4592acca4c
9 changed files with 53 additions and 97 deletions
102
.github/workflows/freertos_mpu_demo.yml
vendored
102
.github/workflows/freertos_mpu_demo.yml
vendored
|
|
@ -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
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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 ) )
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue