色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 關(guān)于使用stm32cubemx生成代碼后移植Ucos—III的方法

關(guān)于使用stm32cubemx生成代碼后移植Ucos—III的方法 時(shí)間:2018-09-21      來(lái)源:未知

介紹一下Ucos—iii的優(yōu)點(diǎn):相比于Ucos—ii,UCOS-II主要針對(duì)8位、16位機(jī)以及低端32位機(jī),UCOS-III主要針對(duì)高端32位處理器和64位處理器,在性能上有了很大的提升,有了不少的提升,例如任務(wù)數(shù)沒(méi)有顯示,不同的任務(wù)可以擁有相同的優(yōu)先級(jí),相同優(yōu)先級(jí)的任務(wù)調(diào)度采用時(shí)間片輪轉(zhuǎn)法。對(duì)一些內(nèi)核對(duì)象,例如信號(hào)量,可以在運(yùn)行過(guò)程中創(chuàng)建和刪除,不用像ucos-ii那樣必須在編譯時(shí)分配好。內(nèi)核對(duì)象數(shù)也沒(méi)有限制。

Ps:不過(guò)如果芯片處理能力有限的話,建議還是量力而為,選擇ucos—ii足夠就沒(méi)必要選擇ucos—iii,ucos-iii顯然適用于更加復(fù)雜的系統(tǒng)應(yīng)用,本身占用的內(nèi)存空間也較大,而且代碼顯得比較累贅。例如創(chuàng)建一個(gè)任務(wù),就要這樣的麻煩

void OSTaskCreate (OS_TCB *p_tcb,

CPU_CHAR *p_name,

OS_TASK_PTR p_task,

void *p_arg,

OS_PRIO prio,

CPU_STK *p_stk_base,

CPU_STK_SIZE stk_limit,

CPU_STK_SIZE stk_size,

OS_MSG_QTY q_size,

OS_TICK time_quanta,

void *p_ext,

OS_OPT opt,

OS_ERR *p_err);

這么多的參數(shù),如果初學(xué)的話,一個(gè)個(gè)去弄懂也沒(méi)必要,但是如果不弄懂又學(xué)不會(huì),所以如果入門(mén)ucos操作系統(tǒng)的話,本人介意先學(xué)ucos—ii,學(xué)了ucos—ii在去開(kāi)ucos—iii,你會(huì)發(fā)現(xiàn)系統(tǒng)時(shí)基,任務(wù)創(chuàng)建和調(diào)度原理其實(shí)是一樣的,只不過(guò)部分功能做了優(yōu)化,通俗點(diǎn)講就是更加嚴(yán)謹(jǐn)了,好了,理論只是幫助實(shí)際應(yīng)用的東西,太過(guò)于執(zhí)著于理論就鉆了牛角尖了,本人并非老師,只是一個(gè)普通的研發(fā)人員,所以以實(shí)際產(chǎn)品應(yīng)用為主,所以就說(shuō)一下實(shí)際應(yīng)用吧。

首先我們要到網(wǎng)上下載ucos—iii的源碼,官網(wǎng)是://micrium.com/打開(kāi)看到

點(diǎn)擊紅色框部分,就會(huì)進(jìn)入下載界面

然后就可以下載了

咱們下載的是下面這個(gè),

下好以后,打開(kāi)相關(guān)文件夾,將源碼復(fù)制到工程目錄下

然后打開(kāi)keil5工程,在工程目錄里添加源碼,目錄結(jié)構(gòu)如下:

好了,上面只是基礎(chǔ)的準(zhǔn)備工作,熟了以后大家可以根據(jù)自己喜好去創(chuàng)建工程目錄結(jié)構(gòu),目前來(lái)說(shuō)先按作者的來(lái)就可以了,這些其實(shí)是無(wú)關(guān)緊要的事情,大家目的是為了學(xué)習(xí)原理并把它應(yīng)用到實(shí)際工作中嘛。

