使用cubemx移植rtthread到STM32F207ZGTx

cubemx使用教程可参考以下链接:https://blog.csdn.net/ybhuangfugui/article/details/94363006

 

1.新建工程,选择目标板 STM32F207ZGTx ,下图是已经选择好的截图,如果没有选择的话,MCUs/MPUs会有许多选项,选择自己板子的型号即可:

使用cubemx移植rtthread到STM32F207ZGTx

 

 

2.配置SYS,Debug选串口总线,时钟源选TIM1, SysTick 要留给 rtthread 使用:

使用cubemx移植rtthread到STM32F207ZGTx

 

 

3.配置RCC,选晶振:

使用cubemx移植rtthread到STM32F207ZGTx

 

 

4.设置时钟频率,直接选最大时钟频率:

使用cubemx移植rtthread到STM32F207ZGTx

 

 

5.配置中断,由于使用了rtthread,所以有三个中断被重定义了,在这里去掉这三个中断,这一点官方教程也有提到:

使用cubemx移植rtthread到STM32F207ZGTx

 

 

6.我希望移植后的操作系统可以通过串口打印一些东西,所以配置了一个串口,串口的复用方法,见下图右侧:

使用cubemx移植rtthread到STM32F207ZGTx

 

  

7.添加rtthread的包:

使用cubemx移植rtthread到STM32F207ZGTx

 

 

8.rtthread配置如下图所示:

使用cubemx移植rtthread到STM32F207ZGTx

 

 

 

9.填写工程名和工程路径,工具链选择MDK-ARM,然后产生代码:

使用cubemx移植rtthread到STM32F207ZGTx

 

 

10由于rtthread中的using user main设置了Enabled,所以系统启动时会进入rtthread自定义的main函数,如果不想这么做需要将其设为Disabled,但这么设置会引发问题1(rtthread移植避坑手册会提到)。另一种方法就是注释掉所有关于进入rtthread自定义main函数的代码,

把 #ifdef RT_USING_USER_MAIN 之后的全部代码都注释掉,重写rtthread初始化代码,创建一个任务,相关代码见gitiee。

上一篇:Android SingleTask启动模式与Home键的问题


下一篇:STM32学习笔记(CubeMX配HAL)(第四天:定时器)