嵌入式操作系統(tǒng)實驗報告.doc_第1頁
嵌入式操作系統(tǒng)實驗報告.doc_第2頁
嵌入式操作系統(tǒng)實驗報告.doc_第3頁
嵌入式操作系統(tǒng)實驗報告.doc_第4頁
嵌入式操作系統(tǒng)實驗報告.doc_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、嵌入式操作系統(tǒng)實驗報告.實驗一嵌入式開發(fā)環(huán)境的建立一、實驗目的通過此實驗系統(tǒng),讀者可以了解嵌入式實時操作系統(tǒng)uC/OS-一、實驗目的通過此實驗系統(tǒng),讀者可以了解嵌入式實時操作系統(tǒng)uC/OS: 注: “重新構建 ”將本項目中的全部源代碼進行一次完全的編譯和連接,花費時間較多?!皹嫿椖?”則僅僅將新修改過的源代碼進行編譯和連接,花費時間最少。“重建 BSP 及項目 ”,不但要完成 “重新構建”的全部工作,另外還要編譯與該項目有關的的LambdaEDU 中內(nèi)置的部分代碼,花費時間最多。但是在項目剛建立后,第一次構建時需要選擇“重建 BSP 及項目 ”。以后的構建中選擇“重新構建 ”或 “構建項目

