當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]Ⅰ、概述上一篇文章是講述uC/OS-II Ports下面os_cpu_a.asm、os_cpu_c.c和os_cpu.h文件底層端口代碼的移植(修改)和說明,接著上一篇文章來講述關(guān)于UCOS移植應(yīng)用部分的代碼。該文主要針對(duì)uC/OS-II上層應(yīng)用(配置OS、

Ⅰ、概述

上一篇文章是講述uC/OS-II Ports下面os_cpu_a.asm、os_cpu_c.c和os_cpu.h文件底層端口代碼的移植(修改)和說明,接著上一篇文章來講述關(guān)于UCOS移植應(yīng)用部分的代碼。

該文主要針對(duì)uC/OS-II上層應(yīng)用(配置OS、新建任務(wù)等)來講述。

請(qǐng)下載“UCOS2_STM32F1_3個(gè)簡(jiǎn)單任務(wù)”作為參考工程。

筆者將“UCOS移植詳細(xì)過程”分為多篇文章來講述,敬請(qǐng)關(guān)注。

關(guān)于本文的詳情請(qǐng)往下看。

Ⅱ、下載

筆者將F0、F1、F3、F4移植到最新UCOS2.92上。移植好的、獨(dú)立的4個(gè)工程供大家下載學(xué)習(xí)、研究。建立的任務(wù)都是一樣的,只是針對(duì)芯片內(nèi)核不同,Ports目錄下相關(guān)的源代碼有差異、標(biāo)準(zhǔn)外設(shè)庫(kù)也存在差異。每一個(gè)系列針對(duì)不同型號(hào)芯片只需要適當(dāng)改一下“型號(hào)”就行了。

提供下載的軟件工程都是在板子上運(yùn)行,保證沒問題才上傳至360云盤。下載提供下載的軟件工程是在上一篇文章的基礎(chǔ)上增加了os_cfg.h系統(tǒng)配置中文注釋,包含了STM32F0、F1、F3、F4系列獨(dú)立的軟件工程。

UCOS2.92_STM32(F0、1、3、4)3個(gè)簡(jiǎn)單任務(wù)(增加os_cfg中文注釋)

360云盤下載地址:

https://yunpan.cn/cBsmgInzX856G訪問密碼 4242

UCOS源代碼工程

官網(wǎng)下載(需要賬號(hào)):

https://www.micrium.com/downloadcenter/download-results/?searchterm=hm-stmicroelectronics&supported=true

360云盤下載(定期更新至最新):

https://yunpan.cn/cRzcf8eSacEhE訪問密碼 1235

ST標(biāo)準(zhǔn)外設(shè)庫(kù)

官網(wǎng)下載(需要賬號(hào)):

http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software.html?querycriteria=productId=SC961

360云盤下載(定期更新至最新):

https://yunpan.cn/cSaCpGejMSfr8訪問密碼 60ae

參考資料:

https://yunpan.cn/cRCdSt73GwT6j訪問密碼 499e

Ⅲ、工程目錄結(jié)構(gòu)說明


文件結(jié)構(gòu)和工程目錄結(jié)構(gòu)對(duì)應(yīng)關(guān)系如上圖所示。

第一類(標(biāo)準(zhǔn)外設(shè)庫(kù)):

Startup Code:?jiǎn)?dòng)代碼

STM32F10x_StdPeriph_Driver:標(biāo)準(zhǔn)外設(shè)庫(kù)庫(kù)驅(qū)動(dòng)

CMSIS:標(biāo)準(zhǔn)接口

第二類(μC/OS-II實(shí)時(shí)內(nèi)核):

uC/OS-II Source:內(nèi)核源代碼(與處理器無(wú)關(guān))

uC/OS-II Ports:OS端口底層代碼(與處理器、編譯平臺(tái)有關(guān))

第三類(用戶應(yīng)用):

Bsp:應(yīng)用底層代碼(初始化、驅(qū)動(dòng)等)

App:應(yīng)用實(shí)現(xiàn)代碼(配置OS、應(yīng)用等)

該文主要針對(duì)第三類APP進(jìn)行移植描述,包括os_cfg.h、app_cfg.c、app_task.c文件等。

Ⅳ、配置os_cfg.h文件

os_cfg顧名思義,它就是系統(tǒng)配置的意思,它位于工程App目錄結(jié)構(gòu)下面,主要是系統(tǒng)上層配置和應(yīng)用。

1.各項(xiàng)參數(shù)


各項(xiàng)參數(shù)里面針對(duì)初學(xué)者,主要有三個(gè)重要的參數(shù),其他參數(shù)暫時(shí)可以不用深入理解。

三個(gè)重要的參數(shù):

#define OS_LOWEST_PRIO 63u

#define OS_MAX_TASKS 10u

#define OS_TICKS_PER_SEC 100u

這三個(gè)參數(shù)需要重點(diǎn)理解,詳情可參看中文注釋。

