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

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于μC/OS-Ⅱ農(nóng)田信息采集系統(tǒng)的研究與設(shè)計(jì)

          基于μC/OS-Ⅱ農(nóng)田信息采集系統(tǒng)的研究與設(shè)計(jì)

          作者: 時(shí)間:2012-04-13 來(lái)源:網(wǎng)絡(luò) 收藏


          3 軟件設(shè)計(jì)實(shí)現(xiàn)
          3.1 μC/-Ⅱ嵌入式操作系統(tǒng)在S3CA4B0X芯片上的移植
          在嵌入式操作系統(tǒng)應(yīng)用中,每個(gè)任務(wù)都是相互獨(dú)立的,而且會(huì)發(fā)生頻繁的任務(wù)轉(zhuǎn)換,為了使轉(zhuǎn)換的任務(wù)能夠返回到原來(lái)的斷點(diǎn),所以必須得把與轉(zhuǎn)換的任務(wù)運(yùn)行環(huán)境密切相關(guān)的各種寄存器和變量全部保存起來(lái)。這就是定義構(gòu)造一個(gè)用戶任務(wù)堆棧結(jié)構(gòu),來(lái)保證多任務(wù)嵌入式操作系統(tǒng)的正常運(yùn)行,這種堆棧結(jié)構(gòu)保存了與各個(gè)轉(zhuǎn)換的任務(wù)運(yùn)行環(huán)境密切相關(guān)的所有寄存器變量,而且所有任務(wù)的堆棧結(jié)構(gòu)必須完全一致,這樣才能用統(tǒng)一的任務(wù)切換程序在任務(wù)之間作頻繁的任務(wù)轉(zhuǎn)換,而且還要求不會(huì)破壞各個(gè)任務(wù)的實(shí)時(shí)運(yùn)行環(huán)境。因此在建立每一個(gè)新任務(wù)的同時(shí),必須為該任務(wù)分配一定的系統(tǒng)資源,包括一個(gè)任務(wù)棧、一個(gè)任務(wù)控制塊,并將與該任務(wù)密切相關(guān)的各個(gè)變量,比如任務(wù)優(yōu)先級(jí)別、堆棧大小等變量保存到任務(wù)控制塊中,同時(shí)還得完全按照任務(wù)堆棧初始化結(jié)構(gòu)那樣初始化該任務(wù)的任務(wù)堆棧,然后將任務(wù)堆棧的棧頂指針保存到該任務(wù)控制塊的相應(yīng)位置。
          移植工作主要是改寫_CPU.H,_CPUA.ASM,OS_CPU.C,OS_CFGH,INCLUDES.H,其中與處理器相關(guān)的文件為:OS_CPU.H,OS_CP U.C,OS_CPU_.A.ASM。μC/OS-Ⅱ嵌入式操作系統(tǒng)硬件和軟件體系結(jié)構(gòu)如圖2所示。

          本文引用地址:http://www.ex-cimer.com/article/194066.htm

          b.jpg


          在數(shù)據(jù)類型定義中,S3C44B0X芯片是32位處理器,但是,μC/OS-Ⅱ嵌入式操作系統(tǒng)所處理的仍然是INT16U。用戶必須將任務(wù)堆棧的數(shù)據(jù)類型告訴給μC/OS-Ⅱ嵌入式操作系統(tǒng)。這個(gè)過(guò)程是通過(guò)為OS_STK聲明正確的C數(shù)據(jù)類型來(lái)完成的。S3C44B0X芯片的堆棧成員是16位的,所以將OS_TsK聲明為無(wú)符號(hào)整形數(shù)據(jù)類型,定義如下:
          tyPedefunsignedlong OS_STK;
          堆棧增長(zhǎng)方向OS_STK_GROWTH定義如下:
          #defin OS_STK_GROWTH左堆棧增長(zhǎng)方向?yàn)閺纳贤略鲩L(zhǎng)
          #define STACKSIZE256/μC/OS-Ⅱ嵌入式操作系統(tǒng)需要先禁止中斷訪問(wèn)代碼的臨界區(qū),并且在訪問(wèn)完畢后重新允許中斷。
          與所有的實(shí)時(shí)內(nèi)核一樣,μC/OS-Ⅱ嵌入式操作系統(tǒng)需要先禁止中斷再訪問(wèn)代碼的臨界區(qū),并且在訪問(wèn)完畢后重新允許中斷。這就使得μC/OS-Ⅱ嵌入式操作系統(tǒng)能夠保護(hù)臨界區(qū)代碼免受多任務(wù)或中斷服務(wù)例程的破壞。在S3CA4B0X芯片上是通過(guò)兩個(gè)函數(shù)(OS_ENTER_CRITICAL()和OS_EXIT_RITICAL())實(shí)現(xiàn)開(kāi)關(guān)中斷的。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();