uC/OS-III移植----第一节(基于野火STM32F407ZGT6开发板)
一、源码获取
链接: uC/OS-III源码获取
获取到的文件目录如下:
二、工程准备
1、开发板准备
购买一块野火霸天虎开发板(狗头保命)
2、模板准备
链接: 百度网盘
提取码:9527
我们将基于此模板来进行移植,当然我们可以重新建立一个项目,作为懒人就算了。但是如果是其他开发板,只能重新建立一个项目。ST系列的话,也可以利用我们的好朋友(STM32CubeMX)。STM32CubeMX使用可参见《 使用STM32CubeMX初始化STM32F031F6Px系列》,触类旁通。
三、开始移植
准备好了前面的两个步骤,正式开始移植。
1、源码选择
新建文件夹APP
(应用文件)、uC-CPU
(源码)、uC-LIB
(源码)、uC-OS3
(源码),将led
文件夹更名为BSP
(板级支持包)
2、源码选择
首先,我们得了解我们所移植的平台STM32F407ZGT6
,主要关注内核参数就行。内核:ARM-Cortex-M 工作频率:168MHZ。参照下表(ARM系列):
所以本文中,我们应选择ARM-Cortex-M
和ARMv7-M
A、uC-CPU文件
(此下只要出现拷贝
二字,即将文件拷贝并放于\软件模板\User\uC-CPU
文件夹中)
打开源文件uC-CPU文件夹\uCOS-github\uC-CPU
,选择ARM-Cortex-M
再在本目录\uCOS-github\uC-CPU\ARM-Cortex-M
下选择ARMv7-M
在此目录\uCOS-github\uC-CPU\ARM-Cortex-M\ARMv7-M
下:
1、拷贝cpu_c.c
2、打开ARM
在此目录\uCOS-github\uC-CPU\ARM-Cortex-M\ARMv7-M\ARM
下:
1、拷贝cpu.h
、cpu_a.asm
回到目录\uCOS-github\uC-CPU
下:
1、拷贝cpu_core.c
、cpu_core.h
、cpu_def.h
完毕,新建的uC-CPU
文件如下:
B、uC-LIB文件
(此下只要出现拷贝
二字,即将文件拷贝并放于\软件模板\User\uC-LIB
文件夹中)
在源文件此目录\uCOS-github\uC-LIB
中:
1、拷贝:lib_ascii.c
、lib_ascii.h
、lib_def.h
、lib_math.c
、lib_math.h
、lib_mem.c
、lib_mem.h
、lib_str.c
、lib_str.h
(共9个文件)
完毕,uC-LIB
文件如下:
C、uC-OS3文件
在\软件模板\User\uC-OS3
中创建三个文件夹Cfg
、Ports
、Source
。
Cfg
在源文件\uCOS-github\uC-OS3
中打开Cfg
再在源文件目录\uCOS-github\uC-OS3\Cfg
中选择Template
在源文件目录\uCOS-github\uC-OS3\Cfg
中:
1、拷贝os_app_hooks.c
、os_app_hooks.h
、os_cfg.h
、os_cfg_app.h
(共4个文件)
拷贝至新建文件\软件模板\User\uC-OS3\Cfg
中
完毕,新建文件\软件模板\User\uC-OS3\Cfg
如下:
Ports
(此下只要出现拷贝
二字,即将文件拷贝并放于\软件模板\User\uC-OS3\Ports
文件夹中)
在\uCOS-github\uC-OS3
中打开Ports
文件夹,(图略),在目录\uCOS-github\uC-OS3\Ports
下打开ARM-Cortex-M
在目录\uCOS-github\uC-OS3\Ports\ARM-Cortex-M
下选择ARMv7-M
在目录\uCOS-github\uC-OS3\Ports\ARM-Cortex-M\ARMv7-M
中:
1、拷贝os_cpu_c.c
2、打开ARM
在目录\uCOS-github\uC-OS3\Ports\ARM-Cortex-M\ARMv7-M
中:
1、拷贝os_cpu.h
、os_cpu_a.asm
完毕,新建文件\软件模板\User\uC-OS3\Ports
如下:
Source
在源文件\uCOS-github\uC-OS3
中打开Source
:
拷贝除__dbg_uCOS-III.c
的所有文件至新建文件\软件模板\User\uC-OS3\Source
中
完毕,新建文件\软件模板\User\uC-OS3\Source
如下:
(共19个文件)
D、BSP文件
在源文件\uCOS-github\uC-CPU\BSP\Template
中选择bsp_cpu.c
,拷贝至新建文件\软件模板\User\BSP
中,文件夹内容如下:
E、APP文件
1、将源文件\uCOS-github\uC-CPU\Cfg\Template
中的文件cpu_cfg.h
2、将源文件\uCOS-github\uC-LIB\Cfg\Template
中的文件lib_cfg.h
两个文件拷贝至新建文件\软件模板\User\APP
如下:
3、完善文件
在新建文件\软件模板\User\APP
中创建app.c
、app_cfg.h
、includes.h
三个文件
如下:
4、配置Keil
打开\软件模板\Project\RVMDK(uv5)
中的.uvprojx
后缀文件,即打开项目。
鼠标右击多彩流水灯
,然后点击Manage Project Items...
,打开如下界面,点击箭头所示,编辑项目内文件夹。
将文件加入项目,注意此处选择 All files
工程文件夹结构如下,供参考。
其中 STARTUP
、CMSIS
和STM32F4xx_StdPeriph_Driver
结构未发生变化,故未截出。