www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

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

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

請下載“UCOS2_STM32F1_3個簡單任務(wù)”作為參考工程。

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

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

Ⅱ、下載

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

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

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

360云盤下載地址:

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

UCOS源代碼工程

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

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

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

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

ST標準外設(shè)庫

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

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)對應(yīng)關(guān)系如上圖所示。

第一類(標準外設(shè)庫):

Startup Code:啟動代碼

STM32F10x_StdPeriph_Driver:標準外設(shè)庫庫驅(qū)動

CMSIS:標準接口

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

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

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

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

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

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

該文主要針對第三類APP進行移植描述,包括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.各項參數(shù)


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

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

#define OS_LOWEST_PRIO 63u

#define OS_MAX_TASKS 10u

#define OS_TICKS_PER_SEC 100u

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

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

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

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


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

3.任務(wù)管理


任務(wù)管理主要是針對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

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

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


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

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

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

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

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

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


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

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

2.系統(tǒng)滴答


我們在前兩篇文章講述過關(guān)于系統(tǒng)滴答的,但講的是屏蔽Micrium官網(wǎng)提供的OS_CPU_SysTick配置(位于os_cpu_c.c文件下)。

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

3.建立任務(wù)


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

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


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

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

我們在os_cfg.h文件中定義#define OS_TICKS_PER_SEC 100u,也就是每秒100個滴答,OSTimeDly(50)就是延時了0.5秒的意思。

Ⅷ、文件比較工具

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

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

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


Ⅸ、說明

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

當你掌握UCOS在一種平臺上的移植,其他平臺移植原理類似,請不要局限某一平臺。

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


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

加利福尼亞庫爾弗城2024年7月16日 /美通社/ --?Snail, Inc. (納斯達克股票代碼: SNAL) (以下簡稱"蝸牛游戲"或"公司")是一家領(lǐng)先的全球獨立開發(fā)商和發(fā)行商,專注于互動數(shù)字娛樂,今日宣布方舟:...

關(guān)鍵字: iOS 安卓系統(tǒng) 移植 移動平臺

上海2023年2月16日 /美通社/ -- 近日,諾華中國宣布與中國紅十字基金會正式啟動"中國地中海貧血救助項目"廣西地區(qū)專項援助,將在當?shù)囟ㄏ蛸Y助困難家庭地中海貧血患兒,同時通過相關(guān)醫(yī)生培...

關(guān)鍵字: BSP 控制 移植 大眾

北京2022年12月7日 /美通社/ -- 2022年12月3日,由高博醫(yī)學(xué)(血液病)廣東研究中心南方春富(兒童)血液病研究院、南方醫(yī)科大學(xué)南方醫(yī)院共同主辦的高博醫(yī)學(xué)論壇·華南造血干細胞移植論壇通過線下線上...

關(guān)鍵字: 移植 HD PID 血細胞

捐款近4000萬 上海2022年12月7日 /美通社/ -- 2022年12月7日下午,中芯國際"芯肝寶貝計劃"十年紀念暨2022年度捐贈儀式在上海仁濟醫(yī)院舉行。十年來,該項目捐贈善款總額近4000...

關(guān)鍵字: 中芯國際 移植

北京2022年11月14日 /美通社/ -- 2022年10月,高博醫(yī)學(xué)(血液?。┍本┭芯恐行谋本└卟┎┤梳t(yī)院造血干細胞移植科迎來了五周歲"生日"。在吳彤主任帶領(lǐng)下,移植科于2017年從無到有,歷經(jīng)五...

關(guān)鍵字: 移植 OS MT CD

上海2022年11月6日 /美通社/ -- 在第五屆中國國際進口博覽會期間,武田制藥攜5款創(chuàng)新產(chǎn)品亮相武田罕見遺傳與血液疾病領(lǐng)域?qū)霭l(fā)布會。用于移植后抗巨細胞病毒(CMV)感染或疾病治療[1]的馬立巴韋[2]迎來&quo...

關(guān)鍵字: 移植 BSP CD FDA

亙喜生物科技集團宣布正在中國開展的、旨在全面評估GC007g治療復(fù)發(fā)/難治性急性B淋巴細胞白血病效果的1/2期注冊性臨床試驗順利進入2期研究階段,首例入組患者已給藥。GC007g是亙喜生物旗下的一款靶向CD19的供者來源...

關(guān)鍵字: 移植 CD

北京2022年9月9日 /美通社/ -- 諾誠健華(香港聯(lián)交所代碼:09969)今天宣布,tafasitamab (Minjuvi®)聯(lián)合來那度胺治療不適合自體干細胞移植 (ASCT) 條件的復(fù)發(fā)/難治彌漫性大B...

關(guān)鍵字: VI NJU BSP 移植

蘇州2022年8月19日 /美通社/ -- 近日,華中科技大學(xué)同濟醫(yī)學(xué)院附屬協(xié)和醫(yī)院心外科董念國教授團隊運用與心擎醫(yī)療聯(lián)合研發(fā)的短中期體外全磁懸浮心室輔助裝置MoyoAssist®,成功救治三例危重的終...

關(guān)鍵字: 磁懸浮 移植 IC 靜脈

上海2022年8月17日 /美通社/ -- 2022年8月16日,聚焦于基因和細胞治療的上海邦耀生物科技有限公司(以下簡稱"邦耀生物")宣布,其...

關(guān)鍵字: CD 移植 BSP ISP
關(guān)閉