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

正文內(nèi)容

基于arm9的μcosⅱ嵌入式系統(tǒng)移植畢業(yè)設(shè)計(jì)-在線瀏覽

2024-08-04 16:39本頁面
  

【正文】 Intenet的階段,歷經(jīng)50多年。 嵌入式體系硬件基礎(chǔ)嵌入式系統(tǒng)的硬件核心是嵌入式微處理器,另外包括總線、存儲器、輸入/輸出接口和設(shè)備。2. 總線:集成在嵌入式微處理器中,選擇總線和微處理器密切相關(guān),總線的種類隨不同的微處理器的結(jié)構(gòu)而不同。主存用于存數(shù)代碼和數(shù)據(jù);外存存放各種信息4. 輸入/輸出接口和設(shè)備:集成在微處理器中,主要包括中斷控制器、DMA、串行和并行接口等 嵌入式體系軟件基礎(chǔ)RTOS(實(shí)時多任務(wù)操作系統(tǒng))、文件系統(tǒng)、GUI(圖形接口)、網(wǎng)絡(luò)系統(tǒng)和通用的組件模塊構(gòu)成了嵌入式系統(tǒng)的軟件層。目前,世界上一些應(yīng)用比較成功的EOS產(chǎn)品系列已經(jīng)被推出了。EOS除了具備了一般操作系統(tǒng)最基本的功能(如任務(wù)調(diào)度、機(jī)制同步、中斷處理、文件功能等)外,還具有以下的特點(diǎn):1. 可裝載卸載性。2. 極強(qiáng)的實(shí)時性。3. 統(tǒng)一的接口。4. 方便操作、簡單、提供圖形GUI,圖形的界面,追求的是易學(xué)易用性。6. 強(qiáng)穩(wěn)定性和弱交互性。8. 更好的適應(yīng)硬件,具有良好的移植性。1992年美國人Jean SystemProgramming雜志上最先發(fā)表了RTOS,名為μC/OS,從而開創(chuàng)了它的新時代。至今,從8位到64位,μC/OSII已經(jīng)在超過40種的不同微處理器上運(yùn)行,在世界范圍內(nèi)得到廣泛使用,包括諸多領(lǐng)域,如手機(jī)、路由器、集線器、不間斷電源、飛行器、醫(yī)療設(shè)備及工業(yè)控制等。這說明μC/OSII是穩(wěn)定可靠的,可用于與人性命攸關(guān)的安全緊要(safety critical)系統(tǒng);當(dāng)然,也可用于非安全緊要系統(tǒng)。基于RISC(精簡指令)的結(jié)構(gòu),較微程序的控制復(fù)雜指令系統(tǒng)的計(jì)算機(jī)相對簡單,使得它用有較高的中斷響應(yīng)和指令處理的能力。指令集比較適用不同的高級語言編譯器,但需要臨界代碼段,匯編語言編程也比較簡單,不像其它的需要復(fù)雜的編譯器來管理指令。比如一條指令正在執(zhí)行,下一條指令正在被破譯,同時第三條指令可以從存儲器取出。 ARM9有32位地址總線,也可以配制成26位的地址線,向下兼容其它的早期處理器。基于上述的優(yōu)勢,ARM9適用于一些需要緊湊且功能強(qiáng)大的RISC處理器系統(tǒng),包括電子通訊、數(shù)據(jù)通信、信息存儲、圖像處理、JOEG控制器等,為人們的日常生活和工業(yè)生產(chǎn)帶來了極大的便利。本文采用的是S3C2440芯片,開發(fā)環(huán)境采用Keil uVision3,基本滿足了移植的需求。 移植條件由于CPU版本的不同,μC/OSII 可能會出現(xiàn)不兼容的問題,這時需要對操作系統(tǒng)進(jìn)行移植,使它能夠在使用的CPU 上運(yùn)行。 移植步驟μC/OSⅡ作為實(shí)時操作系統(tǒng)操作系統(tǒng),在設(shè)計(jì)初期就已經(jīng)充分考慮了可移植性,針對不同的CPU版本,μC/OSⅡ的移植核心環(huán)節(jié)就是改寫一些與處理器硬件相關(guān)的函數(shù)。簡而言之。為了避免重新編譯已編譯的內(nèi)容,增加的頭文件必須添加在頭文件列表的最后。 文件 define定義的常量,宏和類型定義(與處理器相關(guān))。所以為了移植的成功,需要對μC/OSⅡ中的數(shù)據(jù)類型進(jìn)行重新的定義。μC/OSⅡ定義了兩個宏來禁止和允許中斷:OS_ENTER_CRITICAL() 和OS_EXIT_CRITICAL()。因?yàn)椴煌奈⑻幚砥骱臀⒖刂破鞫褩IL方式不同,μC/OSⅡ中可以通過改變OS_STK_GROWTH的值來改變堆棧生長方式當(dāng)把OS_STK_GROWTH值置0,堆棧的生長方式是從下往上長。OS_TASK_SW()是一個在μC/OSⅡ進(jìn)行任務(wù)切換(低任務(wù)優(yōu)先級級到最高優(yōu)先級任務(wù))時被調(diào)用的宏。 文件 μC/OSⅡ的移植中需要編寫六個簡單的C函數(shù):OSTaskStkInit()OSTaskCreateHook()OSTaskDelHook()OSTaskSwHook()OSTaskStatHook()OSTimeTickHook()唯一必要的函數(shù)是OSTaskStkInit(),其它五個函數(shù)需要聲明但沒必要包含代碼。OSTaskCreate()和 OSTaskCreateExt()會得到傳遞任務(wù)地址,pdata指針,任務(wù)堆棧棧頂和任務(wù)優(yōu)先級等參數(shù),為了堆棧結(jié)構(gòu)初始化的正確性,OSTaskStkInt()只需要上述的三個和一個附加在OSTaskCreateExt()中得到的選項(xiàng)。處理器文檔會指明堆棧指針會是指向下個堆棧的空閑位置,還是指向了最后存入數(shù)據(jù)的堆棧單元位置。當(dāng)OSTaskCreateHook()被調(diào)用時,能夠收到指向已建立的任務(wù)的OS_TCB 的指針,可用于訪問任務(wù)的附加數(shù)據(jù)(MMU 寄存器,浮點(diǎn)寄存器,以及調(diào)試的信息等)和其它所有結(jié)構(gòu)成員。()OSTaskDelHook()在刪除任務(wù)時被調(diào)用。OSTaskDelHook()無返回值。 OSTaskSwHook()OSTaskSwHook()是一個與任務(wù)切換相關(guān)的函數(shù)。注意:在調(diào)用OSTaskSwHook()期間中斷是一直處于禁止?fàn)顟B(tài)。在此移植過程中不需要具體的OSTaskSwHook ()函數(shù)代碼, 置0時。因此可以用OSTaskStatHook()來進(jìn)行擴(kuò)展統(tǒng)計(jì)的功能。在此移植過程中不需要具體的OSTaskStat ()函數(shù)
點(diǎn)擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1