日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]引言μC/OS-II是基于優(yōu)先級的可剝奪型內(nèi)核,實時性較強,但不區(qū)分用戶空間和系統(tǒng)空間,使得系統(tǒng)的安全性變差。而μC/OS-II官網(wǎng)提供的基于Cortex-M3內(nèi)核移植的μC/OS-

引言

μC/OS-II是基于優(yōu)先級的可剝奪型內(nèi)核,實時性較強,但不區(qū)分用戶空間和系統(tǒng)空間,使得系統(tǒng)的安全性變差。而μC/OS-II官網(wǎng)提供的基于Cortex-M3內(nèi)核移植的μC/OS-II操作系統(tǒng),一直運行在特權(quán)級下,用戶程序也可以訪問操作系統(tǒng)的變量和常量,導(dǎo)致系統(tǒng)的安全性與穩(wěn)定性變得更差。

1 開發(fā)壞境與Cortex-M3內(nèi)核簡介

使用IAR 5.30開發(fā)環(huán)境,移植μC/OS-II 2.86到Cortex-M3內(nèi)核上,選用配置了MPU的LPC1786處理器作為硬件實驗平臺。

Cortex-M3處理器支持:兩種工作模式,線程模式和處理模式;兩種訪問等級,特權(quán)級和用戶級;兩個堆棧指針,主堆棧指針(MSP)和進程堆棧指針(PSP)。異常處理工作在“處理模式+特權(quán)級+MSP”下;線程模式下,訪問等級與堆棧指針可以相互搭配使用;但是在用戶級下,對特殊功能寄存器和系統(tǒng)控制空間(SCS)的大部分寄存器的訪問是禁止的。

如果處理器(如LPC1700系列、LM3S系列等)配置有MPU,可通過設(shè)定內(nèi)存的訪問權(quán)限大幅度地提高系統(tǒng)的安全性。

2 μC/OS-II內(nèi)核簡介

μC/OS-II操作系統(tǒng)憑借其源代碼公開、結(jié)構(gòu)小巧、內(nèi)核可剝奪、實時性高等諸多特性而得到廣泛的應(yīng)用,并且μC/OS-II絕大部分代碼是用C語言編寫的,便于移植到各種內(nèi)核上。它提供了諸如任務(wù)調(diào)度、任務(wù)管理、時間管理、內(nèi)存管理、中斷管理,以及任務(wù)間的同步與通信等實時內(nèi)核的基本功能,而沒有提供輸入輸出管理、文件系統(tǒng)、圖形用戶接口及網(wǎng)絡(luò)組件之類的額外服務(wù)。但由于μC/OS-II具有較好的可移植性和開源性,用戶可以根據(jù)實際應(yīng)用添加所需要的服務(wù),而且系統(tǒng)移植只需修改文件OS_CPU_C.C、OS_CPU.H、OS_CPU_A.ASM。

3 μC/OS-II操作系統(tǒng)移植的改進

如果用戶任務(wù)運行在“用戶級+PSP”狀態(tài)下,而調(diào)用操作系統(tǒng)函數(shù)時運行在“特權(quán)級+MSP”狀態(tài)下,再配合MPU的使用,可以使系統(tǒng)的安全性與穩(wěn)定性得到很大的提高。

3.1 設(shè)置系統(tǒng)寄存器

系統(tǒng)任務(wù)(統(tǒng)計任務(wù)、空閑任務(wù)等)只使用主堆棧指針MSP,并且一直運行在特權(quán)級下;而用戶任務(wù)則使用PSP、MSP兩個堆棧。在系統(tǒng)初始化時,設(shè)置MPU的相關(guān)寄存器,把內(nèi)存分為特權(quán)級與用戶級兩個區(qū),如圖1所示。PSP分配在用戶區(qū),MSP、系統(tǒng)變量與常量分配在特權(quán)區(qū),以提高系統(tǒng)的安全性。

3.2 修改系統(tǒng)函數(shù)

為了任務(wù)首次運行時,可以進入相應(yīng)的訪問等級和使用相應(yīng)的堆棧指針,在任務(wù)創(chuàng)建時,加入工作狀態(tài)參數(shù)mode。在ucos_ii.h中定義訪問等級與堆棧選擇的常量:

