stm32f429上移植ucosiii

  1. 建立文件夹:选择一个裸机工程,在user文件夹下建立如下文件夹,APP文件夹,表示系统应用层文件夹,BSP文件夹表示板级支持包文件夹,uc-cpu文件夹表示和cpu有关文件,uc-lib表示系统的库文件,ucos-iii表示ucos的源码文件夹,如图1。

stm32f429上移植ucosiii_第1张图片

图1 移植文件夹建立

  1. 文件拷贝,

将部分文件拷贝到APP文件夹下,打开下载好的官方移植文件夹并进入到文件夹Micrium_STM32F429II-SK_OS3\Micrium\Examples\ST\STM32F429II-SK\OS3,然后将图中所框选的文件拷贝到APP文件夹下,如图2;

stm32f429上移植ucosiii_第2张图片

图2 APP文件拷贝

将部分文件拷贝到BSP文件夹下,打开下载好的官方移植文件夹并进入到文件夹Micrium_STM32F429II-SK_OS3\Micrium\Examples\ST\STM32F429II-SK\BSP,然后将图中所框选的文件拷贝到BSP文件夹下,如图3;

 

stm32f429上移植ucosiii_第3张图片

图3 BSP文件拷贝

将部分文件拷贝到uc-cpu文件夹下,打开下载好的官方移植文件夹并进入到文件夹Micrium_STM32F429II-SK_OS3\Micrium\Software\uC-CPU,然后将图中所框选的文件拷贝到uc-cpu文件夹下,如图4;

stm32f429上移植ucosiii_第4张图片

图4 uc-cpu文件拷贝

将部分文件拷贝到uc-lib文件夹下,打开下载好的官方移植文件夹并进入到文件夹Micrium_STM32F429II-SK_OS3\Micrium\Software\uC-LIB,然后将图中所框选的文件拷贝到uc-lib文件夹下,如图5;

stm32f429上移植ucosiii_第5张图片

图5 uc-lib文件拷贝

将部分文件拷贝到ucos-iii文件夹下,打开下载好的官方移植文件夹并进入到文件夹Micrium_STM32F429II-SK_OS3\Micrium\Software\ucos-iii,然后将图中所框选的文件拷贝到ucos-iii文件夹下,如图6;

stm32f429上移植ucosiii_第6张图片

图5 ucos-iii文件拷贝

删除main.c文件。

  1. 打开工程,先移除废弃文件,然后点击工具栏中的工程结构(三个方片),建立相应的文件夹工程结构,添加如下的五个文件夹(APP,BSP,UC-CPU,UC-BSP,UCOS-III)如图6所示。

stm32f429上移植ucosiii_第7张图片

图6 建立文件结构

接着向对应文件下添加对应的工程文件,在APP文件夹下添加对应于User\APP文件夹下的所有.c文件,如图7所示。

stm32f429上移植ucosiii_第8张图片

图7 添加APP文件结构

在BSP文件夹下添加对应于User\BSP文件夹下的所有.c文件、User\BSP\Key文件夹下所有.c文件,User\BSP\Led文件夹下所有.c文件,User\BSP\usart文件夹下所有.c文件,如图8所示。

stm32f429上移植ucosiii_第9张图片

图8 添加BSP文件结构

在uc-cpu文件夹下添加对应文件,添加User\uC-CPU文件夹下所有.c文件、添加User\uC-CPU\ARM-Cortex-M4\RealView文件夹下所有的.c和.asm文件,如图9所示。

stm32f429上移植ucosiii_第10张图片

图9 添加uc-cpu文件结构

在uc-lib文件夹下添加对应文件,添加User\uC-LIB文件夹下所有.c文件、添加User\uC-LIB\Ports\ARM-Cortex-M4\RealView文件夹下所有的.c和.asm文件,如图10所示。

stm32f429上移植ucosiii_第11张图片

图10 添加uc-lib文件结构

在ucos-iii文件夹下添加对应文件,添加User\uCOS-III\Source文件夹下所有.c文件、添加User\uCOS-III\Ports\ARM-Cortex-M4\Generic\RealView文件夹下所有的.c和.asm文件,如图11所示。

stm32f429上移植ucosiii_第12张图片

图11 添加ucos-iii文件结构

添加完成后点击OK。

  1. 把对应的文件夹头文件路径加入到工程,点击工具栏中的编译属性菜单(魔术棒),然后选择C/C++那一栏,在include paths中添加对应的头文件目录,如图12所示。

stm32f429上移植ucosiii_第13张图片

图12 添加头文件目录

添加完毕后点击OK。

  1. 修改startup_stm32f429_439xx.s文件,在启动文件中修改PendSV_Handler和SysTick_Handler分布改为OS_CPU_PendSV_Handler和OS_CPU_SysTickHandler。如图13所示。

stm32f429上移植ucosiii_第14张图片

stm32f429上移植ucosiii_第15张图片

图12 修改PendSV_Handler与SysTick_Handler

在跳入main后增加一段浮点运行函数,如图13所示。

stm32f429上移植ucosiii_第16张图片

图13 增加浮点运算处理

  1. 修改bsp.h和bsp.c文件,先修改bsp.h文件,头文件修改,增加板级支持包中的头文件,并且保留三个函数的声明,其他可删除,如图14所示。

stm32f429上移植ucosiii_第17张图片

stm32f429上移植ucosiii_第18张图片

图14 bsp.h文件修改

再修改bsp.c文件,删掉ucos-iii自带的STM32板载驱动的宏定义,删掉uc-iii自带的STM32板载驱动函数,清空板载初始化函数的全部定义体,改用裸机驱动函数,删掉其他无关代码,如图15所示。

stm32f429上移植ucosiii_第19张图片

图15 修改bsp.c文件

7,修改app.c文件,主要是增加自己的任务等。

 

你可能感兴趣的:(stm32)