学习uCOS-III也有段时间了,自己也移植了两遍,为了方便自己查阅,今天将移植的整个过程形成文章。
第一步:移植前的准备
移植工作之前需要准备的东西如下:
uCOS-III源代码版本:3.03.01
Keil uVision5软件版本:V5.14
使用学习板处理器:STM32F103ZET
首先需要准备Keil5工程模板,这里使用的是V3.5的标准外设库,因为工作后就没怎么使用过STM32,所以最新的开发环境STM32CubeMX及HAL库均不知为何物;Keil5工程模板参照安富莱的工程模板,因为硬汉做的工程实在是太工整了。 uCOS-III的源代码可以从Micrium官网上下载,下面是基于STM32F107评估板的内核源代码工程结构:
下载到的不是单独的内核源码,uCOS-III的开发人员已经将不同版本的源码移植到了不同处理器的评估板上,这样我们移植起来非常方便,增加开发效率。红色三角标注的为后续移植所使用的文件。
第二步:向Keil5工程模板中添加内核源码文件
将操作系统源码文件放在工程模板下,并添加到Keil5工程中,如下图所示
注意:8个配置文件放在了User文件夹下。
将操作系统源码文件添加到工程后,设置好对应的头文件路径,保证编译无错误。bsp.c文件中有任务率测量初始化函数CPU_TS_TmrInit (void)和任务率测量函数 CPU_TS_TmrRd (void),需要将这两个函数移走,使板级支持包和操作系统内核源码分离开,方便以后统一将写的板级支持包文件放在BSP文件夹下,方便管理。参照官方给出的STM32F4的工程模板,将这两个函数放在了cpu_bsp.c文件中。此时还差一个主函数,main函数如下
/*
******************************************************************************