下面我們就開(kāi)始真正的將這個(gè)系統(tǒng)和cpu關(guān)聯(lián)起來(lái)了,相信大家熟悉操作系統(tǒng)的都知道時(shí)基這個(gè)概念,ucos操作系統(tǒng)同樣需要一個(gè)時(shí)基,正好我們的stm32芯片都有一個(gè)系統(tǒng)滴答計(jì)時(shí)器,這里我們將它作為ucos操作系統(tǒng)的時(shí)基剛好,那么怎么做呢,其實(shí)是有兩個(gè)方法,

大致原理是一樣的,我們打開(kāi)startup_stm32f407xx.s文件,看到這里有棧空間申請(qǐng)的代碼

下面有相關(guān)函數(shù)調(diào)用的聲明:

那么這兩個(gè)函數(shù)是做什么的呢?

一個(gè)是任務(wù)調(diào)度函數(shù),一個(gè)是systick中斷服務(wù)函數(shù),我們打開(kāi)os_cpu_a.asm和os_cpu_c.c,可以看到源碼

只要相關(guān)名字對(duì)應(yīng)就可以了,我這里是改的startup_stm32f407xx.s啟動(dòng)文件的相關(guān)聯(lián)部分,不希望修改ucos—iii源碼,但有的人是不希望修改stm32cubemx生成的源碼,而去修改ucos—iii的相應(yīng)部分,都可以,只要函數(shù)名一致就可。

Ps:stm32cubemx生成代碼的systick定時(shí)器為1ms一次中斷,如果需要調(diào)節(jié),可以再時(shí)鐘配置函數(shù)里去修改。

上一篇:方法和變量在繼承時(shí)的覆蓋和隱藏問(wèn)題

下一篇:長(zhǎng)安.ARM體系結(jié)構(gòu).七日談

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專(zhuān)線:010-82525158 企業(yè)培訓(xùn)洽談專(zhuān)線:010-82525379 院校合作洽談專(zhuān)線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見(jiàn)科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5京公海網(wǎng)安備11010802025203號(hào)

回到頂部

主站蜘蛛池模板: 欧美肉大捧一进一出免费视频 | 久久天天躁夜夜躁狠狠 | 中文字幕日韩精品有码视频 | XXX性XXX国语对白 | 亚洲综合成人婷婷五月在线观看 | 久久人妻国产精品 | 99久热这里精品免费 | 天干天干天啪啪夜爽爽色 | 日本丰满人要无码视频 | 亚洲一码二码三码精华液 | 国产成人无码一区二区在线观看 | 国产精品白浆无码流出 | 老头巨大挺进莹莹的体内免费视频 | 三个男吃我奶头一边一个视频 | 狠狠色噜噜狠狠狠狠色综合久AV | 国产精品狼人久久久久影院 | 广西美女色炮150p图 | 国产午夜精品无码一区二区 | 久久久精品国产sm调教网站 | 高潮插的我好爽再干噢在线欢看 | 国产免费高清视频在线一区二区 | 欧美狂野另类xxxxoooo | 亚洲色无码A片一区二区 | 九月婷婷人人澡人人添人人爽 | 日日噜狠狠噜天天噜AV | 国模少妇无码一区二区三区 | 黄网站在线永久免费观看 | 国产av无码专区亚洲av紧身裤 | 亚洲一区二区三区香蕉 | 永夜星河免费观看 | 特黄A又粗又大又黄又爽A片 | 久久性生活免费视频 | 午夜国产成人久久精品 | 男女激情无遮挡免费视频 | 久久99亚洲精品久久频 | 日韩精品亚洲精品 | 伦人伦XXX国产对白 亚洲欧美日韩一区二区在线观看 | 挺进朋友人妻的身体里 | 午夜无码区在线观看 | 一级淫片在线观看 | 欧美丰满熟妇XXXX性PPX人交 |