樣品申請(qǐng) | 資料下載 | 替換型號(hào)咨詢

靈動(dòng)微電子MM32 MCU的OS移植與應(yīng)用

近年來的物聯(lián)網(wǎng)IOT概念廣為普及,物聯(lián)網(wǎng)市場(chǎng)發(fā)展迅猛,嵌入式設(shè)備的聯(lián)網(wǎng)已然成為趨勢(shì)。終端聯(lián)網(wǎng)使得軟件復(fù)雜性大幅增加,傳統(tǒng)的RTOS內(nèi)核已經(jīng)越來越難滿足市場(chǎng)的需求。正是在這種情況下的物聯(lián)網(wǎng)操作系統(tǒng)(IoT OS)的概念應(yīng)運(yùn)而生。


物聯(lián)網(wǎng)操作系統(tǒng)是指以操作系統(tǒng)內(nèi)核(可以是 RTOS和Linux 等)為基礎(chǔ),包括文件系統(tǒng)、圖形庫(kù)等較為完整的中間件組件,具備低功耗、安全、通信協(xié)議支持和云端連接能力的軟件平臺(tái)。本篇文章介紹基于靈動(dòng)微電子MM32 MCU的OS移植與應(yīng)用。


一般簡(jiǎn)單的嵌入式系統(tǒng)軟件的編程思路是下面這樣的:


MCU.jpg


這是嵌入式工程師編程的一般思路,對(duì)于一個(gè)簡(jiǎn)單的系統(tǒng)當(dāng)然是夠用了,但在這樣的系統(tǒng)中每個(gè)任務(wù)的實(shí)時(shí)性是很差的,比如如果任務(wù)1用于用戶輸入的檢測(cè),當(dāng)用戶輸入時(shí),如果程序正在執(zhí)行其他的任務(wù)進(jìn)程,那么這次用戶輸入將失效,用戶的體驗(yàn)是這個(gè)按鍵不靈敏,這個(gè)機(jī)器很慢。


而我們?nèi)绻阉腥蝿?wù)都放到中斷里去處理,雖然改善了實(shí)時(shí)性,卻會(huì)導(dǎo)致另外一個(gè)問題:一個(gè)任務(wù)在處理的時(shí)候有可能會(huì)引發(fā)其它的中斷丟失。這個(gè)后果有時(shí)候比慢一點(diǎn)更加嚴(yán)重和惡劣!又比如任務(wù)2是一個(gè)只需要1s鐘處理一次的任務(wù),那么顯然任務(wù)2會(huì)白白浪費(fèi)CPU的時(shí)間。


這時(shí)我們可能需要改進(jìn)我們的編程思路,一般我們會(huì)嘗試采用時(shí)間片的方式。這時(shí)候軟件結(jié)構(gòu)會(huì)變成下面的方式:



MCU2.jpg


我們可以看到,這種改進(jìn)后的思路,使得任務(wù)的執(zhí)行時(shí)間得到控制,任務(wù)只在自己的時(shí)間片到來后,才會(huì)去執(zhí)行。但你可以發(fā)現(xiàn),這種方式仍然不能徹底解決實(shí)時(shí)性的問題,因?yàn)槟硞€(gè)任務(wù)的時(shí)間片到來后,也不能立即就執(zhí)行,MCU必須等到當(dāng)前任務(wù)的時(shí)間片用完,并且后面的任務(wù)時(shí)間片還沒有來,MCU才有機(jī)會(huì)獲得執(zhí)行時(shí)間。


這時(shí)候我們需要繼續(xù)改進(jìn)思路。為了使得某個(gè)任務(wù)的時(shí)間片到來以后能立即執(zhí)行,我們需要在時(shí)鐘中斷里判斷完時(shí)間片后,改變程序的返回位置,讓程序不返回到剛剛被打斷的位置,而從最新獲得了時(shí)間片的任務(wù)處開始執(zhí)行,這樣就徹底解決了任務(wù)的實(shí)時(shí)問題。


我們?cè)谶@個(gè)思路上進(jìn)行改進(jìn)。在每次進(jìn)入時(shí)鐘中斷前,MCU保存當(dāng)前狀態(tài)和當(dāng)前任務(wù)的關(guān)鍵數(shù)據(jù),然后進(jìn)入時(shí)鐘中斷進(jìn)行時(shí)間片處理。如果這時(shí)判斷有新的更緊急的任務(wù)的時(shí)間片到來,則執(zhí)行任務(wù)切換,恢復(fù)這個(gè)更緊急的任務(wù)的現(xiàn)場(chǎng),然后返回中斷開始執(zhí)行這個(gè)更緊急的任務(wù)。


我們終于知道了操作系統(tǒng)的作用了。事實(shí)上操作系統(tǒng)的用處遠(yuǎn)不止幫你完成這個(gè)任務(wù)時(shí)間片的處理,操作系統(tǒng)還能幫你處理各種超時(shí),進(jìn)行內(nèi)存管理,完成任務(wù)間的通信等。有了操作系統(tǒng),程序的層次也更加清晰,給系統(tǒng)添加功能也更方便,這一切在大型項(xiàng)目中越發(fā)的明顯!


靈動(dòng)微電子MM32系列國(guó)產(chǎn)單片機(jī)MCU獲得了AMetal、RT-Thread、Alios、Liteos、mbed、FreeRTOS等眾多操作系統(tǒng)官方鼎立支持,面對(duì)越來越多的MM32 MCU用戶對(duì)于操作系統(tǒng)的使用需求,靈動(dòng)微總代理英尚微電子可為大家提供產(chǎn)品技術(shù)支持。


插逼舔鸡巴视频| 同房后流出来黄色分泌物| 黑逼不用下载直接看污污| 嗯嗯啊轻点舔快点插视频| 亚洲成人网一区二区三区| 我要看美女们日〉逼视频| 亚偷熟乱区视频在线观看| 亚洲av无码一区二区三区| 国产一区视频在线观看的| 最新自拍成人在线看片网| 东京热亚洲精品久久中出| 黑人大鸡吧挑战日本少妇| 亚洲综合经典视频在线观看| 国产线路一二三| 好吊色欧美一区二区三区视频| 啊啊啊操逼好爽| 日本在线观看中文三级区| 91久久精品无码一毛片| 亚洲 欧洲 日产 经典| 国产超碰在线| 进入黄色网站看男女操逼| 囗交姿势图3d效果展示图| 中文字幕资源一区二区不卡| 囯产精品久久久性色Av| 亚洲v欧美v国产ⅴ在线成| 韩国年轻的母亲在线播放| 大鸡吧美女插逼有限公司| 北岛玲av一区二区三区| 少妇性l交大片免费| 淫叫大鸡巴束缚挣扎视频| 国产剧情无码播放在线看| 适合初中生看的国产电影| 精品欧美一区二区不卡视频| 驴几巴爆操日本嫩逼视频| 亚洲精品一区二区三区日韩 | 国产精品久久久久久杏吧| 中文字幕一区二区三区三州 | 欧美不卡视频一区二区三区| 我就是想翘国产一级的黄| 把腿张开开被添死去活来| 色六月婷婷亚洲婷婷六月|