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

正文內(nèi)容

arm的位置在bootloader中的應(yīng)用(編輯修改稿)

2025-03-27 13:04 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 對(duì)一些常量進(jìn)行賦值,但在訪問(wèn)過(guò)程中,必須實(shí)現(xiàn)位置無(wú)關(guān)性。下面以 PXA270的 GPIO初始化介紹位置無(wú)關(guān)的常量訪問(wèn)方法。 千鋒嵌入式學(xué)院 最專業(yè)的嵌入式培訓(xùn)機(jī)構(gòu) ? GPIO_BASEEQU0x40e00000。 ? GPIO基址寄存器地址 GPDR0EQU0x00c。相對(duì)于 GPIO基址寄存器的偏移量 ? init_GPDR0EQU0xfffbfe00。寄存器 GPDR0初值 ? LDRR1, =GPIO_BASE ? LDRR0, =init_GPDR0 ? STRR0, [R1, GPDR0] ? 上述匯編代碼段經(jīng)編譯后的結(jié)果為: ? LDRR1, [PC, OFFSET_TO_GPIO_BASE] ? LDRR0, [PC, OFFSET_TO_init_GPDR0] ? STRR0, [R1, 0xc] ? GPIO_BASEDCD0x40e00000 ? GPDR0DCD0x00c ? init_GPDR0DCD0xfffbfe00 千鋒嵌入式學(xué)院 最專業(yè)的嵌入式培訓(xùn)機(jī)構(gòu) ? 可見(jiàn), LDR偽指令實(shí)際上使用基于 PC的偏移量來(lái)對(duì)符號(hào)常量 GPIO_BASE和 init_GPDR0進(jìn)行引用,因而是位置無(wú)關(guān)的。由此可以得出如下結(jié)論:使用LDR偽指令將一個(gè)常量讀取到非 PC的其他通用寄存器中可實(shí)現(xiàn)位置無(wú)關(guān)的常量訪問(wèn);但將一個(gè)地址值讀取到 PC中進(jìn)行程序跳轉(zhuǎn)時(shí),跳轉(zhuǎn)目標(biāo)則是位置相關(guān)的。 千鋒嵌入式學(xué)院 最專業(yè)的嵌入式培訓(xùn)機(jī)構(gòu) ? 其他被 ROPI段中的代碼引用的必須是絕對(duì)地址,或者是基于可讀寫(xiě)位置無(wú)關(guān) (RWPI)段的靜態(tài)基址寄存器的可寫(xiě)數(shù)據(jù)。 ? 使用絕對(duì)地址只能引用被重定位到特定位置的代碼段中的符號(hào),通過(guò)在位置無(wú)關(guān)代碼中引入絕對(duì)地址,可以讓程序跳轉(zhuǎn)到指定位置。例如,假設(shè) Bootloader的階段 1將其自身代碼拷貝到鏈接時(shí)所指定的 SDRAM地址空間后,當(dāng)要跳轉(zhuǎn)到階段 2的 C程序入口時(shí),可以使用指令 “LDRPC, =main”跳轉(zhuǎn)到程序在 SDRAM中的 main函數(shù)入口地址開(kāi)始執(zhí)行。這是因?yàn)槌绦蛟诰幾g鏈接時(shí)給main函數(shù)分派絕對(duì)地址,系統(tǒng)通過(guò)將 main函數(shù)的絕對(duì)地址直接賦給 PC實(shí)現(xiàn)程序跳轉(zhuǎn)。如果使用相對(duì)跳轉(zhuǎn)指令 “Bmain”,那么只會(huì)跳轉(zhuǎn)到啟動(dòng) ROM內(nèi)部的 main函數(shù)入口。 千鋒嵌入式學(xué)院 最專業(yè)的嵌入式培訓(xùn)機(jī)構(gòu) ? 在使用 GNU工具開(kāi)發(fā) Bootloader時(shí),程序在鏈接時(shí)會(huì)通過(guò)一個(gè)鏈接腳本( linker script)來(lái)設(shè)定映像文件的內(nèi)存映射。一個(gè)簡(jiǎn)單的鏈接腳本結(jié)構(gòu)如下: ? OUTPUT_ARCH(arm) ? ENTRY(_start) ? SECTIONS { ? . = BOOTADDR。/*Bootloader的起始地址 */ ? __boot_start = .。 ? .textALIGN(4): {/*代碼段 .text*/ ? *(.text) ? } 千鋒嵌入式學(xué)院 最專業(yè)的嵌入式培訓(xùn)機(jī)構(gòu) ? .dataALIGN(4): {/*數(shù)據(jù)段 .data*/ ? *(.data) ?
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1