2、”即可。另外,在替換了源代碼中的文件后,需要選擇 “重新構建 ”來完成該項目的構建。4. 配置虛擬機和目標機代理 (1) 制作 X86 啟動盤在LambdaEDU 中依次點擊“工具 ”、 “ Bochs、”“制作虛擬機啟動映象”。對啟動盤進行一些參數(shù)設置后(如下圖所示),系統(tǒng)將自動為你生成一個PC 虛擬機的啟動盤映像。(2) 配置虛擬機選擇使用的網(wǎng)絡適配器(網(wǎng)卡)后,點擊“確定 ”完成配置。注意:如果計算機上有多網(wǎng)卡,請將其他網(wǎng)卡停用(包括 VMware虛擬機添加的虛擬網(wǎng)卡)。 (-“重新構建”將本項目中的全部源代碼進行一次完全的編譯和連接,花費時間較多。“構建項目 ”則僅僅將新修改過的源代碼

3、進行編譯和連接,花費時間最少?!爸亟?BSP 及項目 ”,不但要完成“重新構建 ”的全部工作,另外還要編譯與該項目有關的的LambdaEDU 中內(nèi)置的部分代碼,花費時間最多。但是在項目剛建立后,第一次構建時需要選擇“重建 BSP 及項目 ”。以后的構建中選擇“重新構建 ”或 “構建項目 ”即可。另外,在替換了源代碼中的文件后,需要選擇 “重新構建 ”來完成該項目的構建。4. 配置虛擬機和目標機代理 (1) 制作 X86 啟動盤在LambdaEDU 中依次點擊“工具 ”、 “ Bochs、”“制作虛擬機啟動映象”。對啟動盤進行一些參數(shù)設置后(如下圖所示),系統(tǒng)將自動為你生成一個PC 虛擬機的啟動

4、盤映像。(2) 配置虛擬機選擇使用的網(wǎng)絡適配器(網(wǎng)卡)后,點擊“確定 ”完成配置。注意:如果計算機上有多網(wǎng)卡,請將其他網(wǎng)卡停用(包括 VMware虛擬機添加的虛擬網(wǎng)卡)。 (: :Void OSSemPend ( OS_EVNNT *pevent, INT16U timeout, int8u *err ); 參數(shù)說明:pevent 是指向信號量的指針。該指針的值在建立該信號量時可以得到。(參考OSSemCreate()S數(shù))。Timeout允許一個任務在經(jīng)過了指定數(shù)目的時鐘節(jié)拍后還沒有得到需要的信號量時恢復就緒狀態(tài)。 如果該值為零表示任務將持續(xù)地等待信號量,最大的等待時間為 65535 個時鐘

5、節(jié)拍。這個時間長度并不是非常嚴格的,可能存在一個時鐘節(jié)拍的誤差。Err 是指向包含錯誤碼的變量的指針。OSSemPend()5數(shù)返回的錯誤碼可能為下述幾種:l OS_NO_ERR :信號量不為零。l OS_TIMEOUT :信號量沒有在指定數(shù)目的時鐘周期內(nèi)被設置。lOS_ERR_PEND_ISR :從中斷調(diào)用該函數(shù)。雖然規(guī)定了不允許從中斷調(diào)用該函數(shù),但 QOS-:Void OSSemPend ( OS_EVNNT *pevent, INT16U timeout, int8u *err ); 參數(shù)說明:pevent 是指向信號量的指針。該指針的值在建立該信號量時可以得到。(參考OSSemCrea

6、teQi數(shù))。Timeout允許一個任務在 經(jīng)過了指定數(shù)目的時鐘節(jié)拍后還沒有得到需要的信號量時恢復就緒狀態(tài)。 如果該值為零表示任務將持續(xù)地等待信號量,最大的等待時間為 65535 個時鐘節(jié)拍。這個時間長度并不是非常嚴格的,可能存在一個時鐘節(jié)拍的誤差。Err 是指向包含錯誤碼的變量的指針。OSSemPend()5數(shù)返回的錯誤碼可能為下述幾種:l OS_NO_ERR :信號量不為零。l OS_TIMEOUT :信號量沒有在指定數(shù)目的時鐘周期內(nèi)被設置。lOS_ERR_PEND_ISR :從中斷調(diào)用該函數(shù)。雖然規(guī)定了不允許從中斷調(diào)用該函數(shù),但 e/OS: pevent不是指向信號量的指針。返回值:無注

7、意:必須先建立信號量,然后使用。不允許從中斷調(diào)用該函數(shù)。4.3 OSSemPost() OSSemPost)函數(shù)置起指定的信號量。如果指定的信號量是零或大于零,OSSemPos()t函數(shù)遞增該信號量并返回。如果有任何任務在等待信號量,最高優(yōu)先級的任務將得到信號量并進入就緒狀態(tài)。任務調(diào)度函數(shù)將進行任務調(diào)度,決定當前運行的任務是否仍然為最高優(yōu)先級的就緒狀態(tài)的任務。函數(shù)原型:INT8U OSSemPost( OS_EVENT *pevent) ; 參數(shù)說明:pevent 是指向信號量的指針。該指針的值在建立該信號量時可以得到。(參考OSSemCreate()i數(shù))。返回值:OSSemPost()B數(shù)

8、的返回值為下述之一:1 OS_NO_ERR :信號量被成功地設置l OS_SEM_OVF :信號量的值溢出l OS_ERR_EVENT_TYPE :pevent 不是指向信號量的指針注意:必須先建立信號量,然后使用。4.4 OSTimeDly() OSTimeDly()將一個任務延時若干個時鐘節(jié)拍。如果延時時間大于0,系統(tǒng)將延時時間0 表示不進行延時,函數(shù)將立即返回調(diào)用者。延時的具體時間依賴于系統(tǒng)每秒鐘有多少時鐘節(jié)拍(由文件SO_CFG.H 中的常量 OS_TICKS_PER_SEC 設定) 。函數(shù)原型:void OSTimeDly ( INT16U ticks); 參數(shù)說明:ticks 為要延時的時鐘節(jié)拍數(shù)。返回值:無注意:注意到延時時間0 表示不進行延時操作,而立即返回調(diào)用者。為了確保設定的延時時間,建議用戶設定的時鐘節(jié)拍數(shù)加1。例如,希望延時10 個時鐘節(jié)拍,可設定參數(shù)為11。五、 實驗過程中遇到的問題及體會在實驗前要對該問題進行深入的理解,即五個哲學家任務(ph1、 、 ph2、 p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論