樣品申請 | 資料下載 | 替換型號咨詢

基于靈動微電子MM32 MCU的OS移植與應用

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


物聯(lián)網(wǎng)操作系統(tǒng)是指以操作系統(tǒng)內(nèi)核(可以是 RTOS、Linux 等)為基礎,包括文件系統(tǒng)、圖形庫等較為完整的中間件組件,具備低功耗、安全、通信協(xié)議支持和云端連接能力的軟件平臺。

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


main

{

{任務1};

{任務2};

{任務3}

.......

{任務N};

}

isr_server

{

{處理中斷};

}


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


而我們?nèi)绻阉腥蝿斩挤诺街袛嗬锶ヌ幚?,雖然改善了實時性,卻會導致另外一個問題:一個任務在處理的時候有可能會引發(fā)其它的中斷丟失。這個后果有時候比“慢一點”更加嚴重和惡劣!又比如任務2是一個只需要1s鐘處理一次的任務,那么顯然任務2會白白浪費CPU的時間。


這時,我們可能需要改進我們的編程思路,一般我們會嘗試采用“時間片”的方式。這時候軟件結構會變成下面的方式:


main

{

{如果任務1的時間片到了則執(zhí)行任務1};

{如果任務2的時間片到了則執(zhí)行任務2};

.......

{如果任務N的時間片到了則執(zhí)行任務N}

}

timer_isr_server

{

{判斷每個任務的時間片是否到來,并進行標記};

}

isr_server

{

{處理中斷};

}


我們可以看到,這種改進后的思路,使得任務的執(zhí)行時間得到控制,任務只在自己的時間片到來后,才會去執(zhí)行。但你可以發(fā)現(xiàn),這種方式仍然不能徹底解決“實時性”的問題,因為某個任務的時間片到來后,也不能立即就執(zhí)行,MCU必須等到當前任務的時間片用完,并且后面的任務時間片還沒有來,32位單片機才有機會獲得“執(zhí)行時間”。


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


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


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

日本漫画工囗全彩内番漫绅士| 性20分钟一次| 欧美精品久久久久a片| 啊灬啊灬啊灬快灬深用口述说| 国产毛多女人视频| 日本工囗漫画h无遮挡全彩| 粗大挺进朋友人妻身体里国产电影| 推特app下载| 色噜噜狠狠一区二区三区| 欲妇荡岳丰满交换| 扒开她粉嫩的小缝的a片| 人妻少妇偷人精品无码洋洋av| 男朋友一晚弄了我5次正常吗| 夫妇当面交换作爱| 人久人久人久污污污精品国产| 呻吟 玩弄 翻搅 花蒂 肿大| 免费观看性生交大片| 日韩av无码久久一区二区| 成人性生交大片免费看中国| 娇小搡bbbb搡bbbb| 国产色婷亚洲99精品av在| 老师破女学生处特级毛ooo片| 欧美又大粗又爽又黄大片视频 | 久久亚洲精品久久国产一区二区| 99亚洲精品自拍av成人软件| 狠狠婷婷综合久久久久久| 国产精品毛片无码| 小箩莉h文合集小说| 久久精品国产亚洲av麻豆图片| 被绑在机器上强行高潮h| 人妻偷人va精品国产旡码| 高清av电影| 久久久久久99av无码免费网站| 亚洲精品在线观看| 日本免费a片| 久久泄欲网| 被猛男狂cao的小男生| 国语我和子的乱视频| 50歳のバツ1熟女とハメ撮り| 老女人重囗味456| 特级毛片爽www免费版|