激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

基于A(yíng)RM-μCLinux嵌入式系統啟動(dòng)引導的實(shí)現

時(shí)間:2024-06-11 12:57:45 理工畢業(yè)論文 我要投稿
  • 相關(guān)推薦

基于A(yíng)RM-μCLinux嵌入式系統啟動(dòng)引導的實(shí)現

摘要:介紹了ARM-μCLinux嵌入式系統的結構組成,重點(diǎn)分析了ARM--μCLinux嵌入式系統啟動(dòng)引導的過(guò)程實(shí)現該系統啟動(dòng)引導的技術(shù)難點(diǎn),提出了一種有效的啟動(dòng)引導方案。

32位ARM嵌入式處理器具有高性能、低軾耗的特性,已被廣泛應用于消費電子產(chǎn)品、無(wú)線(xiàn)通信和網(wǎng)絡(luò )通信等領(lǐng)域。ΜCLinux是專(zhuān)門(mén)為無(wú)MMU處理器設計的嵌入式操作系統,支持ARM、Motorola等微處理器。目前國內外采用ARM-μCLinux作為嵌入式系統非常普遍。而嵌入式系統的啟動(dòng)引導技術(shù)是嵌入式系統開(kāi)發(fā)的一個(gè)難點(diǎn)。系統啟動(dòng)引導的成功與否決定了應用程序的運行環(huán)境是否能正確構建,即系統啟動(dòng)成功是應用正確運行的前提。

常用的嵌入式系統啟動(dòng)方法是先通過(guò)JTAG將嵌入式操作系統內核與進(jìn)Flash,再由其帶的引導程序bootloader完成嵌放式系統的啟動(dòng)引導工作。這種方法要借助昂貴的JTAG設備完成操作系統內核 的燒寫(xiě)工作,并且不能方便地更新嵌入式系統中的軟件平臺。本文提出一種基于A(yíng)RM-μCLinux嵌入式系統的啟動(dòng)引導方案,不但可以通過(guò)簡(jiǎn)易的串口方便地更新嵌入式系統內的軟件平臺,而且成功解決了這種架構的嵌入式系統的啟動(dòng)、初始化、操作系統內核的固化和引導等問(wèn)題。本文簡(jiǎn)略說(shuō)明ARM-μCLinux嵌入式系統的硬件平臺和軟件平臺;描述系統引導程序bootloader的設計,闡述設計時(shí)考慮的因素和需解決的技術(shù)難點(diǎn),給出一套可行的引導程序流程;針對μCLinux內核的引導程序,說(shuō)明μCLinux內核的加載和初始化過(guò)程。

1 系統組成

典型的ARM嵌入式系統硬件平臺一般包括一個(gè)以ARM為內核的處理器、存儲器和必要的外部接口與設備。在本系統中,采用內嵌ARM7TDMI的Samsung公司的S3C4510處理器,存儲器使用2MB的Flash和16MB的SDRAM,外部接口除了用于下載和通信的串口,還配備了一個(gè)以太網(wǎng)接口,以支持S3C4510的網(wǎng)絡(luò )功能。

軟件平臺由以下部分組成:系統引導程序、嵌入式操作系統內核、文件系統。系統引導程序通常也稱(chēng)為bootloader,代碼量雖少,但是作用非常大,相當于PC上的BIOS,負責將操作系統內核固化到Flash中和系統初始化工作,然后將系統控制權交給操作系統。嵌入式操作系統內核是嵌入式系統加電運行后的管理平臺,負責實(shí)時(shí)性任務(wù)和多任務(wù)的管理。ARM7TDMI是一款沒(méi)有MMU的處理器,因此采用μCLinux作為本系統的操作系統內核。ΜCLinux是Linux是一個(gè)分支,專(zhuān)為無(wú)MMU的處理器設計,它繼承了Linux強大的網(wǎng)絡(luò )功能和多任務(wù)管理功能,并對內存管理和進(jìn)程管理進(jìn)行了改寫(xiě),滿(mǎn)足無(wú)MMU處理器的開(kāi)發(fā)要求。文件系統是嵌入式系統軟件平臺占用存儲量最大的一部分,也是與用戶(hù)開(kāi)發(fā)最相關(guān)的一部分。它存儲了系統配置文件、系統程序、用戶(hù)應用程序和必需的驅動(dòng)程序。

