<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一種提高uc/os-ii操作系統(tǒng)安全性與穩(wěn)定性的方法

          一種提高uc/os-ii操作系統(tǒng)安全性與穩(wěn)定性的方法

          作者: 時間:2013-11-04 來源:網絡 收藏

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

          在任務創(chuàng)建函數(shù)的參數(shù)中加入mode參數(shù),形式如下:
          一種提高uc/os-ii操作系統(tǒng)安全性與穩(wěn)定性的方法

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

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

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

          堆棧初始函數(shù)的參數(shù)中加入mode參數(shù),形式如下:
          一種提高uc/os-ii操作系統(tǒng)安全性與穩(wěn)定性的方法

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

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

          在OS_CPU_A.ASM文件中,只需修改函數(shù)PendSV_Handler(PendSV服務例程),任務切換是由它來完成的。
          PendSV服務例程的流程如圖2所示。
          一種提高uc/os-ii操作系統(tǒng)安全性與穩(wěn)定性的方法


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

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

          一種提高uc/os-ii操作系統(tǒng)安全性與穩(wěn)定性的方法
          一種提高uc/os-ii操作系統(tǒng)安全性與穩(wěn)定性的方法

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

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

          4 系統(tǒng)測試

          在基于第二代Correx-M3內核的處理器的語音識別系統(tǒng)上,對修改后的操作系統(tǒng)進行測試。具體測試過程為:首先創(chuàng)建3個信號量0、1、2(計數(shù)器初始值都為0);ADC按10 kHz的頻率對語音信號采樣,采樣200點(也就是一幀數(shù)據)后發(fā)送信號量0(發(fā)生中斷級切換);任務0(優(yōu)先級0)請求信號量0,并對語音信號預處理并檢測語音信號的起始端與結束端;當任務0檢測到起始端后,每處理完一幀數(shù)據都發(fā)送信號量1(產生任務級切換),直到檢測到結束端,任務1(優(yōu)先級1)請求道信號量1后對真正的語言信號進行特征提??;當任務0檢測到語音信號結束端時發(fā)送信號量2,任務2(優(yōu)先級2)獲得信號量2后利用DWT算法對語音信號進行識別并顯示到LCD屏上。
          測試結果表明,改進后的系統(tǒng)抗干擾能力、穩(wěn)定性和安全性均大大增強,并且系統(tǒng)連續(xù)穩(wěn)定地運行很長時間,沒有出現(xiàn)任何問題,可見系統(tǒng)移植成功。

          結語

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


          上一頁 1 2 下一頁

          關鍵詞: ucos-ii LPC1786 Cortex-M3

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();