- ⏩ 大家好哇!我是小光,嵌入式爱好者,一个想要成为系统架构师的大二学生。
- ⏩最近开始学习UCOS操作系统,后面会更新一些关于UCOS学习笔记。
- ⏩今天学习了如何将UCOS-II和UCOS-III移植到STM32F103的板子上,这里总结一下移植过程和遇到的问题。
- ⏩感谢你的阅读,不对的地方欢迎指正。
UCOS源码下载地址: http://micrium.com
UCOS-II移植
1.在工程目录下创建UCOSII文件夹和三个文件
2.三个文件分别包含:
CONFIG包含(可以在已有的历程中拷贝):
CORE包含(可以在官网下载工程源码,其中的CORE直接拷贝):
PORT包含(可以直接在已有的历程中拷贝):
3.KEIL工程中添加文件:
首先创建文件夹:
然后添加文件:
注意:PORT文件夹最容易添加错误,其中包含.c .h .asm三种文件。
最后添加头文件上一级目录:
编译出错问题解决:
1.如果出现以下问题,无法打开"app_cfg.h"这个头文件
解决方法:
在ucosii.h中注释掉,并加入"includes.h"头文件的申明
2.如果报错下面这两个函数已经被申明:
解决方法:在stm32f10x_it.c中注释掉这两个中断函数的申明:
3.我当时是因为PORT文件夹中的文件添加错了,所以一直报一个错,那个错我也忘了,也提醒大家一下,添加文件时一定不要添加错了。
UCOS-III移植
UCOS-III因为其功能更加复杂,更强大,所以移植过程中更加麻烦。
因为现在UCOS-III已经有多个版本,我们这里用的是UCOSIII 3.03
1.创建UCOSIII文件夹,添加文件,其中:
uC-CPU、uC-LIB、uCOS-III在UCOSIII官方源码包里有;
uCOS-BSP、uCOS-CONFIG我们自己创建和添加文件;
在官方源码包里找到BSP文件夹将其移植到我们的uCOS-BSP中。
在官方源码包中的UCOSIII文件夹中找以下文件移植到我们的uCOS-CONFIG文件夹。
2.KEIL工程中添加文件:
添加文件夹:
添加文件:
添加头文件目录:
编译出错问题解决:
1.添加文件不能出错,建议如果报错实在找不出问题检查一下添加的文件是否和上面的一样。
2.无法打开文件"stm32f10x_lib.h"文件
做下面的更改就可以了
3.如果报错下面这两个函数已经被申明:
解决方法:在stm32f10x_it.c中注释掉这两个中断函数的申明:
根据上述步骤,如果添加之后编译没有出错的话就说明我们已经成功一半啦!
4.如果报了一大堆错:BSP_StatusInit()和BSP_Init()函数中的
就把里面两个函数的东西全部删除掉就OK了。
总结
今天学了UCOS系统如何移植到STM32F103上,也遇到了很多问题,不过通过别人的经验,我也顺利解决了这些问题,这种感觉很爽,后面会更新UCOS相关学习的笔记。