軟件平臺固化在Flash中。通常根據軟件平臺的內容 對Flash的地址空間進(jìn)行分區,一般分三個(gè)區,分別豐放bootloader、μCLinux內核和文件系統。分區的方式一般有兩種:一種是根據三個(gè)部分預定的存儲空量,允許bootloader、內核和文件系統擁有自己固定的分區和首地址;另一種就是按照這三部分的實(shí)際分配區間,一個(gè)部分緊跟著(zhù)另一個(gè)部分后存儲,沒(méi)有固定的分區和首地址。通常采用第一種方式,雖然可能會(huì )浪費一部分Flash空間,但是方便內核的加載和文件系統的掛載,同時(shí)也利于系統的調試和開(kāi)發(fā)。而如果充分利用Flash的存儲區間,節約成本,那么可采用第二種方式。

2 系統引導程序的設計

系統引導程序bootloader是嵌入式系統加電后執行的第一個(gè)程序,進(jìn)行功能設計時(shí)首先要考慮以下問(wèn)題:

(1)將μCLinux內核和文件系統固化在Flash中

目地μCLinux內核和文件系統固化在Flash的手段很多。主機可以通過(guò)JTAG口,將內核和文件系統的映像文件燒寫(xiě)到指定的Flash位置上;也可以通過(guò)以太網(wǎng)接口,將映像文件下載到Flash中;另外還可以通過(guò)串口燒寫(xiě)到Flash。前兩種方法的下載速度比后一種方法快得多。在本系統中,采用串口燒寫(xiě)Flash。這是因為一方面配置一個(gè)串口方便且廉價(jià),而JTAG燒寫(xiě)還要配置昂貴的JTAG仿真器和相關(guān)的驅動(dòng)程序以及協(xié)議轉換程序,網(wǎng)口下載還要有以太網(wǎng)支持;另一方面μCLinux默認通過(guò)串口打印其運行的信息,那么串口不但可以提供燒寫(xiě)Flash的功能,還可作為調試μCLinux內核的通道。

在本系統中,Flash在剛開(kāi)始時(shí),只存儲了bootloader,還沒(méi)有存儲μCLinux內核和文件系統。因此bootloader在系統加電完成初始化工作后,要初始化一條鏈接主機和目標機的串口通道,并提供串口下載功能。

圖1

(2)系統初始化

因為系統剛加電時(shí),操作系統的內核還沒(méi)有被加載,系統的初始化工作由bootloader完成。它主要是將系統、初始化存儲系統、配置ARM各種模式下的數據棧、使能屏常中斷、根據需要切換處理器模式和狀態(tài)。

(3)μCLinux內核加載方式

固化在Flash中的μCLinux內核有兩種運行方式:一種方式是直接在Flash中運行μCLinux自帶的引導程序;另一種方式是將固化在Flash中的內核先拷貝到SDRAM的某一段地址區間,再從該段地址區間的首地址運行uCLinux內核。

第一種方式是bootloader進(jìn)行系統初始化工作后,跳到內核固化在Flash中的首地址處,將控制權交給μCLinux,開(kāi)始在Flash中逐句執行內核自帶的引導程序,由該引導程序完成內核的加載工作。這種方式是目前很多嵌入式系統啟動(dòng)內核所采用的方式,也是本系統采用的內核加載方式。

第二種方式是bootloader完成系統初始化工作后,把內核的映像文件由Flash拷貝到SDRAM中,再從SDRAM中執行μCLinux內核的引導程序,加載μCLinux內核。

第二種加載方式在SDRAM中運行程序,因此執行速度比第一種方式快一些,并且可以通過(guò)RAM快速引導技術(shù)實(shí)現這種加載方式。其主要是針對NAND型Flash的情況。與NOR型Flash最大的不同點(diǎn)是:NOR型Flash使用內存隨機讀取技術(shù),與SDRAM一樣,可以直接執行存儲在Flash中的程序;而NAND一樣,可以直接內存隨機讀取技術(shù),它是一次讀取一整塊內存,因此不能直接執行存儲在NAND型Flash中的程序,必須把NAND型Flash中的程序先拷貝到SDRAM,再在SDRAM中執行該程序。但是NAND型Flash價(jià)格比NO

【基于A(yíng)RM-μCLinux嵌入式系統啟動(dòng)引導的實(shí)現】相關(guān)文章:

基于Web的嵌入式數控系統實(shí)現03-07

基于Winodws CE的嵌入式網(wǎng)絡(luò )監控系統的設計與實(shí)現03-18

基于嵌入式Linux的終端AVI視頻編碼器的實(shí)現03-07

基于嵌入式PC的PIII計算機系統設計與實(shí)現03-07

基于MSP430的嵌入式DTMF撥號解碼器實(shí)現方案03-19

基于圖像的OMR技術(shù)的實(shí)現03-07

基于PQRM的PACS系統設計與實(shí)現03-07

基于XMLSchema的元數據方案實(shí)現03-21

基于LabVIEW的GMSK調制與解調實(shí)現03-07

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频