国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

U-Boot在基于S3C4480開發板上的移植

發布時間:2010-10-5 18:16    發布者:eetech
關鍵詞: S3C4480 , U-BOOT , 開發板 , 移植
1 引言  

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

2 U-Boot目錄結構  

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

3 U—Boot啟動過程  

U-Boot的啟動主要分為stagel和stage2兩個階段Ⅲ。stagel采用匯編語言編寫,通常與CPU的體系結構有關,如設備初始化代碼等,該階段可在start.s中實現。   
   
stage2采用C語言程序,用于加載操作系統內核,該階段由board.c中的start_armboot()函數實現。 stage2階段一般包括:初始化Flash;檢測系統內存映射:初始化相關網絡設備:初始化RTL8019AS網絡器件;進入命令循環,接收用戶從串口接收命令,然后進行相應的處理。  

圖2給出U—Boot的stagel和stage2在Flash和SDRAM中的分配。圖2a中,U-Boot的可執行映像放在 Ox00000000"Ox000 20000區域,參數和環境變量配置在Ox0002000~0x00030000區域,0x00030000一Ox00200000區域用于存放操作系統和應用程序文件,由于不涉及操作系統的移植,所以操作系統文件的配置不做詳細描述。圖2b中,0x0C700000是U-Boot將自身的stage2的代碼復制到SDRAM的起始地址。這個地址在board/up44b0/congif.mk文件中定義:TEXT_BASE=0x0C70 0000。0xC780000"oxc800000區域用于U—Boot的升級,升級調試步驟:首先啟動基于F1ash的U-Boot,按任意鍵進入 script模式,運行fftp命令(tffp C780000 u-bootbin),把新編譯的U-Boot.bin加載至以0xC780000為首地址的空間。假設需要加載的新文件長度為104 704(0x19900)字節,則需要拷貝的長度為0x19900/4+2=0x6642。采用erase命令擦除Flash中U-Boot的存放區域 erase OxO 0x1FFFF。最后采用cp命令,把SDRAM中的新U-Boot寫入Flash:cp Ox000 0xc780000 0x6642。  

        
4 U-Boot移植  

嵌入式系統的Bootloader與硬件系統密切相關,目標系統的主要配置如下:①CPU配置為ARM S3C44BOX;②存儲器配置為2 MB NOR Flash AM29LVl60B和8 MB SDRAMHY57V641620,前者的地址范圍為0x00000000~0x00200000,后者的地址范圍為 0x0c000000~OxOe800000;③網卡器件為RTL8019,其基地址為0xoa000600;④晶體振蕩器為6 MHz;⑤CPU主頻為60 MHz。  
為了縮短移植周期,可在U—Boot所支持的開發板中選擇一種和目標板接近的開發板,并在其基礎上修改。這里選擇Board目錄下 Dave/B2。  
  
4.1 Board目錄下文件修改  

在Board目錄下創建up44b0及目錄,將Dave目錄下的文件復制到UP目錄下,并將b2.e改名為up44b0.e,而其他文件名不變。修改up44b0.e文件中的板級初始化函數,將其中關于LAN91C96網卡復位的代碼改為RTL8019AS網卡復位的代碼,根據板上具體資源信息修改CPU端口的初始化值。修改lowlevel_init.s文件中BWSCON寄存器的配置值和SDRAM的刷新頻率。修改 makeifle文件,將其中的B2.O改為up44b0.O。  

4.2 CPU目錄下文件修改  

由于CPU目錄下已存在s3c44b0目錄,所以不用再創建。直接修改其目錄下的文件,即修改start.s文件中PLLCON寄存器的值,以確定CPU主頻。根據$3C4480提供的式(1)和式(2)計算倍頻系數M、P、S和PLLCON的值。  

   
   
式中:Fpllo為CPU主頻,Fpllo=6O MHz;Fin為晶振頻率,Fin=MHz。  

根據CPU主頻修改serial.C文件中UART波特率除數寄存器(UBRDIVn)的值。

4.3 Include目錄下文件的修改  

在include/configs目錄下添加up44b0.h,并將B2.h的內容復制到up44b0.h中。修改 up44b0.h文件內容,其中主要修改CPU的工作頻率;定義RTL8019網卡代替LAN91C96,定義RTL8019網卡的基地址;修改 Flash和SDRAM的起始地址及大小;將內核參數的存放設備改為NOR Flash。  

為了提高下載速度,利用U-Boot提供的功能驅動網卡RTL8019AS。RTL80C19AS映射在BANK 5,BANK 5起始地址為OxOa000000。RTL8019AS位寬的選擇:RTL8019AS可工作在8位或16位模式,由IOCSl6B引腳和DCR寄存器的第0位確定,拉高開發板上IOCSl6B引腳,且DCRDCR寄存器的第0位為1,所以RTL8019AS工作在16位模式下。RTL8019AS的基地址:RTL8019AS基地址由配置寄存器1中的前4位IS03"IS00決定,這里IS03"IS00的值為0000,基地址為300 H,但基地址300 H是針對器件內部而言的,CPU的A1接到網卡器件的A0,所以從CPU看來網卡的地址左移一位成600 H,再加上Bank地址就是OxOa000600,這點與器件16位寬度有關。RTL8019AS寄存器尋址:寄存器尋址方式在 drivergrtl8019.h文件中定義,由于RTL8019AS丁作在16位模式,寄存器的地址都需左移一位。  

4.4 U-Boot根目錄下的修改  


        
5 U-Boot的編譯與運行  

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

6 結語  

為了充分利用U-Boot的強大功能,易于下載和更新程序,采用網卡器件RTL8019AS,詳細給出了RTL8019AS位寬的選擇、基地址的確定以及寄存器尋址方式的修改。利用U-Boot操作Flash的能力。先將新的U-Boot文件通過tftp命令下載到升級區,調試成功后再通過erase和cp命令將新文件拷貝到Flash中,從而簡化了U-Boot的升級更新過程。通過分析U-Boot的運行機理,研究了U-Boot 在基于S3C4480開發板上的移植方法.成功地將U-Boot移植到開發板上。Bootloader是嵌入式開發的重要環節,可在此基礎上進行更深入的移植開發。
本文地址:http://m.qingdxww.cn/thread-30282-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 香蕉爱爱视频| 亚洲一区二区三区免费看| 亚洲免费视| 日韩 欧美 亚洲| 手机av影院| 视频在线播放| 97精品少妇偷拍AV| 好大快用力深一点h视频| 亚洲欧美一区二区三区九九九| 亚洲综合色视频| 日韩欧美精品在线视频| 四虎永久影院永久影库| 99精品国产福利在线观看| 美国特级成人毛片| 亚洲专区一路线二| 日本一区二区免费看| 亚洲综合射| 正在播放国产露脸学生| 精品久久久久久久99热| 亚洲精品国产精品麻豆99| 奇米一二区| 亚洲成a人片在线观看88| 一区二区三区在线视频播放| 精子射到丝袜上图| 一级毛片黄片| 日本美女久久| 特级aaaaaaaaa毛片免费视频| 99久久久无码国产AAA精品| 日韩 国产 欧美视频二区| 亚洲xx在线| 天天射天天操天天干| 亚洲专区第一页| 国产精品免费小视频| 野花日本免费完整版高清版动漫| 一国产一级淫片a免费播放口| 偷拍区自拍区| 亚洲国产精品成人综合色在线婷婷 | 无毒不卡网站在线分享| 青娱乐手机在线| 亚洲国产成人久久精品hezyo | 亚洲六月丁香六月婷婷蜜芽|