- 建立文件夾:選擇一個裸機工程,在user文件夾下建立如下文件夾,APP文件夾,表示系統應用層文件夾,BSP文件夾表示板級支持包文件夾,uc-cpu文件夾表示和cpu有關文件,uc-lib表示系統的庫文件,ucos-iii表示ucos的源碼文件夾,如圖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文件。
- 打開工程,先移除廢棄文件,然後點擊工具欄中的工程結構(三個方片),建立相應的文件夾工程結構,添加如下的五個文件夾(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。
- 把對應的文件夾頭文件路徑加入到工程,點擊工具欄中的編譯屬性菜單(魔術棒),然後選擇C/C++那一欄,在include paths中添加對應的頭文件目錄,如圖12所示。
圖12 添加頭文件目錄
添加完畢後點擊OK。
- 修改startup_stm32f429_439xx.s文件,在啓動文件中修改PendSV_Handler和SysTick_Handler分佈改爲OS_CPU_PendSV_Handler和OS_CPU_SysTickHandler。如圖13所示。
圖12 修改PendSV_Handler與SysTick_Handler
在跳入main後增加一段浮點運行函數,如圖13所示。
圖13 增加浮點運算處理
- 修改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文件,主要是增加自己的任務等。