stm32CubeMx+TrueSTUDIO+uc/os-III移植開發(二)


(三)復制相關文件

(1)繼上次的代碼生成后會顯示如下的圖

 

 

點擊第一個,打開文件夾如下

 

 

 (2)新建文件夾UCOSIII

 

 

 

在UCOSIII文件夾下,新建如下的文件夾

 

 

 (3)將uc/os源文件中 Micrium_STM3240G-EVAL_OS3\Micrium\Examples\ST\STM3240G-EVAL\OS3中文件復制到APP文件夾,共11個文件,該文件夾存放的是應用程序文件和配置文件,如圖

 

 

 

 

(4)Micrium_STM3240G-EVAL_OS3\Micrium\Examples\ST\STM3240G-EVAL\BSP的部分文件復制到BSP,這個文件是板載文件,存放的是板級支持包的文件夾。

 

 

 (5)將Micrium_STM3240G-EVAL_OS3\Micrium\Software\uC-CPU的全部文件復制到uC-CPU,依次將剩下的UC-LIB、uCOS-III、uC-Serial中的全部文件分別復制到相應文件夾,只放第一張圖,剩下圖片就不放了。存放的都是底層的庫文件。

 

 

 (6)復制完之后打開工程.project。

 

 

 打開后的文件列表如下

 

 

 (四)修改系統文件

(1)在菜單欄中點擊“項目”——“屬性”,找到下圖,這是用來添加包含文件的路徑。

 

 

 (2)點擊Add Folder添加UCOSIII文件夾

 

 

 (3)再切換到Include界面

 

 

 將路徑添加進去,分別是:

UCOSIII/APP

UCOSIII/BSP

UCOSIII/BSP/CMSIS

UCOSIII/BSP/OS/uCOS-III

UCOSIII/uC-CPU

UCOSIII/uC-CPU/ARM-Cortex-M4/GNU

UCOSIII/uC-LIB

UCOSIII/uC-LIB/Ports/ARM-Cortex-M4/GNU

UCOSIII/uCOS-III/Ports/ARM-Cortex-M4/Generic/GNU

UCOSIII/uCOS-III/Source

UCOSIII/uC-Serial/Driver/ST

UCOSIII/uC-Serial/Line

UCOSIII/uC-Serial/OS

UCOSIII/uC-Serial/OS/uCOS-III

UCOSIII/uC-Serial/Source

如圖所示,添加完之后,點擊“確定” “是”。

 

 

 (4)打開app.c文件,然后點擊左上角,新建app.c的頭文件,因為app.c文件為uc/os的main()函數文件,現在要將其改成一個API接口文件,將app.c文件中int main(void)改為int app(void),再在芯片的底層文件夾中的main.c里引用app()函數。具體操作如下:

 

 

 

點擊“完成”然后叉掉,打開app.h,編輯如下

 

 這樣就改好了app.c,再在main.c里包含app.h文件

 

最后將app()函數放在“/USER CODE BEGIN 2/”和“/USUR CODE END 2/”之間。注意:app()函數只建議放在該處,其他的應用開發函數都會放在app()函數里或者放在之前的類似“/USER CODE BEGIN 2/”和“/USUR CODE END 2/”的區域里,反正不能放在app()函數之后,因為代碼不會跳轉到app()函數后的代碼。

 

 (5)將三個文件夾里的IAR、RealView都右鍵刪掉,只留下GUN

 

 (6)打開startup.s文件,將startup.s的全部內容替換掉startup文件夾中的startup_stm32f407xx.s的全部內容,然后右鍵刪掉第一個startup.s,這是用uC/os源碼里的啟動文件里的代碼替換掉底層代碼生成的啟動文件代碼,但是不能直接用文件替換,得用復制粘貼內容,不然startup_stm32f407xx.s文件會再次生成。

 

 (7)最后在刪除這個system_stm32f4xx.c文件,解決時鍾沖突的問題。

 

點擊小錘子編譯,就沒問題了。

 

 本篇移植到此結束,下一篇用led的任務試驗該移植是否成功移植。

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM