色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

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

          作者: 時間:2012-04-13 來源:網(wǎng)絡 收藏


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

          本文引用地址:http://cafeforensic.com/article/194066.htm

          b.jpg


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



          評論


          相關推薦

          技術專區(qū)

          關閉