0. 准备工作:uCOSII源码、STM32基础工程模板(自己常用的即可)。
1. 准备 uCOSII源码 可以去这里下载,同时在文末也会上传一个已下载好的供大家使用。
http://micrium.com/downloadcenter/download-results/?searchterm=mp-uc-os-ii&supported=true
2. 在原有的工程上添加UCOSII目录。
3. 在UCOSII目录下同时新建 CONFIG、CORE、PORT三个文件夹。
4. 向CORE文件夹添加文件,从UCOSII源码文件下的UCOS II源码Source里复制相关文件除了os_cfg_r.h与os_dbg_r.c两个文件,其余文件都要复制到CORE文件下。
5. 向CONFIG文件夹添加文件,需要先从UCOSII移植好的工程中添加include.h和os_cfg.h两个文件,其中include.h是一些头文件,os_cfg.h是对UCOSII进行裁剪的文件。
6. 向PORT文件夹添加文件,需要先从UCOSII移植好的工程PORT文件夹中添加os_cpu.h、os_cpu_a.asm、os_cpu_c.c、os_dbg.c、os_dbg_r.c五个文件。
7. 在keil工程中添加对应的UCOSII分组,同时加入UCOSII-CORE、UCOSII-CONFIG、UCOSII-PORT
8. 向UCOSII-CORE分组下添加除了ucos_ii.c文件外的所有.c文件。
9. 向UCOSII-CONFIG分组下添加include.h和os_cfg.h两个文件。
10. 向UCOSII-PORT分组下添加os_cpu_c.c、os_cpu_c.h、os_cpu_a.asm、文件。
11. 最后需要添加对应的头文件
12. 第一尝试编译整个工程,发现了很多错误,提示不能打开app_cfg.h文件。
13. 暂时将ucos_ii.h头文件引用的app_cfg.h文件暂时给屏蔽(即双斜杠注释掉),因为这个文件暂时还没有实现。
14. 再次编译发现PendSV_Handler中断函数被多次定义。
15. 我们将stm32f10x_it.h文件中的PendSV_Handler函数给屏蔽掉或者直接删除。
16. 再次编译,没有错误和警告提示,至此,我们就顺利的完了uCOSII在STM32上的移植。