亚洲精品一二区_国产黄色片网站_99久久久成人国产精品_蜜臀网_国产精品一区二区三区免费_成人av中文字幕_91精品国产欧美一区二区成人

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

關(guān)于使用stm32cubemx生成代碼后移植Ucos—III的方法 時(shí)間:2018-10-28      來(lái)源:華清遠(yuǎn)見(jiàn)

介紹一下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ì),所以如果入門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)是:http://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ù)里去修改。

上一篇:沒(méi)有了

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

戳我查看嵌入式每月就業(yè)風(fēng)云榜

點(diǎn)我了解華清遠(yuǎn)見(jiàn)高校學(xué)霸學(xué)習(xí)秘籍

猜你關(guān)心企業(yè)是如何評(píng)價(jià)華清學(xué)員的

干貨分享
相關(guān)新聞
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2024 北京華清遠(yuǎn)見(jiàn)科技發(fā)展有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5京公海網(wǎng)安備11010802025203號(hào)

回到頂部

主站蜘蛛池模板: 中文字幕永久在线视频 | 青娱乐手机在线视频 | 黄色短视频在线免费观看 | 欧美经典亚洲风情 | 久久亚洲成人 | 亚洲欧美国产日本 | 日韩在线免费视频观看 | 国产高清视频在线播放 | 久久综合狠狠综合久久综合88 | 天天操天天干天天爱 | 国产欧美日韩视频免费61794 | 综合网在线观看 | 毛片免费的 | 一区二区三区中文字幕 | 亚洲影院一区 | 国产在线观看a | 日韩欧美一区二区中文字幕 | 亚洲视频免费在线看 | 国产成人91高清精品免费 | 人人天天爱天天做天天摸 | 国产精品欧美亚洲韩国日本 | 九九九九在线精品免费视频 | 人人模人人看 | 欧美www| 久月婷婷 | 韩国免费人成在线观看网站 | 国产精品扒开做爽爽爽的视频 | 免费观看视频成人国产 | 精品久久成人免费第三区 | 91久久人澡人人添人人爽 | 亚洲毛片在线看 | 天天摸天天射 | 久久久久毛片免费观看 | 黄色一级片在线免费观看 | 欧美一区二区三区不卡视频 | 欧美13一14周岁a在线播放 | 天天色天天拍 | 日本免费福利视频 | 亚洲大片 | 一区二区三区免费视频观看 | 久久在现 |