freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于arm9的μcos--ⅱ嵌入式系統(tǒng)移植(參考版)

2024-09-04 18:30本頁面
  

【正文】 } 。 /* An LED light cycle */ } i + + 。 if (i %300000 = = 0) /* Each light a LED light 30,000 times */ { sysUtilsLightLed (LED_ ALL,FALSE) 。 Execution of an interrupt return instruction。 Call OSIntExit ()。 Call OSIntEnter () or directly to the OSIntNesting plus 1。 / * Do not allow here!!! * / OSStart ()。 } OSTickISR() 程序清單 L 在不正確的位置啟動時鐘節(jié)拍中斷 void main(void) { OSInit ()。s stack to restore it。 Get tasks need to restore the stack pointer: Stack Pointer = OSTCBHighRdy OSTCBStkPtr。 大慶師范學(xué)院本科畢業(yè)論文(設(shè)計) 23 OSTCBCur = OSTCBHighRdy。 The current task stack pointer saved to the current task OS_TCB in: OSTCBCurOSTCBStkPtr = stack pointer。 Execution of an interrupt return instruction。 All processor registers from the new task39。 OSPrioCur = OSPrioHighRdy。 Call a userdefined OSTaskSwHook ()。 The current task39。 Return from interrupt instruction execution。 New task39。 大慶師范學(xué)院本科畢業(yè)論文(設(shè)計) 22 Stack Pointer recovery tasks: Stack pointer = OSTCBHighRdyOSTCBStkPtr。 /*雙精度浮點數(shù) ( 64 位長度) */ typedef unsigned int OS_STK。 /*有符號 32 位整數(shù) */ typedef float FP32。 /*有符號 16 位整數(shù) */ typedef unsigned char INT32U。 /*有符號 8 位整數(shù) */ typedef unsigned char INT16U。 /*無符號布爾類型 */ typedef unsigned char INT8U。 在論文撰寫過程中,也感謝曾在培訓(xùn)過程中指導(dǎo)我的葉老師,以及在公司實習(xí)過程中幫助我的各位同事。 論文的完成,也同樣少不了大學(xué)四年中教育我的老師們,沒有他們,我現(xiàn)在仍舊只是一個懵 懂的少年。 經(jīng)過幾個月的查閱資料、資料學(xué)習(xí)和論文撰寫, 成 功完成了此篇論文《 基于 ARM9的μ C/OSⅡ嵌入式系統(tǒng)移植 》。 隨著科技的發(fā)展,工業(yè)生產(chǎn)和日常生活的需要,作為一個具有明顯優(yōu)勢的實時操作系統(tǒng), μC/OSⅡ 具有廣泛的應(yīng)用前景和市場價值,必定會在嵌入式中占據(jù)一席之地。 在 中默認設(shè)置幾個斷點,程序會在斷點處停止,然后進行分步執(zhí)行操作 同 VB 類似,在 中可以通過觀察窗口觀察程序中的全局變量和局部變量的值的變化情況,具體操作是點擊【 Context Variable】按鈕 (或者選擇【 Processor Views】條目下的【 Variables】 )。 將 ARM9 開發(fā)板上的蜂鳴器 \Lcd 跳線 進行 短接, 啟動方式 的 選擇跳線 也 短接,然后按 RST 鍵復(fù)位系統(tǒng)。設(shè)置之后,選用 DebugRel 生成目標,然后點擊 Make 編譯工程。 打開 JFlashARM,點擊 Options 下拉菜單,找到 Project settings 選項,點擊,在【 General】中對連接 USB 端 口進行設(shè)置(不確定的情況下去系統(tǒng)設(shè)備管理器中查找),如圖 515 所示: 圖 515 JFashArm 設(shè)置( 1) 大慶師范學(xué)院本科畢業(yè)論文(設(shè)計) 16 在【 Target Interface】條目中的【 Core】選擇設(shè)備: ARM9,如圖 516 所示: 圖 516 JFashArm 設(shè)置( 2) JLink 設(shè)置完畢。如圖 513 所示 。 圖 510 工程設(shè)置( 2) 在【 Language Settings】條目下依次選擇【 ARM Assembler】 ,將其處理器設(shè)置成ARM920T, 【 ARM C Compliler】、【 ARM C++ Complier】 也是類似操作 ,如圖 511所示 。 工程設(shè)置 在 中的工程建立之后,還需要對于工程進行相應(yīng)的設(shè)置 在【 Edit】 → 【 DebugRel Settings】下 在【 Target】條目中選擇【 Target Settings】,將其中的【 Postlinker】設(shè)置 成 ARM fromELF,如圖 510 所示 。 工程創(chuàng)建 在 PC 機上安裝 和 JLinkH 仿真器(軟件和驅(qū)動),通過轉(zhuǎn)換口將 JLinkH仿真器和 ARM9的開發(fā)板以及 PC機連接起來, ARM9的蜂鳴器短接跳線 JP9。 圖 55 uCOS_II 文件夾 在 API 文件夾中只有一個應(yīng)用配置相關(guān)的頭文件: ,如圖 56 所示: 圖 56 API 文件夾 include中有三個文件: 、 ,其中 進行配置,如圖 57: 圖 57 include 文件夾 arm文件夾中也是三個文件: 、 、 ,其中后兩個大慶師范學(xué)院本科畢業(yè)論文(設(shè)計) 11 是需要進行配置的文件,如圖 58 所示: 圖 58 arm 文件夾 在 SOURCE文件夾中有一個 API文件夾(包含 )和 、 、 、 、 、 、 、 、 、 、 和 文件 , 這些是一些與系統(tǒng)服務(wù)相關(guān)的函數(shù)文件,比如消息機制,內(nèi)存共享,信號量等 函數(shù)。 源代碼如圖 51 所示: 圖 51 源代碼文件夾 在 S3C2440 文件夾 下有 兩個子文件夾,分別是 includes 和 source,如圖 52 所示: 圖 52 S3C2440 文件夾下的文件 在 includes 文件中包括 、 、 、 、 、 、 、 , 這些文件都是一些與芯片相關(guān)的頭文件。 函數(shù)配置 實例移植是驗證移植成功的關(guān)鍵。 大慶師范學(xué)院本科畢業(yè)論文(設(shè)計) 9 第五章 實例移植 本章是在基于第四章內(nèi)容的基礎(chǔ)上,進行一個詳細的代碼實例移植。 OSIntCtxSw() OSIntCtxSw(): μC/OSⅡ 中唯一與 微 處理器相關(guān)的函數(shù) 。 OSCtxSw() OSCtxSw():執(zhí)行最高優(yōu)先級的任務(wù)是 μC/OSⅡ 的特點之一,而 OSCtxSw()就是基于此而創(chuàng)建的函數(shù)。 OSStart 是開始運行任務(wù)的函數(shù),在運 行開始之后可以 調(diào)用 OSStartHighRdy()選擇 優(yōu)先級最高的任務(wù) 執(zhí)行。 四個匯編函數(shù)的編寫是 μC/OSⅡ 移植的重點: 1. OSStartHighRdy() 2. OSCtxSw() 3. OSIntCtxSw() 4. OSTickISR() 為了節(jié)省空間和內(nèi)存,將所有與處理器相關(guān)的函數(shù)、代碼集中放到 文件中。事實上, OSTaskTimeHook()是在節(jié)拍被 μC/OSⅡ 真正處理,并通 知實例或應(yīng)用程序之前被調(diào)用。 OSTaskStatHook()無參數(shù),無返回值。任務(wù)切換的
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1