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

正文內(nèi)容

基于arm9的μcos-ⅱ嵌入式系統(tǒng)移植(編輯修改稿)

2024-10-06 18:30 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 易學(xué)易用 性。 5. 支持 TCP/IP 協(xié)議和 其它 的 網(wǎng)絡(luò) 協(xié)議,提供 多種網(wǎng)絡(luò)協(xié)議和 MAC 訪(fǎng)問(wèn)的接口, 為各種手持 移動(dòng) 設(shè)備預(yù)留 了 接口 。 6. 強(qiáng) 穩(wěn)定性和 弱 交互性。 7. 固化 的 代碼,系統(tǒng)和應(yīng)用軟件固化在 ROM 中。 8. 更好的適應(yīng)硬件,具有 良好的移植性。 第二章 μ C/OSII 介紹 實(shí)時(shí)操作系統(tǒng), 英文稱(chēng) Real Time Operating System,簡(jiǎn)稱(chēng) RTOS, 是一種 能夠接受并快速處理外界時(shí)間或中斷,且處理接口在規(guī)定時(shí)間內(nèi)來(lái)控制過(guò)程作出響應(yīng),并控制所有實(shí)時(shí)任務(wù)一致運(yùn)行的系統(tǒng)。 1992年 美國(guó)人 Jean 在 Embedded SystemProgramming 雜志上最先發(fā)表了 RTOS,名為 μC/OS,從而開(kāi)創(chuàng)了它的新時(shí)代。 μC/OS是一個(gè) 源 碼開(kāi)放 , 搶占式 微內(nèi)核 的 實(shí)時(shí)操作系統(tǒng),μC/OSII 是它的升級(jí)版本,全部代碼約有 5000行 , 由 ANSI C, 以及少量的匯編語(yǔ)言 編寫(xiě)而成,結(jié)構(gòu)簡(jiǎn)潔,實(shí)時(shí)性和內(nèi)核的穩(wěn)定性 強(qiáng) 。至今,從 8位到 64位,μ C/OSII已經(jīng)在超過(guò) 40種的不同微處理器上運(yùn)行, 在世界范圍內(nèi)得到廣泛使用,包括諸多領(lǐng)域,如手機(jī)、路由器、集線(xiàn)器、不間斷電源、飛行器、醫(yī)療設(shè)備及工業(yè)控制等。實(shí)際上,μ C/OSII已經(jīng)通過(guò)了非常嚴(yán)格的測(cè)試,并且得到了美國(guó)航空管理局 (Federal Aviation Administration)的認(rèn)證,可以用在飛行器上。這說(shuō)明μ C/OSII 是穩(wěn)定可靠的,可用于與人性命攸關(guān)的安全緊要 (safety critical)系統(tǒng);當(dāng)然,也可用于非安全緊要系統(tǒng)。 μ C/OSII體系結(jié)構(gòu)如圖 大慶師范學(xué)院本科畢業(yè)論 文(設(shè)計(jì)) 圖 μ C/OSII 體系結(jié)構(gòu) 第三章 ARM9 介紹 ARM9 是 32 位通用微處理器 ARM( Advanced RISC Machine)家族中的一員,具有比較低的電源消耗和良好的性 價(jià)比,由此廣泛應(yīng)用于工業(yè)生產(chǎn)和日常生活中?;?RISC(精簡(jiǎn)指令)的 結(jié)構(gòu), 較微程序的控制復(fù)雜指令系統(tǒng)的計(jì)算機(jī)相對(duì)簡(jiǎn)單, 使得它用有 較高的 中斷響應(yīng)和 指令處理 的 能力 。 ARM9 的指令集 共 包含 了 11 種基本類(lèi)型: 用于偏上 的 算術(shù)邏輯單元,桶式 的移位器及 乘法器(兩種) ; 指令控制數(shù)據(jù)傳送:用在彈性地址,高速內(nèi)容切換,和 交換數(shù)據(jù) (三種) ; 用于流程 控制 和特權(quán)級(jí)執(zhí)行 的指令(三種) ; 專(zhuān)門(mén)用在 能夠擴(kuò)展到片外的 協(xié)處理器 中(三種)。 指令集 比較適用 不同 的高級(jí)語(yǔ)言編譯器,但需要臨界代碼段,匯編語(yǔ)言編程也比較簡(jiǎn)單,不像其它的需要 復(fù) 雜的編譯器來(lái)管理指令。 ARM9 的流水線(xiàn)技術(shù),能夠使 指令 處理和系統(tǒng)存儲(chǔ) 的各個(gè)部分都可以連續(xù) 的 運(yùn)行。比如 一條指令正在執(zhí)行,下一條指令正 在被破譯,同時(shí)第三條指令可以 從存儲(chǔ)器取出。 大慶師范學(xué)院本科畢業(yè)論 文(設(shè)計(jì)) 在存儲(chǔ) 的 系統(tǒng)中, ARM9 存儲(chǔ)接口的設(shè)計(jì)能夠最大限度的發(fā)揮性能潛力且代價(jià)降低 ,被做成流水線(xiàn)方式,速度敏感 控制信號(hào)推動(dòng)著 由工業(yè) DRAM 提供的快速局部訪(fǎng)問(wèn)模式。 ARM9 有 32 位地址總線(xiàn), 也 可以配制成 26 位 的 地址線(xiàn),向下兼容其它 的早期 處理器。 全靜態(tài) 的 CMOS 的 ARM9, 允許時(shí)鐘在周期內(nèi)的停止,并保存當(dāng)前的狀態(tài) 。 基于上述的優(yōu)勢(shì), ARM9 適用于一些 需要緊湊且功能強(qiáng)大的 RISC 處理器系統(tǒng),包括電 子通訊、數(shù)據(jù)通信、信息 存儲(chǔ) 、 圖像處理、 JOEG 控制器等,為人們的日常生活 和 工業(yè)生產(chǎn) 帶來(lái)了極大的便利。 第四 章 μC/OSⅡ 在 S3C2440 上的 移植 移植 環(huán)境 簡(jiǎn)介 移植就是使實(shí)時(shí)內(nèi)核能夠在 多個(gè)微處理器或微控制器上 成功運(yùn)行的過(guò)程 。本文采用的是S3C2440芯片,開(kāi)發(fā)環(huán)境采用 Keil uVision3,基本滿(mǎn)足了移植的需求。 三星公司的 16/32位精簡(jiǎn)指令集的微處理器 S3C2440, 基于 ARM920T的核心,實(shí)現(xiàn)了 內(nèi)存管理 , ARBA 總線(xiàn)和 哈佛結(jié)構(gòu)高速緩沖的 具有獨(dú)立的 16KB指令高速緩存和 16KB 數(shù)據(jù)高速緩存 體系結(jié)構(gòu) 。 移植條件 由于 CPU 版本的不同, μ C/OSII 可能會(huì)出現(xiàn)不兼容的問(wèn)題,這時(shí) 需要對(duì)操作系統(tǒng)進(jìn)行移植,使它能夠在使用的 CPU 上運(yùn)行。μ C/OSII 的移植需 滿(mǎn)足以下 的 要求 : 1. 處理器的 C 編譯器可 產(chǎn)生可重入代碼; 2. 進(jìn)入和退出臨界區(qū)代碼 可以使用 C 進(jìn)行調(diào)用 ; 3. 處理器必須支持 具有定時(shí)中斷源的 硬件 中斷 ; 4. 處理器必須 能夠容納一定 的數(shù)據(jù) 硬件堆棧; 5. 處理器需要有交換數(shù)據(jù)的指令 ,使其能夠在 CPU 的寄存器和內(nèi)核及堆 棧間進(jìn)行數(shù)據(jù)的交換 。 移植步驟 μ C/OSⅡ 作為實(shí)時(shí)操作系統(tǒng)操作系統(tǒng),在設(shè)計(jì)初期就已經(jīng)充分考慮了可移植性 , 針對(duì)不同的 CPU 版本, μ C/OSⅡ 的移植核心環(huán)節(jié)就是 改寫(xiě) 一些與處理器硬件相關(guān)的函數(shù)。 移植 工作 包括以下內(nèi)容: 1. 用 define 設(shè)置 一些常量的值 () 大慶師范學(xué)院本科畢業(yè)論 文(設(shè)計(jì)) 2. 聲明 10 個(gè) 指定的 數(shù)據(jù)類(lèi)型 () 3. 用 define 聲明 2 個(gè)宏 () 4. 用 C 語(yǔ)言編寫(xiě) 6 個(gè)簡(jiǎn)單 函數(shù) () 5. 根據(jù)硬件編寫(xiě)了 4 個(gè)函數(shù) (OS_CPU_ ) 是一個(gè) 被包含 在所有 .C文件中的 頭文件。 簡(jiǎn)而言之,在這個(gè) 使得 項(xiàng)目中的每個(gè) .C 文件不需要 分 頭文件中包含了可能用到的頭文件以及一些可能與實(shí)際應(yīng)用不相關(guān)的頭文件。雖然這增加了文件編譯的時(shí)間,但是增強(qiáng)了可移植性。 我們可以通過(guò) 來(lái)增加自己 需要 的頭文件, 為了避免重新編譯已編譯的內(nèi)容,增加的頭文件必須 添加在頭文件列表的最后。 內(nèi)核是一個(gè)系統(tǒng)的核心,而 就是用來(lái)配置內(nèi)核的頭文件,根據(jù)不同的需要和應(yīng)用,我們可 以對(duì)內(nèi)核進(jìn)行定制和裁剪,從而提高了實(shí)時(shí)性。 文件 主要 包含了一些 用 define 定義的 常量,宏和類(lèi)型定義 (與處理器相關(guān)) 。 眾所周知,不同的處理器字長(zhǎng)是不相同的 , 尤其是,μ C/OSⅡ代碼不使用與編譯器相關(guān)的C 的 short(短整), int(整型)和 long(長(zhǎng)整)等數(shù)據(jù)類(lèi)型。所以為了移植的成功,需要對(duì) μ C/OSⅡ 中的數(shù)據(jù)類(lèi)型進(jìn)行重新的定義 。 與所有 的 實(shí)時(shí)內(nèi)核一樣,μ C/OSⅡ需要先將 中斷 禁止再進(jìn)行訪(fǎng)問(wèn)代碼臨界段,且在訪(fǎng)問(wèn)完畢重新允許中斷。 μ C/OSⅡ定 義了 兩個(gè)宏來(lái)禁止和允許中斷: OS_ENTER_CRITICAL() 和OS_EXIT_CRITICAL()。 結(jié)構(gòu)常量 OS_STK_GROWTH 是用來(lái) 改變堆棧 生長(zhǎng)方式。 因?yàn)椴煌奈⑻幚砥骱臀⒖刂破鞫褩IL(zhǎng)方式不同,μ C/OSⅡ中可以通過(guò)改變 OS_STK_GROWTH 的值來(lái)改變堆棧生長(zhǎng)方式 當(dāng)把 OS_STK_GROWTH 值置 0, 堆棧 的生長(zhǎng)方式是 從下往上長(zhǎng)。 當(dāng)把 OS_STK_GROWTH 值置 1,堆棧的生長(zhǎng)方式是從上往下長(zhǎng)。 OS_TASK_SW()是一個(gè)在 μ C/OSⅡ進(jìn)行 任務(wù)切換 (低任務(wù)優(yōu)先級(jí)級(jí) 到最高優(yōu)先級(jí)任務(wù) ) 時(shí)被調(diào)用的 宏 。 任務(wù)切換只是簡(jiǎn)單的把處于當(dāng)前優(yōu)先級(jí)任務(wù) 處理器 的 寄存器保存到將被掛起的任務(wù)堆棧中,同時(shí) 將更高優(yōu)先級(jí)的任務(wù)從堆棧中
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1