對(duì)于HOOKS函數(shù)是我們上一篇文章講述os_cpu_c.c里面相關(guān)的函數(shù),這里OS_CPU_HOOKS_EN會(huì)被系統(tǒng)調(diào)用,將其定義為使能。

關(guān)于OS_DEBUG_EN,我們不使用系統(tǒng)自帶的調(diào)試功能,就不使能。

2.任務(wù)堆棧大小


這里和我們自己建立的任務(wù)堆棧差不多的意思,將會(huì)在下面講述app_cfg講解。

3.任務(wù)管理


任務(wù)管理主要是針對(duì)uC/OS-II Source結(jié)構(gòu)下os_task.c文件里面的源代碼,os_task.c文件里面就包含了任務(wù)建立、刪除、掛起等關(guān)于任務(wù)的一些函數(shù)接口,我們需要使用那些功能,這里就需要打開。

如創(chuàng)建任務(wù):

#define OS_TASK_CREATE_EN 0u

#define OS_TASK_CREATE_EXT_EN 1u

我們使用擴(kuò)展方式創(chuàng)建任務(wù),也就是升級(jí)版本創(chuàng)建任務(wù)的函數(shù)。

4.系統(tǒng)其他功能


了解過UOCS系統(tǒng)的人可能知道,UCOS系統(tǒng)有多種功能,也就是可以建立多任務(wù)之間通信的功能,每一種功能對(duì)應(yīng)一個(gè)源代碼文件。

從上圖可以看得出來,每一種功能夠有使能全局的宏定義,只有使能了全局宏定義才可以使用里面的功能,里面各個(gè)模塊(函數(shù)接口)也是配置了使用和不使用的的宏定義。

關(guān)于UCOS2更多功能,我會(huì)在后期整理關(guān)于UCOS系統(tǒng)相關(guān)的知識(shí),也就是這里所說的其他功能,敬請(qǐng)關(guān)注微信等待,后期第一時(shí)間在微信發(fā)布消息。

Ⅴ、配置app_cfg.h、.c文件

app_cfg.c文件位于工程App目錄結(jié)構(gòu)下面,主要用于系統(tǒng)應(yīng)用的配置。

1.任務(wù)優(yōu)先級(jí)、堆棧


我們建立任務(wù)需要對(duì)任務(wù)優(yōu)先級(jí)和堆棧進(jìn)行一個(gè)定義,它位于app_cfg.h文件下面。

這里任務(wù)數(shù)和最小優(yōu)先級(jí)數(shù)值需要和os_cfg.h文件的宏定義對(duì)應(yīng)才行。

2.系統(tǒng)滴答


我們?cè)谇皟善恼轮v述過關(guān)于系統(tǒng)滴答的,但講的是屏蔽Micrium官網(wǎng)提供的OS_CPU_SysTick配置(位于os_cpu_c.c文件下)。

這里是兼容ST(也是M3內(nèi)核標(biāo)準(zhǔn)的)的函數(shù)接口,所以就不使用Micrium官網(wǎng)提供的OS_CPU_SysTick配置。

3.建立任務(wù)


我們建立任務(wù)就是在系統(tǒng)里面分配一定的空間,給我們的應(yīng)用提供一個(gè)函數(shù)接口(AppTask1、AppTask2、AppTask3)。我們一旦啟動(dòng)了系統(tǒng)(開始任務(wù)),相關(guān)的函數(shù)就會(huì)逐步執(zhí)行。

Ⅶ、建立任務(wù)(app_task.c)


我們使用操作系統(tǒng)的最終目的還是需要執(zhí)行我們的應(yīng)用,我們這里簡(jiǎn)歷了3個(gè)簡(jiǎn)單的應(yīng)用(任務(wù)),位于app_task.c源文件下面。

應(yīng)用比較簡(jiǎn)單,就是變化LED,至于OSTimeDly(50)函數(shù),可能初學(xué)者不是很理解,其實(shí)就是延時(shí)50個(gè)滴答。

我們?cè)趏s_cfg.h文件中定義#define OS_TICKS_PER_SEC 100u,也就是每秒100個(gè)滴答,OSTimeDly(50)就是延時(shí)了0.5秒的意思。

Ⅷ、文件比較工具

對(duì)于前面幾篇文章,可能有些人比較關(guān)注我們移植的過程中到底修改了那些文件,這里就給大家推薦一下“文件比較工具”,網(wǎng)上有很多相關(guān)的工具,可以自己搜索下載。也可以到我360云盤下載:

https://yunpan.cn/cBsYfRw3Iiut3訪問密碼 7155

這里我們拿Beyond Compare為例,給大家看一下效果:


Ⅸ、說明

相關(guān)的文章可以到我博客上查看,我也會(huì)定期更新,新內(nèi)容第一時(shí)間在微信分享。

當(dāng)你掌握UCOS在一種平臺(tái)上的移植,其他平臺(tái)移植原理類似,請(qǐng)不要局限某一平臺(tái)。

以上總結(jié)僅供參考,若有不對(duì)之處,敬請(qǐng)諒解。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