基于STM32的FreeRTOS移植

本文讲诉基于STM32F103ZE芯片进行FreeRTOS实时操作系统的移植,分为工作准备、移植、验证

IDE:MDK

OS:FreeRTOSv10.1.1

基于STM32的FreeRTOS移植

OS从FreeRTOS官网下载,我这里的版本是最新的v10.1.1

基于STM32的FreeRTOS移植 

在基础工程上新建一个FreeRTOS文件夹,用于存放OS相关的源码,新工程的新建,上一篇有写到

基于STM32的FreeRTOS移植

然后就可以在工程中开始添加需要的.c文件了

基于STM32的FreeRTOS移植

添加之后,编译,然后发现有以下错误

基于STM32的FreeRTOS移植

这个错误是因为我们少了一个很重要的OS配置的头文件,可以在下载的FreeRTOS的压缩包里面的Demo里面找一份,然后copy到任意目录,我这边是copy到application目录,因为需要一些改动

基于STM32的FreeRTOS移植

基于STM32的FreeRTOS移植

然后编译,通过,0错误,0警告

基于STM32的FreeRTOS移植

到此OS的移植工作就结束了,是不是很简单?但是,在实际开发中会遇到很多错误,比如创建task时,不能正常运行,这时候需要修改启动函数,如下图:

基于STM32的FreeRTOS移植

修改启动文件之后,就可以使用多任务编程了,因为技术有限,所以有什么不对的地方希望各位指正,谢谢,欢迎留言探讨。