www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]U-Boot在基于S3C4480開發(fā)板上的移植

1 引言
    Bootloader代碼是器件復(fù)位后進(jìn)入操作系統(tǒng)前執(zhí)行的一段代碼,通過該代碼初始化處理器各寄存器和片上外設(shè),建立存儲器映射圖以及初始化堆棧,從而為操作系統(tǒng)提供基本的運(yùn)行環(huán)境。由于Bootloader與CPU和開發(fā)板配置有關(guān),不可能有通用的Bootloader,因此需要根據(jù)具體情況進(jìn)行移植。嵌入式系統(tǒng)U-boot是當(dāng)前流行、功能強(qiáng)大的Bootloader。U-Boot用于多種嵌入式CPU的Bootloader程序,U-Boot支持ARM、PowerPC等多種架構(gòu)的處理器,也支持Linux、NetBSD和Vx—Works等操作系統(tǒng)。這里采用U—Boot的版本為U-boot-1.1.6。

2 U-Boot目錄結(jié)構(gòu)
    U-Boot目錄結(jié)構(gòu)如下:board是一些與現(xiàn)有開發(fā)板有關(guān)的文件,比如makefile和u-boot.1ds等都與具體開發(fā)板的硬件和地址分配有關(guān);common是與體系結(jié)構(gòu)無關(guān)的文件,可實現(xiàn)各種命令的C文件;cpu是CPU相關(guān)文件,其子目錄都是以U-boot支持的CPU命名,比如子目錄arm920t,mips,s3e44bO和nios等,每個特定的子目錄都包括cpu.c,interrupt.C和start.s;doc是說明文檔;drivers是通用設(shè)備驅(qū)動程序,比如:各種網(wǎng)卡、支持CFI的Flash和USB總線等;fs是支持文件系統(tǒng)的文件,U—Boot可支持cramfs,fat,fdos,jffs2等文件;net是與網(wǎng)絡(luò)有關(guān)的代碼,比如:BOOTP協(xié)議、TFTP協(xié)議和NFS文件系統(tǒng)的實現(xiàn);lib_arm是與ARM體系結(jié)構(gòu)相關(guān)的代碼;tools是創(chuàng)建S-Record的格式文件和U-Boot images的工具。

3 U—Boot啟動過程
    U-Boot的啟動主要分為stagel和stage2兩個階段Ⅲ。stagel采用匯編語言編寫,通常與CPU的體系結(jié)構(gòu)有關(guān),如設(shè)備初始化代碼等,該階段可在start.s中實現(xiàn)。U—Boot中stagel階段的啟動過程如圖l所示。

    stage2采用C語言程序,用于加載操作系統(tǒng)內(nèi)核,該階段由board.c中的start_armboot()函數(shù)實現(xiàn)。stage2階段一般包括:初始化Flash;檢測系統(tǒng)內(nèi)存映射:初始化相關(guān)網(wǎng)絡(luò)設(shè)備:初始化RTL8019AS網(wǎng)絡(luò)器件;進(jìn)入命令循環(huán),接收用戶從串口接收命令,然后進(jìn)行相應(yīng)的處理。
    圖2給出U—Boot的stagel和stage2在Flash和SDRAM中的分配。圖2a中,U-Boot的可執(zhí)行映像放在Ox00000000~Ox000 20000區(qū)域,參數(shù)和環(huán)境變量配置在Ox0002000~0x00030000區(qū)域,0x00030000一Ox00200000區(qū)域用于存放操作系統(tǒng)和應(yīng)用程序文件,由于不涉及操作系統(tǒng)的移植,所以操作系統(tǒng)文件的配置不做詳細(xì)描述。圖2b中,0x0C700000是U-Boot將自身的stage2的代碼復(fù)制到SDRAM的起始地址。這個地址在board/up44b0/congif.mk文件中定義:TEXT_BASE=0x0C70 0000。0xC780000~oxc800000區(qū)域用于U—Boot的升級,升級調(diào)試步驟:首先啟動基于F1ash的U-Boot,按任意鍵進(jìn)入script模式,運(yùn)行fftp命令(tffp C780000 u-bootbin),把新編譯的U-Boot.bin加載至以0xC780000為首地址的空間。假設(shè)需要加載的新文件長度為104 704(0x19900)字節(jié),則需要拷貝的長度為0x19900/4+2=0x6642。采用erase命令擦除Flash中U-Boot的存放區(qū)域erase OxO 0x1FFFF。最后采用cp命令,把SDRAM中的新U-Boot寫入Flash:cp Ox000 0xc780000 0x6642。

4 U-Boot移植
    嵌入式系統(tǒng)的Bootloader與硬件系統(tǒng)密切相關(guān),目標(biāo)系統(tǒng)的主要配置如下:①CPU配置為ARM S3C44BOX;②存儲器配置為2 MB NOR Flash AM29LVl60B和8 MB SDRAMHY57V641620,前者的地址范圍為0x00000000~0x00200000,后者的地址范圍為0x0c000000~OxOe800000;③網(wǎng)卡器件為RTL8019,其基地址為0xoa000600;④晶體振蕩器為6 MHz;⑤CPU主頻為60 MHz。
    為了縮短移植周期,可在U—Boot所支持的開發(fā)板中選擇一種和目標(biāo)板接近的開發(fā)板,并在其基礎(chǔ)上修改。這里選擇Board目錄下Dave/B2。