3.2.1 修改任務(wù)控制塊OS_TCB

在任務(wù)控制塊中加入MSP指針,形式如下:

3.2.2 修改任務(wù)創(chuàng)建函數(shù)

在任務(wù)創(chuàng)建函數(shù)的參數(shù)中加入mode參數(shù),形式如下:

對OSTaskCreateExt()函數(shù)做的修改同上。

3.2.3 修改堆棧初始函數(shù)

在堆棧初始化時,把mode值存儲在MSP底部,以便任務(wù)第一次運行時進入相應(yīng)的運行狀態(tài)(特權(quán)級還是用戶級,使用MSP還是PSP)。系統(tǒng)任務(wù)的mode是OS_Mode_PRIVILEGE | OS_Mode_MSP,任務(wù)創(chuàng)建時PSP為0;而用戶任務(wù)為OS_Mode_USER | OS_Mode_PSP。

堆棧初始函數(shù)的參數(shù)中加入mode參數(shù),形式如下:

OS_TCBInit()函數(shù)把堆棧初始化得到的堆棧指針存入OS_TCB中。

3.3 修改OS_CPU_A.ASM文件中的函數(shù)

在OS_CPU_A.ASM文件中,只需修改函數(shù)PendSV_Handler(PendSV服務(wù)例程),任務(wù)切換是由它來完成的。

PendSV服務(wù)例程的流程如圖2所示。

3.4 系統(tǒng)函數(shù)的使用

系統(tǒng)函數(shù)都是在“特權(quán)級+MSP”狀態(tài)下執(zhí)行的,因此,在用戶任務(wù)調(diào)用系統(tǒng)函數(shù)前,應(yīng)先切換到“特權(quán)級+MSP”狀態(tài),系統(tǒng)函數(shù)執(zhí)行完畢后再切換到“用戶級+PSP”狀態(tài)。具體代碼如下。

在特權(quán)級下通過置位CONTRO[0]來進入用戶級,而用戶級下是不能直接修改CONTROL[0]回到特權(quán)級的,必須通過一個異常,在異常例程中修改CONTROL[0],才能在返回到線程模式后拿到特權(quán)級。通常的方法是使用軟中斷SVC。

因此,從“用戶級+PSP”狀態(tài)下切換到“特權(quán)級+MSP”狀態(tài)的實現(xiàn)方法是:在用戶級下執(zhí)行SVC指令,在SVC異常服務(wù)函數(shù)中清零CONTROL[0]位,再返回到線程模式下清零CONTROL[1]位切換到MSP;而從“特權(quán)級+MSP”狀態(tài)下切換到“用戶級+PSP”狀態(tài)下,只需置位CONTROL[0]與CONTROL[1]。[!--empirenews.page--]

4 系統(tǒng)測試

在基于第二代Correx-M3內(nèi)核的LPC1786處理器的語音識別系統(tǒng)上,對修改后的操作系統(tǒng)進行測試。具體測試過程為:首先創(chuàng)建3個信號量0、1、2(計數(shù)器初始值都為0);ADC按10 kHz的頻率對語音信號采樣,采樣200點(也就是一幀數(shù)據(jù))后發(fā)送信號量0(發(fā)生中斷級切換);任務(wù)0(優(yōu)先級0)請求信號量0,并對語音信號預(yù)處理并檢測語音信號的起始端與結(jié)束端;當(dāng)任務(wù)0檢測到起始端后,每處理完一幀數(shù)據(jù)都發(fā)送信號量1(產(chǎn)生任務(wù)級切換),直到檢測到結(jié)束端,任務(wù)1(優(yōu)先級1)請求道信號量1后對真正的語言信號進行特征提取;當(dāng)任務(wù)0檢測到語音信號結(jié)束端時發(fā)送信號量2,任務(wù)2(優(yōu)先級2)獲得信號量2后利用DWT算法對語音信號進行識別并顯示到LCD屏上。

測試結(jié)果表明,改進后的系統(tǒng)抗干擾能力、穩(wěn)定性和安全性均大大增強,并且系統(tǒng)連續(xù)穩(wěn)定地運行很長時間,沒有出現(xiàn)任何問題,可見系統(tǒng)移植成功。

結(jié)語

