stm32f429上移植ucosiii

  1. 建立文件夾:選擇一個裸機工程,在user文件夾下建立如下文件夾,APP文件夾,表示系統應用層文件夾,BSP文件夾表示板級支持包文件夾,uc-cpu文件夾表示和cpu有關文件,uc-lib表示系統的庫文件,ucos-iii表示ucos的源碼文件夾,如圖1。

圖1 移植文件夾建立

  1. 文件拷貝,

將部分文件拷貝到APP文件夾下,打開下載好的官方移植文件夾並進入到文件夾Micrium_STM32F429II-SK_OS3\Micrium\Examples\ST\STM32F429II-SK\OS3,然後將圖中所框選的文件拷貝到APP文件夾下,如圖2;

圖2 APP文件拷貝

將部分文件拷貝到BSP文件夾下,打開下載好的官方移植文件夾並進入到文件夾Micrium_STM32F429II-SK_OS3\Micrium\Examples\ST\STM32F429II-SK\BSP,然後將圖中所框選的文件拷貝到BSP文件夾下,如圖3;

 

圖3 BSP文件拷貝

將部分文件拷貝到uc-cpu文件夾下,打開下載好的官方移植文件夾並進入到文件夾Micrium_STM32F429II-SK_OS3\Micrium\Software\uC-CPU,然後將圖中所框選的文件拷貝到uc-cpu文件夾下,如圖4;

圖4 uc-cpu文件拷貝

將部分文件拷貝到uc-lib文件夾下,打開下載好的官方移植文件夾並進入到文件夾Micrium_STM32F429II-SK_OS3\Micrium\Software\uC-LIB,然後將圖中所框選的文件拷貝到uc-lib文件夾下,如圖5;

圖5 uc-lib文件拷貝

將部分文件拷貝到ucos-iii文件夾下,打開下載好的官方移植文件夾並進入到文件夾Micrium_STM32F429II-SK_OS3\Micrium\Software\ucos-iii,然後將圖中所框選的文件拷貝到ucos-iii文件夾下,如圖6;

圖5 ucos-iii文件拷貝

刪除main.c文件。

  1. 打開工程,先移除廢棄文件,然後點擊工具欄中的工程結構(三個方片),建立相應的文件夾工程結構,添加如下的五個文件夾(APP,BSP,UC-CPU,UC-BSP,UCOS-III)如圖6所示。

圖6 建立文件結構

接着向對應文件下添加對應的工程文件,在APP文件夾下添加對應於User\APP文件夾下的所有.c文件,如圖7所示。

圖7 添加APP文件結構

在BSP文件夾下添加對應於User\BSP文件夾下的所有.c文件、User\BSP\Key文件夾下所有.c文件,User\BSP\Led文件夾下所有.c文件,User\BSP\usart文件夾下所有.c文件,如圖8所示。

圖8 添加BSP文件結構

在uc-cpu文件夾下添加對應文件,添加User\uC-CPU文件夾下所有.c文件、添加User\uC-CPU\ARM-Cortex-M4\RealView文件夾下所有的.c和.asm文件,如圖9所示。

圖9 添加uc-cpu文件結構

在uc-lib文件夾下添加對應文件,添加User\uC-LIB文件夾下所有.c文件、添加User\uC-LIB\Ports\ARM-Cortex-M4\RealView文件夾下所有的.c和.asm文件,如圖10所示。

圖10 添加uc-lib文件結構

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

圖11 添加ucos-iii文件結構

添加完成後點擊OK。

  1. 把對應的文件夾頭文件路徑加入到工程,點擊工具欄中的編譯屬性菜單(魔術棒),然後選擇C/C++那一欄,在include paths中添加對應的頭文件目錄,如圖12所示。

圖12 添加頭文件目錄

添加完畢後點擊OK。

  1. 修改startup_stm32f429_439xx.s文件,在啓動文件中修改PendSV_Handler和SysTick_Handler分佈改爲OS_CPU_PendSV_Handler和OS_CPU_SysTickHandler。如圖13所示。

圖12 修改PendSV_Handler與SysTick_Handler

在跳入main後增加一段浮點運行函數,如圖13所示。

圖13 增加浮點運算處理

  1. 修改bsp.h和bsp.c文件,先修改bsp.h文件,頭文件修改,增加板級支持包中的頭文件,並且保留三個函數的聲明,其他可刪除,如圖14所示。

圖14 bsp.h文件修改

再修改bsp.c文件,刪掉ucos-iii自帶的STM32板載驅動的宏定義,刪掉uc-iii自帶的STM32板載驅動函數,清空板載初始化函數的全部定義體,改用裸機驅動函數,刪掉其他無關代碼,如圖15所示。

圖15 修改bsp.c文件

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章