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

正文內(nèi)容

系統(tǒng)引導程序的設(shè)計與實現(xiàn)-預覽頁

2025-08-23 04:08 上一頁面

下一頁面
 

【正文】 10E系列兼容,便于用戶的產(chǎn)品升級。其中,ARM7TMDI是目前使用最廣泛的32位嵌入式RISC處理器,屬低端ARM處理器核?!?支持32位ARM指令集和16位Thumb指令集?!?支持數(shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù)據(jù)處理能力。ARM9E系列微處理器提供了增強的DSP處理能力,很適合于那些需要同時使用DSP和微控制器的應用場合?!?支持32位的高速AMBA總線接口?!?支持數(shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù)據(jù)處理能力。(4)ARM10E微處理器系列 ARM10E系列微處理器具有高性能、低功耗的特點,由于采用了新的體系結(jié)構(gòu),與同等的ARM9器件相比較,在同樣的時鐘頻率下,性能提高了近50%,同時,ARM10E系列微處理器采用了兩種先進的節(jié)能方式,使其功耗極低?!?支持32位的高速AMBA總線接口。★ 內(nèi)嵌并行讀/寫操作部件。它融合了Intel公司的設(shè)計和處理技術(shù)以及ARM體系結(jié)構(gòu)的電源效率,采用在軟件上兼容ARMv4體系結(jié)構(gòu)、同時采用具有Intel技術(shù)優(yōu)點的體系結(jié)構(gòu)。而余下的80%的指令卻不經(jīng)常使用,在程序設(shè)計中只占20%,顯然,這種結(jié)構(gòu)是不太合理的?!?使用單周期指令,便于流水線操作執(zhí)行。另外,為了加速通信和多媒體中有關(guān)數(shù)字信號的處理,ARM處理器在RISC的基礎(chǔ)上增加了許多原屬DSP核中的關(guān)鍵部件。一組典型數(shù)據(jù)是:對于ARM7系列處理器,每MHz。下圖所示的是ARM構(gòu)架圖。3. 高速乘法器:乘法器一般采用“加一移位”的方法來實現(xiàn)乘法。5. 控制器:ARM的控制器采用的是硬接線的可編程邏輯陣列PLA。 圖 ARM構(gòu)架圖 ARM處理器工作狀態(tài)及模式 本節(jié)主要簡單介紹ARM處理器模式,ARM寄存器組,ARM存儲系統(tǒng),ARM指令集,ARM體系異常中斷等內(nèi)容。處理器模式可以通過軟件控制進行切換,也可以通過外部中斷或異常處理過程進行切換。當應用程序發(fā)生異常中斷時,處理器進入相應的異常模式。通常操作系統(tǒng)的任務需要訪問所有的系統(tǒng)資源,同時該任務仍然使用用戶模式下的寄存器組,而不是使用異常模式下相應的寄存器組,這樣可以保證當異常中斷發(fā)生時任務狀態(tài)不被破壞。: ARM狀態(tài)下的寄存器組,通用寄存器R0-R7在所有的處理器模式下指的都是同一個物理寄存器,而對于R8-R12寄存器組,除了在快速中斷模式下有自己專有的物理寄存器,其它模式下也共有統(tǒng)一物理寄存器?!? 當異常中斷發(fā)生時,該異常模式特定的物理R14被設(shè)置成該異常模式將要返回的地址,對于有些異常模式,R14的值可能與將返回的地址有個常數(shù)的偏移量。由于ARM指令是字對齊的,PC值的第0位和第1位總為0。當特定的異常中斷發(fā)生時,這個寄存器用于存放當前程序狀態(tài)寄存器的內(nèi)容。SPSR與CPSR的格式相同,:N(Negative)、Z(Zero)、C(Carry)、V(Overflow)統(tǒng)稱為標志位。在特權(quán)模式下,軟件可以修改這些控制位: I:普通中斷禁止位;I=1時禁止IRQ中斷。(1)ARM體系中的存儲空間ARM體系中使用單一的平板地址空間。這些字單元的地址可以被4整除,也就是說該地址的低兩位為0b00。在bigendian格式中,對于地址為A的字單元包括字節(jié)單元A、A+A+A+3,其中字節(jié)單元由高位到低位字節(jié)順序為A、A+A+A+3;地址為A的字單元包括半字單元A、A+2,其中半字單元由高位到低位字節(jié)順序為A、A+2;地址為A的半字單元包括字節(jié)單元A、A+1,其中字節(jié)單元由高位到低位字節(jié)順序為A、A+1。一般地,ARM指令具有以下特點:★ 指令的條件執(zhí)行 ARM指令都是條件執(zhí)行,條件標志位位于程序代碼字節(jié)的cond位(位28 - 31,下文會介紹)?!? 協(xié)處理器的作用 ARM內(nèi)核可提供協(xié)處理接口,通過擴展協(xié)處理器完成更加復雜的功能?!? 具有RISC指令的特點 由于ARM指令屬于RISC指令,所以多具有RISC指令的特點,指令少,且等長,便于充分利用流水線技術(shù),使用多寄存器,且為簡單的Load和Store指令?!? opcode 位21-24,操作碼?!? operand2 位0-11,表示第二操作數(shù)編碼。整個過程是按順序執(zhí)行。ARM體系中中斷向量表中指定了各異常中斷及處理程序的對應關(guān)系。通過這兩種指令,程序?qū)⑻D(zhuǎn)到相應的異常中斷處理程序處執(zhí)行?!? 將寄存器lr_mode設(shè)置成返回地址。但是,任何一個ARM系統(tǒng),在沒有特定指定的條件下,仍然可以將通用特性(一些通用基本控制模塊)描述出來,在此稱之為ARM最小系統(tǒng),見下圖: ARM最小系統(tǒng) 從上圖中,可以了解一個基本的ARM最小系統(tǒng)通常包括以下幾個部分:★ ARM core★ 存儲控制器:通過它系統(tǒng)可以接入各種DRAM以及ROM★ 總線橋接:系統(tǒng)總線與外圍總線的連接器★ 中斷控制器:供各種設(shè)備提供中斷服務★ 串口★ GPIO控制模塊:供各種外設(shè)以及系統(tǒng)擴充使用對于一些復雜系統(tǒng),還可以有更多的功能性模塊,特別是隨著網(wǎng)絡通信的發(fā)展,ARM系統(tǒng)中包括了更多的通訊控制模塊。圖 嵌入式Linux系統(tǒng)組成 引導加載程序是系統(tǒng)加電后運行的第一段代碼。簡單地說,bootloader就是在操作系統(tǒng)內(nèi)核運行前運行地一段小程序。也就是說,對于兩塊不同的嵌入式板而言,即使它們基于相同的CPU構(gòu)建,運行在其中一塊電路板上的bootloader,未必能夠運行在另一塊電路開發(fā)板上。 Bootloader的操作模式 大多數(shù)bootloader都包含兩種不同的操作模式:“啟動加載”模式和“下載”模式,這種區(qū)別對于開發(fā)人員才有意義。下載模式:在這種模式下,目標機上的bootloader將通過串口或者網(wǎng)絡連接或者其它通信手段從主機下載文件,比如:下載內(nèi)核鏡像和根文件系統(tǒng)鏡像等。 Bootloader的概念擴展 Bootloader最主要的功能是引導加載內(nèi)核鏡像。另外,不同的操作系統(tǒng),可能對具體的bootloader還會有另外額外的要求。 對于一個ARM系統(tǒng)來說,本質(zhì)上,bootloader作為引導與加載內(nèi)核鏡像的“工具”,在實現(xiàn)上,必須提供以下幾個功能,更確切地說,必須做到以下幾點:(1)初始化RAM(必需):bootloader必須能夠初始化RAM,因為將來系統(tǒng)要通過它保存一些Volatile數(shù)據(jù),但具體地實現(xiàn)要依賴與具體的CPU以及硬件系統(tǒng)?!? CPU模式:關(guān)閉中斷; 屬于SVC模式; Bootloader中沒有必要支持中斷的實現(xiàn),這屬于內(nèi)核機制以及設(shè)備驅(qū)動管理的管理范疇;SVC模式是系統(tǒng)的一種保護模式,這樣就可以進行一些只能在SVC模式下的操作,例如一些特定寄存器訪問操作。 5 Bootloader的設(shè)計與實現(xiàn) 課題研究的平臺環(huán)境 硬件平臺Booltoader是與硬件環(huán)境息息相關(guān)的,特別是與具體的處理器與具體硬件系統(tǒng)相關(guān)。其低功耗,簡單,且全靜態(tài)設(shè)計特別適合于對成本和功率敏感型的應用。這一結(jié)構(gòu)具有獨立的16KB指令 Cache和16KB數(shù)據(jù)Cache?!? 16/32位RISC體系結(jié)構(gòu)和ARM920T內(nèi)核強大的指令集?!? 內(nèi)部高級微控制總線(AMBA)體系結(jié)構(gòu)(,AHB/APB)。其主要包括匯編器as、C編譯器gcc、C++編譯器g++、連接器ld和相關(guān)的二進制轉(zhuǎn)換工具,而基于ARM平臺的工具分別為armlinuxas、armlinuxgcc、armlinuxg++、armlinuxld,這些也是平常所說的交叉編譯工具。 Bootloader的總體設(shè)計 階段設(shè)計在前面的章節(jié)中,已經(jīng)介紹過bootloader的啟動可以是分階段的。(2)代碼具有更好的可讀性與移植性:若對于相同的CPU以及存儲設(shè)備,要增加外設(shè)支持,階段1的代碼可以維護不變,只對階段2的代碼進行修改;若要支持不同的CPU,則基礎(chǔ)代碼只需在階段1中修改。而我們基于S3C2440A構(gòu)建的系統(tǒng)將固態(tài)存儲設(shè)備FLASH映射到這個地址上。下圖為具體的存儲布局圖: Uboot存儲映射圖 模式設(shè)計對于普通用戶來說只需要bootloader的啟動加載模式,但是對于開發(fā)者來說,則需要下載模式,因為他們需要時時刻刻地進行一些鏡像的更新。 階段1的代碼實現(xiàn)。if defined(CONFIG_S3C2440) ldr r0, =pWTCON mov r1, 0x0 str r1, [r0] mov r1, 0xffffffff ldr r0, =INTMSK str r1, [r0]mov r0, 0 mcr p15, 0, r0, c7, c7, 0 /* flush v3/v4 cache */ mcr p15, 0, r0, c8, c7, 0 /* flush v4 TLB */ (4)關(guān)閉MMU,內(nèi)部指令/數(shù)據(jù)cache以及寫緩沖區(qū),ARM體系bootloader中都無需MMU的功能,所有的地址都直接使用物理地址;cache也都關(guān)閉,原因可參看上一章相關(guān)內(nèi)容 。stack_setup: ldr r0, _TEXT_BASE /* upper 128 KiB: relocated uboot */ sub r0, r0, CFG_MALLOC_LEN /* malloc area */ sub r0, r0, CFG_GBL_DATA_SIZE /* bdinfo */ifdef CONFIG_USE_IRQ sub r0, r0, (CONFIG_STACKSIZE_IRQ+CONFIG_STACKSIZE_FIQ)endif sub sp, r0, 12 /* leave 3 words for abortstack */ bl clock_initifndef CONFIG_SKIP_RELOCATE_UBOOT(8)拷貝Uboot鏡像到SDRAM中。init_fnc_t *init_sequence[] = { cpu_init, /* basic cpu dependent setup */ board_init, /* basic board dependent setup */ interrupt_init, /* set up exceptions */ env_init, /* initialize environment */ init_baudrate, /* initialze baudrate settings */ serial_init, /* serial munications setup */ console_init_f, /* stage 1 init of console */ display_banner, /* say that we are here */if defined(CONFIG_DISPLAY_CPUINFO) print_cpuinfo, /* display cpu info (and speed) */endifif defined(CONFIG_DISPLAY_BOARDINFO) checkboard, /* display board info */endif dram_init, /* configure available RAM banks */ display_dram_config, NULL,}。 mem_malloc_brk = mem_malloc_start。 CFG_CMD_NAND)// puts (NAND: )。 ~(PAGE_SIZE 1)。ifdef CONFIG_VFD /* must do this after the framebuffer is allocated */ drv_vfd_init()。 char *s, *e。 for (reg = 0。 if (s) s = (*e) ? e + 1 : e。 reg 6。 }endif } devices_init ()。 } /* NOTREACHED no way out of mand loop except booting */ 代碼的編譯(1) ,把編寫好的代碼打包壓縮成“”,并將其復制到“/opt/EmbedSky/”目錄下,然后進入該目錄,運行“tar xvfj C /”命令解壓這個壓縮包。而對于ARM系統(tǒng)的通用bootloader,則從理論上來闡述對于一個ARM系統(tǒng)bootloader所要實現(xiàn)的功能以及在實現(xiàn)bootloader時的一些軟硬件上的規(guī)定,并且結(jié)合實現(xiàn)的bootloder進一步的說明如何通過已實現(xiàn)的bootloader來進行簡單的移植以適合其它的ARM系統(tǒng)。實現(xiàn)bootloader,就基于以上原因,在擴展功能上進行了更多的支持。以后,應該能夠有更多的支持,例如:簡單的tftp協(xié)議;支持一些擴展存儲卡(例如MMC卡,CF卡)的支持;以及對應的一些文件系統(tǒng)的支持(TFS,F(xiàn)AT等)。四年的求學生涯在師長、親友的大力支持下,走得辛苦卻也收獲滿囊,在論文即將付梓之際,思緒萬千,心情久久不能平靜
點擊復制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1