uCOS-II在STM32上的移植步驟
說點廢話,網(wǎng)上有很多關于uCOS-ii移植的文章,好多都是千篇一律,理論性很強,分析了一大堆虛頭巴腦的東西,真想問他們,你確定你分析的這些東西是需要你做的工作嗎?實操性嚴重欠缺。。。這方面我也走了很多彎路,下面就將自己的移植過程一步步的記錄下來,也給大家做做參考。
首先,簡單總結一下移植的大概過程:
(1)
(2)
(3)
(4)
(5)
好了,下面就開始詳細的記錄怎么去移植。
一、
1.
其中文件夾“CMSIS”為內(nèi)核的接口,包含的文件如下圖
文件夾STM32_StdPeriph為固件驅動文件夾,這個把STM32的固件全都添加進去即可。
文件夾User為其他文件,如下圖所示:
文件夾Output和List主要是放那些編譯產(chǎn)生的亂七八糟的文件,為了使工程代碼更加簡潔。
2.使用MDK創(chuàng)建無操作系統(tǒng)工程項目,這一點就不一一說了,將創(chuàng)建后的工程項目文件樹截圖如下:
注意:main.c中要有一個mian函數(shù),否則編譯器會報錯提示你的。然后就是項目的配置,這個還是很重要的,下面分別說需要配置的地方:
(1)Output選項如下:
這里面勾選了Create HEX File選項,同時將項目輸出放到了之前創(chuàng)建的Output文件夾。
(2)List選項,將List產(chǎn)生的文件放入到之前創(chuàng)建的List文件夾中。
(3)C/C++配置選項如下:
其中Define選項中,填入:USE_STDPERIPH_DRIVER,STM32F10X_HD,這是告訴編譯器,使用標準外設,還有選擇的CPU類型,其中CPU類型需要根據(jù)你選擇移植的CPU進行適當?shù)母?。Include Paths是要包含的頭文件路徑,這個為了保險,將項目中的所有有.h的文件的文件夾都包含進去就可以了。
4.Debug選項如下:
,我使用的是Jlink進行燒寫調(diào)試,所以選擇了如圖所示,還要進行settings,如下:
這里要勾選“Reset and Run”,這樣做的目的是,每當燒寫下載后,CPU進行復位并運行。
5.Utilities選項設置如下所示:
至此,配置完畢,編譯一下,沒有錯誤,創(chuàng)建一個簡單的點亮LED程序,驗證一下即可。
備注說明:如果按照這個步驟操作,編譯,如果出現(xiàn)一些簡單的錯誤,比如沒有main函數(shù),沒有發(fā)現(xiàn)某個頭文件,那么按照提示解決即可,但是如果發(fā)現(xiàn)了很多怪怪的編譯錯誤,比如說未定義u32,u8這些符號時,那就要注意一下了,有可能是MDK版本的問題,我在使用MDK低版本的時候,發(fā)現(xiàn)有問題,而使用高版本的時候就沒問題了,所以需要注意一下。
評論