4.1 Board目錄下文件修改
    在Board目錄下創(chuàng)建up44b0及目錄,將Dave目錄下的文件復(fù)制到UP目錄下,并將b2.e改名為up44b0.e,而其他文件名不變。修改up44b0.e文件中的板級初始化函數(shù),將其中關(guān)于LAN91C96網(wǎng)卡復(fù)位的代碼改為RTL8019AS網(wǎng)卡復(fù)位的代碼,根據(jù)板上具體資源信息修改CPU端口的初始化值。修改lowlevel_init.s文件中BWSCON寄存器的配置值和SDRAM的刷新頻率。修改makeifle文件,將其中的B2.O改為up44b0.O。
4.2 CPU目錄下文件修改
    由于CPU目錄下已存在s3c44b0目錄,所以不用再創(chuàng)建。直接修改其目錄下的文件,即修改start.s文件中PLLCON寄存器的值,以確定CPU主頻。根據(jù)$3C4480提供的式(1)和式(2)計算倍頻系數(shù)M、P、S和PLLCON的值。

   
式中:Fpllo為CPU主頻,F(xiàn)pllo=6O MHz;Fin為晶振頻率,F(xiàn)in=MHz。
    根據(jù)CPU主頻修改serial.C文件中UART波特率除數(shù)寄存器(UBRDIVn)的值。
4.3 Include目錄下文件的修改
   
在include/configs目錄下添加up44b0.h,并將B2.h的內(nèi)容復(fù)制到up44b0.h中。修改up44b0.h文件內(nèi)容,其中主要修改CPU的工作頻率;定義RTL8019網(wǎng)卡代替LAN91C96,定義RTL8019網(wǎng)卡的基地址;修改Flash和SDRAM的起始地址及大小;將內(nèi)核參數(shù)的存放設(shè)備改為NOR Flash。
    為了提高下載速度,利用U-Boot提供的功能驅(qū)動網(wǎng)卡RTL8019AS。RTL80C19AS映射在BANK 5,BANK 5起始地址為OxOa000000。RTL8019AS位寬的選擇:RTL8019AS可工作在8位或16位模式,由IOCSl6B引腳和DCR寄存器的第0位確定,拉高開發(fā)板上IOCSl6B引腳,且DCRDCR寄存器的第0位為1,所以RTL8019AS工作在16位模式下。RTL8019AS的基地址:RTL8019AS基地址由配置寄存器1中的前4位IS03~IS00決定,這里IS03~IS00的值為0000,基地址為300 H,但基地址300 H是針對器件內(nèi)部而言的,CPU的A1接到網(wǎng)卡器件的A0,所以從CPU看來網(wǎng)卡的地址左移一位成600 H,再加上Bank地址就是OxOa000600,這點與器件16位寬度有關(guān)。RTL8019AS寄存器尋址:寄存器尋址方式在drivergrtl8019.h文件中定義,由于RTL8019AS丁作在16位模式,寄存器的地址都需左移一位。
4.4 U-Boot根目錄下的修改
   

5 U-Boot的編譯與運(yùn)行

    系統(tǒng)配置完畢進(jìn)入U—Boot主目錄,重新編譯U-Boot代碼,運(yùn)行命令:#make up44b0_config;#make。編譯成功,生成所需的U-Boot.bin二進(jìn)制文件。利用Flash燒寫工具通過JTAG接13將生成的U.Boot.bin文件燒寫到F1ash中,開發(fā)板復(fù)位,打開超級終端,如果能看到正確的啟動信息,表明移植成功。按下任意鍵,進(jìn)人U—Boot命令行調(diào)試。


6 結(jié)語
   
為了充分利用U-Boot的強(qiáng)大功能,易于下載和更新程序,采用網(wǎng)卡器件RTL8019AS,詳細(xì)給出了RTL8019AS位寬的選擇、基地址的確定以及寄存器尋址方式的修改。利用U-Boot操作Flash的能力。先將新的U-Boot文件通過tftp命令下載到升級區(qū),調(diào)試成功后再通過erase和cp命令將新文件拷貝到Flash中,從而簡化了U-Boot的升級更新過程。通過分析U-Boot的運(yùn)行機(jī)理,研究了U-Boot在基于S3C4480開發(fā)板上的移植方法.成功地將U-Boot移植到開發(fā)板上。Bootloader是嵌入式開發(fā)的重要環(huán)節(jié),可在此基礎(chǔ)上進(jìn)行更深入的移植開發(fā)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設(shè)計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關(guān)系的思考,同時也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進(jìn)程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預(yù)告。今年前三季度,公司預(yù)計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預(yù)計為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟(jì)和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團(tuán)成立60周年的紀(jì)念日。趁著首都銀行集團(tuán)成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機(jī)構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進(jìn)出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國智造 BSP 手機(jī) CAN

要問機(jī)器人公司哪家強(qiáng),波士頓動力絕對是其中的佼佼者。近來年該公司在機(jī)器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機(jī)器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機(jī)器人組團(tuán)跳男團(tuán)舞的新視頻,表演的機(jī)器人包括...

關(guān)鍵字: 機(jī)器人 BSP 工業(yè)機(jī)器人 現(xiàn)代汽車

南京2022年10月17日 /美通社/ -- 日前《2022第三屆中國高端家電品牌G50峰會》于浙江寧波落幕,來自兩百余名行業(yè)大咖、專家學(xué)者共同探討了在形勢依然嚴(yán)峻的當(dāng)下,如何以科技創(chuàng)新、高端化轉(zhuǎn)型等手段,幫助...

關(guān)鍵字: LINK AI BSP 智能家電

嵌入式軟件

15715 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