# Embedded-Platform_RTOS-SoftWare_RTX5 **Repository Path**: thesilentboat/embedded-platform_rtos-soft-ware_-rtx5 ## Basic Information - **Project Name**: Embedded-Platform_RTOS-SoftWare_RTX5 - **Description**: STM32 RTOS base on RTX5 ,project base on arm-none-eabi-gcc toolchain - **Primary Language**: C/C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-19 - **Last Updated**: 2025-01-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Embedd-RTOS-SoftWare_RTX5 #### 介绍 RTX5 RTOS 移植 #### 工具链 arm-none-eabi-gcc #### 移植说明 1. 克隆 CMSIS_5 仓库 ``` git clone https://github.com/ARM-software/CMSIS_5.git ``` 2. 将仓库中 RTOS2 加入由 STM32CubeMx 生成的工程中 /Derivers/CMSIS 文件夹下 ``` mv CMSIS_5/CMSIS/RTOS2 {workspace}/Derivers/CMSIS ``` 3. 注释 stm32f4xx_it.c/h 中的 `SVC_Handler()` 、 `PendSV_Handler()` 、 `SysTick_Handler()` 函数。 4. 在 Makefile 中增加 RTX5 源代码和头文件 ``` C_SOURCES = \ ... Core/Src/rtx5.c \ ... Drivers/CMSIS/RTOS2/Source/os_systick.c \ Drivers/CMSIS/RTOS2/RTX/Config/RTX_Config.c \ Drivers/CMSIS/RTOS2/RTX/Source/rtx_delay.c \ Drivers/CMSIS/RTOS2/RTX/Source/rtx_evflags.c \ Drivers/CMSIS/RTOS2/RTX/Source/rtx_evr.c \ Drivers/CMSIS/RTOS2/RTX/Source/rtx_kernel.c \ Drivers/CMSIS/RTOS2/RTX/Source/rtx_lib.c \ Drivers/CMSIS/RTOS2/RTX/Source/rtx_memory.c \ Drivers/CMSIS/RTOS2/RTX/Source/rtx_mempool.c \ Drivers/CMSIS/RTOS2/RTX/Source/rtx_msgqueue.c \ Drivers/CMSIS/RTOS2/RTX/Source/rtx_mutex.c \ Drivers/CMSIS/RTOS2/RTX/Source/rtx_semaphore.c \ Drivers/CMSIS/RTOS2/RTX/Source/rtx_system.c \ Drivers/CMSIS/RTOS2/RTX/Source/rtx_thread.c \ Drivers/CMSIS/RTOS2/RTX/Source/rtx_timer.c ``` ``` C_INCLUDES = \ ··· -IDrivers/CMSIS/RTOS2/Include \ -IDrivers/CMSIS/RTOS2/RTX/Include \ -IDrivers/CMSIS/RTOS2/RTX/Config ``` 5. Makefile 增加 RTX5 汇编代码(将大写 *.S 改成 *.s) ``` ASM_SOURCES = \ startup_stm32f429xx.s \ Drivers/CMSIS/RTOS2/RTX/Source/GCC/irq_armv7m.s ``` 6. 增添头文件 ` Drivers\CMSIS\RTOS2\RTX\Config\RTE_Components.h ` ``` #ifndef RTE_COMPONENTS_H #define RTE_COMPONENTS_H /* * Define the Device Header File: */ #define CMSIS_device_header "stm32f4xx.h" // #define RTE_CMSIS_RTOS2 /* CMSIS-RTOS2 */ // #define RTE_CMSIS_RTOS2_RTX5 // #define RTE_CMSIS_RTOS2_RTX5_SOURCE #endif /* RTE_COMPONENTS_H */ ```