<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > U-Boot在S3C2410上的移植分析

U-Boot在S3C2410上的移植分析

作者: 時(shí)間:2012-04-19 來(lái)源:網(wǎng)絡(luò ) 收藏

引 言

是嵌入式系統軟件開(kāi)發(fā)的第一個(gè)環(huán)節,它緊密地將軟硬件銜接在一起,對于一個(gè)嵌入式設備后續的軟件開(kāi)發(fā)至關(guān)重要。還涉及到許多硬件相關(guān)的知識,對于普通的嵌入式開(kāi)發(fā)板,它又是不可跳過(guò)的步驟,所以做好它的工作是必須的,對于后續的開(kāi)發(fā)工作也是有益的。是當前比較流行、功能強大的,它操作簡(jiǎn)便,可以支持多種體系結構的處理器,同時(shí)提供了完備的命令體系。 是三星公司一款基于A(yíng)RM920T的嵌入式通用處理器。本文的平臺就是以 為核心的HHARM9-EDU-R2開(kāi)發(fā)板,這塊開(kāi)發(fā)板的硬件資源配置較為完善。主要硬件資源有:處理器;1片Intel TE28f128FLASH ( 16M);2片Hynix HY57V561620 SDRAM(64M);10/100M自適應網(wǎng)絡(luò )芯片DM9000; USBHost/Device;RS232×2/RS485×1串口;LQ035FLM08L 256K色TFT真彩LCD顯示屏;全功能JTAG調試口等。

簡(jiǎn)介

U- Boot是Das 的簡(jiǎn)稱(chēng),是由denx軟件中心依照GPL 發(fā)布的公共軟件,作為系統啟動(dòng)的引導模塊,U-Boot支持多種處理器架構,比如Power-PC、ARM、MIPS和x86等。目前,U-Boot源代碼在sourceforge網(wǎng)站的社區服務(wù)器中, Internet上有一群自由開(kāi)發(fā)人員對其進(jìn)行維護和開(kāi)發(fā),它的項目主頁(yè)是http://sourceforge.net/ projects/ u-boot。當下載并解壓U-Boot 源碼包后,會(huì )形成如下的目錄結構:board,和一些已有開(kāi)發(fā)板有關(guān)的文件;common,實(shí)現各種U-Boot 命令的C 文件;cpu,CPU相關(guān)文件,其中的子目錄都是以U-Boot 所支持的CPU命名的;disk,disk驅動(dòng)的分區處理代碼;doc,文檔;drivers,通用設備驅動(dòng)程序;fs,支持文件系統的文件;include,頭文件,對各種硬件平臺支持的匯編文件,系統的配置文件和對文件系統支持的文件;net:與網(wǎng)絡(luò )有關(guān)的代碼; lib-arm,與ARM體系結構相關(guān)的代碼;tools,創(chuàng )建S-Record 格式文件和U-Boot Images的工具。

本文中U-Boot的就是根據HHARM9-EDU-R2開(kāi)發(fā)板的硬件資源在以上的目錄中修改或者添加相關(guān)源文件,并且重新編譯的過(guò)程。移植工作開(kāi)始之前,了解U-Boot的運行過(guò)程是十分必要的。

U- Boot 運行過(guò)程分析

U- Boot編譯后的代碼定義一般不超過(guò)100kB,并且這100 kB又分成兩個(gè)階段來(lái)執行。第一階段的代碼在start.s中定義,大小不超過(guò)10 kB,它包括從系統上電后在0x00000000 地址開(kāi)始執行的部分。這部分代碼運行在Flash中,它包括對S3C2410的一些寄存器的初始化和將U-Boot的第二階段代碼從Flash拷貝到 SDRAM中。除去第一階段的代碼,剩下的部分都是第二階段的代碼。第二階段的起始地址是在第一階段代碼中指定的,被復制到SDRAM后,就從第一階段跳到這個(gè)入口地址開(kāi)始執行剩余部分代碼。第二階段主要是進(jìn)行一些BSS 段設置,堆棧的初始化等工作,最后會(huì )跳轉到main-loop函數中,接受命令并進(jìn)行命令處理。圖1 給出了U-Boot的詳細的運行過(guò)程包括對內核的設置、裝載及調用過(guò)程。

本文引用地址:http://dyxdggzs.com/article/218884.htm

圖1 U-Boot運行過(guò)程

了解了U-Boot 的運行過(guò)程以后,我們還必須確定開(kāi)發(fā)板的地址空間分布,才可以進(jìn)行源碼的修改和移植工作。 地址空間的分布部分依賴(lài)于開(kāi)發(fā)板的硬件配置及CPU 的復位地址。 本文中開(kāi)發(fā)板的地址空間如圖2 所示。



圖2 開(kāi)發(fā)板地址空間分布


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: U-Boot S3C2410 移植 BootLoader

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>