亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        ARM平臺下U-Boot的移植

        2009-04-29 00:00:00馮忠?guī)X童英華
        電腦知識與技術 2009年4期

        摘要:該文介紹了U-Boot的頂層目錄結構及其特點,并以S3C2410為例子說明了U-Boot在ARM平臺下的移植。

        關鍵詞:ARM平臺;U-Boot移植

        中圖分類號:TP316文獻標識碼:A文章編號:1009-3044(2009)04-0837-02

        Transplanting of U-Boot under the ARM Platform

        FENG Zhong-ling1, TONG Ying-hua2

        (1.Department of Physics,Qinghai Normal University, Xining 810008, China; 2.Department of Computer, Qinghai Normal University, Xining 810008, China)

        Abrstract: In this paper, U-Boot top-level directory structure and its characteristics are discriped, and the transplanting of U-Boot in the ARM platform be showed for the S3C2410 as special examples.

        Key words: ARM platform; U-Boot transplanting

        1 引言

        Bootloader是嵌入式操作系統內核運行之前的一段程序,它類似于PC機中的BIOS程序,可以完成硬件的初始化,并建立內存空間的映射圖的功能,從而將系統的軟硬件環(huán)境帶到一個合適的狀態(tài),為最終調用系統內核做好準備,是嵌入式系統中非常重要的一部分,也是系統運行工作的必要組成部分。在嵌入式系統中常見的Bootloader有:VIVI、Blob、RedBoot、ARMboot、U-Boot等。本文將對U-Boot及其在ARM平臺下的移植作較詳細的介紹。

        2U-boot工程簡介

        最早,德國DENX軟件工程中心的Wolfgang Denk基于8xxrom的源碼創(chuàng)建了PPCBOOT工程,并且不斷添加處理器的支持。后來,Sysgo Gmbh把ppcboot移植到ARM平臺上,創(chuàng)建了ARMboot工程。然后以PPCBOOT工程和ARMboot工程為基礎,創(chuàng)建了U-Boot工程。

        現在U-Boot已經能支持PowerPC、ARM、X86、MIPS體系結構的上百種開發(fā)板,已經成為功能最多、靈活性最強并且開發(fā)最積極的開放源代碼Bootloader。目前仍由DENX的Wolfgang Denk維護。

        U-Boot的源碼包可以從http://sourceforge.net/project/u-boot下載,還可以訂閱該網站活躍的U-Boot Users郵件論壇,這個郵件論壇對于U-Boot的開發(fā)和使用都很有幫助。

        3U-Boot源碼結構

        U-Boot源程序包在頂層目錄下有18個子目錄,分別存放和管理不同的源程序。這些目錄中所要存放的文件有其規(guī)則,可以分為三類:

        第一類目錄與處理處理器體系結構或者開發(fā)板硬件直接相關;

        第地類目錄是一些通用的函數或者驅動程序;

        第三類目錄是U-Boot的應用程序、工具或者文檔。

        表1列出了U-Boot頂層目錄下各級目錄存放原則。

        U-Boot的源代碼包含對幾十種處理器、數百種開發(fā)板的支持??墒菍τ谔囟ǖ拈_始板,配置編譯過程只需其中的部分程序。

        4 ARM平臺下的U-Boot移植

        移植需在事先已建立好硬件開發(fā)環(huán)境并在PC上安裝好針對ARM的交叉編譯工具的情況下進行。

        在移植前,首先需要先分析一下U-Boot已經支持的開發(fā)板,為了使U-Boot支持新的開發(fā)板,一種簡便的做法是在U-Boot已經支持的開發(fā)板中選擇一種和目標板接近的,并在其基礎上進行修改,選擇的原則是:首先處理器相同,其次處理結構相同,然后是以太網等外圍接口。這里具體以S3C2410 arm920t處理器為例,具體分析其移植過程。

        U-Boot-1.1.2版本已支持S3C2410,移植主要步驟如下:

        4.1 下載U-Boot包并解壓到指定目錄

        $ cd/u-boot

        $ tarjxvfu-boot-1.1.2.tar.bz2

        $ cdu-boot-1.1.2

        4.2 配置Makefile文件

        1) 在Makefile中修改交叉編譯工具鏈前綴CROSS_COMPILE:

        CROSS_COMPILE = arm–linux–

        2) 修改Makefile文件,開發(fā)板添加新的配置選項,使用已有的配置項目為例。

        smdk2410_config : unconfig

        @ . /mkconfig $(@ : _config = )armarm920tNULLs3c2410

        參考上面兩行,添加下面兩行。

        s3c2410_config : unconfig

        @ . /mkconfig $(@ : _config = )armarm920tNULLS3C2410

        4.3 移植U-Boot-1.1.2支持開發(fā)板

        1) 在board目錄中建立s3c2410目錄,并復制smdk2410目錄中的內容。

        $ cpsmdk2410/* s3c2410

        并將部分文件重命名。如下:

        board/s3c2410/config.mk

        board/s3c2410/flash.c

        board/s3c2410/s3c2410.c

        board/s3c2410/Makefile

        board/s3c2410/memsetup.S

        board/s3c2410/u-boot.lds

        2) 為開發(fā)板添加新的配置文件,再修改。

        $ cpinclude/configs/smdk2410.h include/configs/s3c2410.h

        如果是為一顆新的CPU移植,還要創(chuàng)建一個新的目錄存放CPU相關的代碼。

        4.4 配置開發(fā)板

        $ make s3c2410_config

        4.5 編譯U-Boot

        $ make

        執(zhí)行make命令,編譯成功可以得到U-Boot映像。有些錯誤是跟配置選項有關系的,通常打開一些功能選項會帶來一些錯誤,一開始可以盡量跟參考板配置相同。

        4.6 添加驅動或者功能選項

        在能編譯通過的基礎上,還要實現U-Boot的以太網接口,Flash擦寫等。

        4.7 調試U-Boot源代碼

        直到U-Boot在開發(fā)板上正常啟動。

        4.8 通過JTAG 電纜將目標板與計算機并口連接

        燒寫U-Boot到flash,燒寫完成后,復位實驗板,串口終端就會顯示U-Boot的啟動信息。

        5 結束語

        本文較為詳細地介紹了U-Boot源代碼構成,以及為開發(fā)者提供了在ARM平臺下移植U-Boot的過程與方法,在移植過程中強調其可操作,步驟清晰,對嵌入式系統的Bootloader開發(fā)有重要的參考意義。

        參考文獻:

        [1] 李亞鋒,歐文盛.ARM嵌入式Linux系統開發(fā)從入門到精通[M].北京:清華大學出版社,2007.

        [2] 馬忠梅,李善平.ARM Linux嵌入式系統教程[M].北京:北京航空航天大學出版社,2006.

        [3] 孫紀坤,張小全.嵌入式Linux系統開發(fā)——基于ARM[M].北京:人民郵電出版社,2006.

        [4] 李巖,榮盤祥.基于S3C44B0X嵌入式uCLinux系統原理及應用[M].北京:清華大學出版社,2005.

        久久精品国产久精国产69| 成人免费无码大片a毛片软件| 日本老熟欧美老熟妇| 亚洲成人av一区二区三区| 中文字幕一区二区三区综合网| 97色伦图片97综合影院| 性一交一乱一乱一视频| 午夜精品一区二区三区无码不卡| 日本熟女视频一区二区三区| 国产精品一区二区三久久不卡| 亚洲色无码国产精品网站可下载| 久久国产热精品波多野结衣av| 精品国产车一区二区三区| 天天躁夜夜躁狠狠躁婷婷| 久久久天堂国产精品女人| 久久久久久久一线毛片| 白色白在线观看免费2| 一本色道久久88加勒比—综合| 区久久aaa片69亚洲| 69堂在线无码视频2020| 国产激情自拍在线视频| 国产真实乱对白精彩久久老熟妇女 | 亚洲AV无码专区一级婬片毛片| 国产麻豆放荡av激情演绎| 日本一区二区在线免费视频| 国产精品久久久久久婷婷| 国产免费网站看v片元遮挡| 性色国产成人久久久精品二区三区| 波多野结衣av一区二区全免费观看| 免费观看又污又黄的网站| 无码精品一区二区三区免费16| 亚洲写真成人午夜亚洲美女| 2018国产精华国产精品| 精品国产福利久久久| 精品熟女av中文字幕| 亚洲av无码av在线播放| 亚洲欧美日韩国产色另类| 白白色青青草视频免费观看| 2018天天躁夜夜躁狠狠躁| 亚洲中文字幕无码永久在线| 一区二区三区午夜视频在线观看|