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

正文內(nèi)容

嵌入式實(shí)時(shí)操作系統(tǒng)的移植-展示頁

2025-05-24 06:46本頁面
  

【正文】 標(biāo)準(zhǔn)的 C語言寫成的,移植方便。 29 ARMTargetStart()的分析 創(chuàng)建了任務(wù)之后, ARMTargetStart()調(diào)用 uHALr_InstallSystemTimer()創(chuàng)建一個(gè)系統(tǒng)時(shí)鐘,為時(shí)鐘中斷做好準(zhǔn)備。 ?通過 uHAL_InitInterrupts()設(shè)置中斷向量處理程序。 ? uHAL還要為操作系統(tǒng)的運(yùn)行準(zhǔn)備一個(gè)基本的運(yùn)行環(huán)境,具體包括下列各種初始化: ?通過 uHAL_ResetMMU(),將 MMU設(shè)置在一個(gè)確定的初始狀態(tài)。 26 181。 ? 181。C/OS 準(zhǔn)備的,甚至也不是專為操作系統(tǒng)內(nèi)核準(zhǔn)備的。C/OS ? ARM公司為操作系統(tǒng)的開發(fā)提供了一個(gè)硬件抽象層 HAL,稱為 uHAL。C/OS 的初始化 。C/OS 系統(tǒng)的初始化 ? 完成了前面的硬件初始化和運(yùn)行環(huán)境的相關(guān)設(shè)置后,進(jìn)入 Main(), Main()是 181。 ? 例 IMPORT Main b Main 。C/OS 的主函數(shù),啟動(dòng)對(duì) 181。 21 ROM地址的重映射 (remap) 0x0200 ( boot code) 0x0100 (Reset_handler) …… B Reset_Handler 0x0000 Flash (remap) 0x0204 ( boot code) 0x0200 (Reset_handler) B Reset_Handler 0x0000 RAM 22 初始化 C環(huán)境( 3) 23 七、呼叫 C程序 ? 對(duì) main函數(shù)的調(diào)用進(jìn)入 181。 20 初始化 C環(huán)境( 2) ? C環(huán)境初始化,就是利用上述符號(hào)初始化 RW和 ZI段以使后面使用的全局變量的 C程序正常運(yùn)行。在初始化期間應(yīng)將系統(tǒng)需要讀寫的數(shù)據(jù)和變量從 ROM復(fù)制到 RAM里運(yùn)行。源文件編譯鏈接生成含 .data、 .text段的目標(biāo)文件,且鏈接器生成的 .data段是以系統(tǒng)RAM為參考地址。有的系統(tǒng)還需設(shè)置一些寄存器來控制 SDRAM、 USB、網(wǎng)絡(luò)接口等。 17 五、初始化堆棧 ? ARM處理器有好幾種運(yùn)行狀態(tài)(模式),各種狀態(tài)都需要有自己的堆棧,所以需要分別為這些堆棧分配空間并設(shè)置好各自的堆棧指針。for reserved interrupt,stop here B IRQ_handler B FIQ_handler 15 三、初始化時(shí)鐘和設(shè)置相關(guān)的寄存器 通過設(shè)置時(shí)鐘控制器來確定 CPU的工作頻率,設(shè)置中斷控制寄存器屏蔽中斷。 ? 對(duì)各未用中斷,使其指向一個(gè)含返回指令的啞函數(shù),以防止錯(cuò)誤中斷引起系統(tǒng)的混亂。 例: AREA Boot,CODE,READONLY ENTRY /*設(shè)置程序入口指針 */ 12 二、設(shè)置中斷向量 ? ARM要求中斷向量必須設(shè)置在從 OX00000000地址開始,連續(xù) 8*4字節(jié)的地址空間。 8 嵌入式系統(tǒng)的初始化過程( 4) RTOS初始化階段 1) RTOS初始化 2) RTOS對(duì)象和服務(wù)初始化 ?任務(wù) ?信號(hào)量 ?定時(shí)器 ?中斷 ?內(nèi)存管理 3) RTOS任務(wù)堆棧初始化 4) RTOS擴(kuò)展部件初始化 5)啟動(dòng) RTOS RTOS初始化RTOS部件初始化啟動(dòng)R T O S456RTOS初始化 RTOS9 嵌入式系統(tǒng)的初始化過程( 5) 應(yīng)用程序初始化階段 啟動(dòng)應(yīng)用程序7軟件初始化應(yīng)用程序10 ARM7TDMI系統(tǒng)初始化的一般過程 啟動(dòng)(系統(tǒng)上電 /復(fù)位) 從程序入口點(diǎn) 關(guān)閉中斷 初始化時(shí)鐘等硬件相關(guān)寄存器 初始化存儲(chǔ)器系統(tǒng) 初始化 C所需要的存儲(chǔ)器空間 調(diào)用 C入口函數(shù) 11 一、設(shè)置程序入口指針 ? 上電復(fù)位后直接到程序入口點(diǎn)執(zhí)行,入口點(diǎn)一般為一個(gè)跳轉(zhuǎn)表,跳轉(zhuǎn)到復(fù)位處理程序處開始執(zhí)行 ARM7TDMI系統(tǒng)的初始化。 ?初始化總線接口。 ?如果有要求,則還需要進(jìn)行主存測(cè)試 7 嵌入式系統(tǒng)的初始化過程( 3) 復(fù)位向量最小硬件初始化其余硬件初始化123最小啟動(dòng)代碼 BSP硬件初始化階段 3. 其余硬件初始化 引導(dǎo)代碼調(diào)用合適的函數(shù)對(duì)目標(biāo)機(jī)系統(tǒng)上的全部硬件部件進(jìn)行初始化,包括: ?建立執(zhí)行處理程序。 3)初始化內(nèi)存控制器、內(nèi)存芯片和高速緩存單元,包括: ?得到內(nèi)存的開始地址。 ?獲得或設(shè)置 CPU的時(shí)鐘頻率。handlerDAbort b . 。SWI interrupt handler b HandlerPabort 。for debug b HandlerUndef 。1 嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā) —— ARM與 ?C/OSⅡ 第五講 ?C/OSⅡ 移植分析和系統(tǒng)初始化 北京航空航天大學(xué) 嵌入式機(jī)電控制研究室 2 提 要 1 2 嵌入式系統(tǒng)的初始化 ?C/OSⅡ 移植分析 3 初始化程序的下載執(zhí)行 MPUBOOT ROMRAM下載工具串口JTAG網(wǎng)口目標(biāo)機(jī) 宿主機(jī) 1)通過編程器將可執(zhí)行目標(biāo)文件燒寫到BootROM( ROM、 EPROM、 FLASH)等; 2)通過串行口和網(wǎng)口下載執(zhí)行目標(biāo)文件,要求宿主機(jī)系統(tǒng)上有數(shù)據(jù)傳輸工具程序、目標(biāo)機(jī)裝載器、嵌入式監(jiān)視器或目標(biāo)機(jī)系統(tǒng)上的調(diào)試代理; 3)通過 JTAG或 BDM接口下載。 4 嵌入式系統(tǒng)的初始化過程 復(fù)位向量最小硬件初始化其余硬件初始化RTOS初始化RTOS部件初始化啟動(dòng)R T O S啟動(dòng)應(yīng)用程序1234567硬件初始化RTOS初始化軟件初始化最小啟動(dòng)代碼 BSPRTOS應(yīng)用程序5 嵌入式系統(tǒng)的初始化過程 復(fù)位向量最小硬件初始化其余硬件初始化123最小啟動(dòng)代碼 BSP硬件初始化階段 1. 復(fù)位向量 ENTRY b ResetHandler 。handlerUndef b HandlerSWI 。handlerPAbort b HandlerDabort 。handlerReserved b HandlerIRQ b HandlerFIQ 6 嵌入式系統(tǒng)的初始化過程( 2) 復(fù)位向量最小硬件初始化其余硬件初始化123最小啟動(dòng)代碼 BSP硬件初始化階段 2. 最小硬件初始化 1)設(shè)置適當(dāng)?shù)募拇嫫?,使嵌入式處理器處于一個(gè)已知的狀態(tài): ?獲得 CPU的類型。 2)禁止中斷和高速緩存。 ?得到內(nèi)存的大小。 ?初始化中斷處理程序。 ?初始化板級(jí)外設(shè)得到內(nèi)存的開始地址。 ? 啟動(dòng)程序首先必須定義入口指針,而且整個(gè)應(yīng)用程序只有一個(gè)入口指針。 ? 向量表包含一系列跳轉(zhuǎn)指令,跳轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序。 13 中斷向量表 FIQ 0x1C 外部快速中斷 IRQ 0x18 一般外部中斷 (Reserved) 0x14 保留 Data Abort 0x10 數(shù)據(jù)異常 Frefetch Abort 0x0C 預(yù)取指異常 Software int 0x08 軟件中斷 Undef 0x04 未定義指令中斷 Reset 0x00 復(fù)位中斷 14 中斷向量表的程序 AREA Boot,CODE,READONLY ENTRY B Reset_handler B Undef_Handler B SWI_Handler B PreAbort_Handler B . 。 16 四、初始化存儲(chǔ)器系統(tǒng) 參考芯片手冊(cè),設(shè)置與內(nèi)存映射相關(guān)的寄存器。 ? 如果系統(tǒng)使用了 DRAM或其他外設(shè),需要設(shè)置一些寄存器,以確定其刷新頻率、數(shù)據(jù)總線寬度等信息。 18 六、初始化 C環(huán)境 ? 在目標(biāo)文件中,代碼、數(shù)據(jù)放在不同的段中。 ? 故在系統(tǒng)啟動(dòng)時(shí)需要復(fù)制 ROM或 FLASH中的 .data段到 RAM,以完成對(duì)RAM的初始化。 19 鏈接器產(chǎn)生的符號(hào)表 符號(hào)由鏈接器自動(dòng)產(chǎn)生,只讀段( readonly RO)就是代碼段,讀寫段( readwrite RW)是已經(jīng)初始化的全局變量,而零初始化段( zeroinitialized section ZI)中存放未初始化的全局變量。 ? 這里有兩個(gè)循環(huán),第一個(gè)循環(huán)把預(yù)初始化的數(shù)據(jù)段(位于代碼段的后面)復(fù)制到 RAM中,另一個(gè)循環(huán)把未初始化的數(shù)據(jù)段 ZI初始化為 0,也就是實(shí)現(xiàn)把從 ROM中的 .data段復(fù)制到 RAM,對(duì) ZI段內(nèi)的數(shù)據(jù)初始化為 0,以完成對(duì) C環(huán)境的初始化。C/OS 的入口,通過這個(gè)入口就進(jìn)入 181。C/OS 的初始化。C Entry 24 181。C/OS 的入口函數(shù),啟動(dòng)對(duì) 181。 25 ARM7的硬件抽象層 —— uHAL181。 ? 從結(jié)構(gòu)上看, uHAL是一組庫程序,需要說明的是, uHAL并不是專門為 181。 ? uHAL只是個(gè)針對(duì) ARM核的函數(shù)庫。C/OS 是建立在 uHAL的基礎(chǔ)之上的。C/OS 系統(tǒng)的初始化( 2) 27 ARMTargetInit()函數(shù)結(jié)構(gòu) ARMTargetInit() 調(diào) uHAL打印接口打印系統(tǒng)信息 調(diào)用 uHAL函數(shù)禁止所有中
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1