【正文】
感謝朋友幫我找尋的資料以及研究方向的建議。 第六章 結(jié)束語本文對(duì)嵌入式實(shí)時(shí)操作系統(tǒng)μC/OSⅡ移植到ARM9開發(fā)板上的過程進(jìn)行了較為詳盡的分析和操作,通過簡單的任務(wù)例程,、EasyJTAGH仿真器及開發(fā)板的組合情況下進(jìn)行了測(cè)試,從而驗(yàn)證了移植的準(zhǔn)確性,成功的為μC/OSⅡ嵌入式實(shí)時(shí)系統(tǒng)的復(fù)雜應(yīng)用,提供了基本條件。選擇【Project】【Debug】,啟動(dòng)AXD進(jìn)行JTAG仿真調(diào)試。3. 創(chuàng)建uCOS_II文件夾,創(chuàng)建兩個(gè)子文件夾,分別為ARM、SOURCEa ARM存放和平臺(tái)相關(guān)的文件( )b SOURCE下存入和平臺(tái)無關(guān)的文件( ),即將μC/OS 4. 創(chuàng)建一個(gè)S3C2440文件夾,創(chuàng)建兩個(gè)子文件夾,分別為INC、SRCa. INC存放S3C2440相關(guān)頭文件( )b. SRC存放S3C2440相關(guān)源文件( )5. 創(chuàng)建一個(gè)APP文件夾(、)。ret urn 。測(cè)試代碼程序如下:void OSTaskIdleHook (void){static x = 0 。 移植測(cè)試當(dāng)移植工作完成之后就是對(duì)它的測(cè)試。如果編譯器能夠插入?yún)R編代碼,就可以將 OSIntCtxSw()代碼放到 文件中,而不放到 文件中,這是因?yàn)椴荒苤苯訌?C 語言中訪問 CPU 寄存器。因?yàn)椴荒苤苯訌腃中訪問CPU寄存器,所以代碼必須寫在匯編語言中。在當(dāng)前任務(wù)調(diào)用μC/OSⅡ提供的系統(tǒng)服務(wù),且更高優(yōu)先級(jí)任務(wù)處于就緒狀態(tài)的同時(shí),μC/OSⅡ就會(huì)借助向量地址找到OSCtxSw()。 OSStartHighRdy()使就緒狀態(tài)的任務(wù)開始運(yùn)行的函數(shù)叫做OSStart()。事實(shí)上,OSTaskTimeHook()是在節(jié)拍被μC/OSⅡ真正處理,并通知實(shí)例或應(yīng)用程序之前被調(diào)用。因此可以用OSTaskStatHook()來進(jìn)行擴(kuò)展統(tǒng)計(jì)的功能。注意:在調(diào)用OSTaskSwHook()期間中斷是一直處于禁止?fàn)顟B(tài)。OSTaskDelHook()無返回值。當(dāng)OSTaskCreateHook()被調(diào)用時(shí),能夠收到指向已建立的任務(wù)的OS_TCB 的指針,可用于訪問任務(wù)的附加數(shù)據(jù)(MMU 寄存器,浮點(diǎn)寄存器,以及調(diào)試的信息等)和其它所有結(jié)構(gòu)成員。OSTaskCreate()和 OSTaskCreateExt()會(huì)得到傳遞任務(wù)地址,pdata指針,任務(wù)堆棧棧頂和任務(wù)優(yōu)先級(jí)等參數(shù),為了堆棧結(jié)構(gòu)初始化的正確性,OSTaskStkInt()只需要上述的三個(gè)和一個(gè)附加在OSTaskCreateExt()中得到的選項(xiàng)。OS_TASK_SW()是一個(gè)在μC/OSⅡ進(jìn)行任務(wù)切換(低任務(wù)優(yōu)先級(jí)級(jí)到最高優(yōu)先級(jí)任務(wù))時(shí)被調(diào)用的宏。μC/OSⅡ定義了兩個(gè)宏來禁止和允許中斷:OS_ENTER_CRITICAL() 和OS_EXIT_CRITICAL()。 文件 define定義的常量,宏和類型定義(與處理器相關(guān))。簡而言之。 移植條件由于CPU版本的不同,μC/OSII 可能會(huì)出現(xiàn)不兼容的問題,這時(shí)需要對(duì)操作系統(tǒng)進(jìn)行移植,使它能夠在使用的CPU 上運(yùn)行?;谏鲜龅膬?yōu)勢(shì),ARM9適用于一些需要緊湊且功能強(qiáng)大的RISC處理器系統(tǒng),包括電子通訊、數(shù)據(jù)通信、信息存儲(chǔ)、圖像處理、JOEG控制器等,為人們的日常生活和工業(yè)生產(chǎn)帶來了極大的便利。比如一條指令正在執(zhí)行,下一條指令正在被破譯,同時(shí)第三條指令可以從存儲(chǔ)器取出?;赗ISC(精簡指令)的結(jié)構(gòu),較微程序的控制復(fù)雜指令系統(tǒng)的計(jì)算機(jī)相對(duì)簡單,使得它用有較高的中斷響應(yīng)和指令處理的能力。至今,從8位到64位,μC/OSII已經(jīng)在超過40種的不同微處理器上運(yùn)行,在世界范圍內(nèi)得到廣泛使用,包括諸多領(lǐng)域,如手機(jī)、路由器、集線器、不間斷電源、飛行器、醫(yī)療設(shè)備及工業(yè)控制等。8. 更好的適應(yīng)硬件,具有良好的移植性。4. 方便操作、簡單、提供圖形GUI,圖形的界面,追求的是易學(xué)易用性。2. 極強(qiáng)的實(shí)時(shí)性。目前,世界上一些應(yīng)用比較成功的EOS產(chǎn)品系列已經(jīng)被推出了。2. 總線:集成在嵌入式微處理器中,選擇總線和微處理器密切相關(guān),總線的種類隨不同的微處理器的結(jié)構(gòu)而不同。嵌入式系統(tǒng)從上世紀(jì)60年代中期開始,從無操作系統(tǒng)、簡單操作系統(tǒng)、實(shí)時(shí)操作系統(tǒng)直至今日面向Intenet的階段,歷經(jīng)50多年。s production and living needs, and thus also brought the rapid development of the embedded operating system. Mu C/OS Ⅱ kernel code, as a kind of open embedded realtime operating system, the ARM kernel, less consumption, lower cost, the two match each other, form the relatively perfect collocation. This article mainly tells the mu C