改進后的系統(tǒng),內(nèi)存的使用沒有增加,只是增加了很小的系統(tǒng)開銷;但配合MPU使用,使系統(tǒng)的安全性和穩(wěn)定性得到了很大的提高。該方法可廣泛應(yīng)用于對系統(tǒng)安全性與穩(wěn)定性要求比較高的場合。

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

香港2025年9月11日 /美通社/ -- 華欽科技集團(納斯達克代碼:CLPS,以下簡稱"華欽科技"或"集團")近日宣布成功利用人工智能(AI),包括微軟Copilot等客戶指定AI模型,完成對一家香港大型銀行30年歷...

關(guān)鍵字: 人工智能 PS REACT 測試

中國鄭州2025年9月5日 /美通社/ --?全球領(lǐng)先的電動客車制造商宇通客車("宇通",上交所代碼:600066)全新升級的車聯(lián)網(wǎng)系統(tǒng)Link+采用先進技術(shù)實現(xiàn)車隊車輛與管理平臺的智能互聯(lián)。作為Vehicle+升級版,...

關(guān)鍵字: LINK 車聯(lián)網(wǎng) AI PS

超高功率密度AI電源模塊MPC24380破解算力升級的能源與散熱難題 上海2025年8月27日 /美通社/ -- 8月26日,elexcon2025-第22屆深圳國際電子展正式拉開帷幕。為了表彰在"AI與雙碳"雙線技術(shù)...

關(guān)鍵字: 電子 AI芯片 PS BSP

北京2025年8月20日 /美通社/ -- 全球領(lǐng)先的市場研究公司之一益普索Ipsos,宣布與斯坦福大學(xué)政治與社會變革實驗室(PASCL)達成開創(chuàng)性合作,共同探索人工智能(AI)與合成數(shù)據(jù)在市場與消費者研究中的創(chuàng)新應(yīng)用。...

關(guān)鍵字: 斯坦福 人工智能 PS OS

-DXC助力Northeast Grocery實現(xiàn)數(shù)字化轉(zhuǎn)型,為其節(jié)省4000萬美元 DXC為Northeast Grocery簡化了復(fù)雜流程,并加速了其創(chuàng)新路線圖 弗吉尼亞州阿什本2025年8月12日 /美通社/...

關(guān)鍵字: 數(shù)字化 EAST PS TOP

8月14日消息,據(jù)媒體報道,索尼首席財務(wù)官Hiroki Totoki在2025財年第一季度財報電話會議上宣布,為應(yīng)對美國關(guān)稅影響,公司已對PlayStation 5(PS5)供應(yīng)鏈進行了戰(zhàn)略調(diào)整。

關(guān)鍵字: 索尼 PS

汽車12V系統(tǒng)到汽車48V系統(tǒng)全適用 上海2025年8月11日 /美通社/ --?MPS芯源系統(tǒng)(NASDAQ代碼:MPWR)近日發(fā)布的新產(chǎn)品MPQ6539-AEC1,是一款專為三相無刷直流(BLDC)電機驅(qū)動器而設(shè)計...

關(guān)鍵字: 柵極驅(qū)動器 驅(qū)動器IC PS QFN

—這款廣受歡迎的低語聲護士型安卓機器人的聲庫將于7月16日起,在VOCALOID官方商店發(fā)售 日本濱松市 2025年7月16日 /美通社/ --?雅馬哈公司宣布,該公司將于7月16日正式發(fā)布面向VOCALOID(...

關(guān)鍵字: AI BSP PS 機器人

上海 2025年7月14日 /美通社/ -- MPS芯源系統(tǒng)(NASDAQ代碼:MPWR)近日發(fā)布的MP2764是新一代高集成度、高效率、帶NVDC路徑管理的升降壓充電管理芯片,專為筆記本電腦、平板電腦、游戲掌機等應(yīng)用...

關(guān)鍵字: 充電IC 筆記本電腦 PS 電感

上海 2025年6月10日 /美通社/ -- MPS芯源系統(tǒng)(NASDAQ代碼:MPWR)近期發(fā)布了兩款新產(chǎn)品:NovoOne開關(guān)MPXG2100系列和PFC穩(wěn)壓器MPG44100系列,旨在為快速發(fā)展的快速充電市場、工...

關(guān)鍵字: ACDC 高集成 PS 電壓
關(guān)閉