stm32 使用CubeIDE 移植RTX5

 STM32 使用st的官方开发环境 cubeide (eclipse gcc)移植 cmsis rtos2 RTX5 实时操作系统

这套环境的主要优势是免费。cubeide免费使用。RTX5 免商业版税(已从原keil中剥离出来,现在完全开源免费)。

一,环境

  • 芯片:stm32f401rct6
  • 内核:cortex m4f
  • 指令集:armv7m
  • 编译:gcc
  • ide:CubeIDE(eclipse)
  • CMSIS版本:5.9.0
  • RTOS2/RTX5  V2.1.3
  • HAL库开发
  • cubeMX配置生成

二,简明步骤

1,cubemx配置,注意点sys时钟选除sysclock外其他时钟源,例如TIM11,因为sysclock时钟源给rtos用了 ,同时HAL库需要使用到sys时钟,因此只能另外指定时钟源。stm32 使用CubeIDE 移植RTX5_第1张图片

 2,拷贝CMSIS中 RTOS2 到工程目录

 stm32 使用CubeIDE 移植RTX5_第2张图片

3,添加RTE_Components.h文件,此文件可以自己写,或从其他keil MDK生成的工程中直接复制过来,注意 文件中的device header 要匹配对应芯片头文件

stm32 使用CubeIDE 移植RTX5_第3张图片stm32 使用CubeIDE 移植RTX5_第4张图片

4, 进入CUBEIDE 工程中,右键工程 ,点击Refresh后可以看到新添加进的文件。再同样右键,并点击Properties 

 stm32 使用CubeIDE 移植RTX5_第5张图片

5,在C/C++ General中Paths and Sysmbols中添加引用与宏定义 

stm32 使用CubeIDE 移植RTX5_第6张图片 在includes, GNU C添加图中路径 stm32 使用CubeIDE 移植RTX5_第7张图片 在includes, Assembly中添加图中路径 stm32 使用CubeIDE 移植RTX5_第8张图片 在Sysmbols, GNU C添加图中宏

stm32 使用CubeIDE 移植RTX5_第9张图片 在Sysmbols, Assembly添加图中宏

 6,在C/C++ General中Source Location中添加RTOS2路径下全部程序源文件 

stm32 使用CubeIDE 移植RTX5_第10张图片 添加RTOS2路径

 7,在C/C++ General中Source Location中排除RTOS2路径下不需要的程序源文件 

注意RTX/Source/GCC下保留对应自己芯片内核的.S文件,即排除不是自己内核的.S文件 (stm32f401对应保留的内核指令集文件是irq_armv7m.S)

另外,也可以直接从磁盘删掉这些需要排除的文件,就可以省掉这步了。

stm32 使用CubeIDE 移植RTX5_第11张图片 双击RTOS2路径,添加要排除的路径与文件

8,以上操作完成后检查下RTOS2目录,排除的文件或目录会划斜杠

 stm32 使用CubeIDE 移植RTX5_第12张图片

9,在stm32f4xx_it.c注释或删除图中三个函数SVC_Handler、PendSV_Handler、SysTick_Handler,否则编译时会报重定义错误,因为这三个函数被RTOS接管了

stm32 使用CubeIDE 移植RTX5_第13张图片

10,最后在main.h中添加cmsis_os2.h并BUILD工程,完成移植

 stm32 使用CubeIDE 移植RTX5_第14张图片

 三,参考

1,GD32F30X适配CMSIS RTOS2(RTX5内核)

2,【GD32F427开发板试用】在IAR环境中移植RTX5   [推荐]

3,STM32F407+CubeMX+Keil上移植RTX5实时系统

你可能感兴趣的:(stm32,嵌入式硬件,单片机,RTX5,cubeide,eclipse,cmsis,rtos2)