《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于S3C2410A的嵌入式系統的U-Boot移植
基于S3C2410A的嵌入式系統的U-Boot移植
摘要: ARM嵌入式處理器已被廣泛應用于消費電子產品、無線通信、網絡通信和工業控制等領域。其中,ARM9的芯片更是以其低價格、低功耗、高性能在手持設備中占據著重要市場。在嵌入式操作系統中,Linux,Vxworks,WinCE三足鼎立,其中Linux由于其開源性、穩定性、安全性、可裁減性更是一支獨放。在嵌入式系統中,如何實現在ARM9平臺下Linux操作系統的引導工作是嵌入式技術開發的重要環節。
Abstract:
Key words :

 

      ARM嵌入式處理器已被廣泛應用于消費電子產品、無線通信、網絡通信和工業控制等領域。其中,ARM9的芯片更是以其低價格、低功耗、高性能在手持設備中占據著重要市場。在嵌入式操作系統中,Linux,Vxworks,WinCE三足鼎立,其中Linux由于其開源性、穩定性、安全性、可裁減性更是一支獨放。在嵌入式系統中,如何實現在ARM9平臺下Linux操作系統的引導工作是嵌入式技術開發的重要環節。

  1 嵌入式系統的軟件組成

  1.1 系統的軟件組成

  嵌入式的軟件系統主要由Bootloader、操作系統、文件系統、應用程序等組成。其中,Bootloader是介于硬件和操作系統之間的一層,其作用就好像PC機中的BIOS。系統加電運行后,由系統自動加載。通過這段程序,可以初始化硬件設備,建立內存空間的映射圖,從而將系統的硬件環境帶到一個合適的狀態,以便為最終調用操作系統內核準備好環境。對于一個嵌入式系統,通常BootLoader是依賴于硬件而實現的。對于不同類型的嵌入式芯片、不同的操作系統和外圍接口都需要重新移植、修改和編譯Bootloader。

  1.2 U-Boot分析

  嵌入式Linux系統中常用的Bootloader引導程序有U-Boot,redboot,blob和vivi等,其中U-Boot遵循GPL條款的開放源碼項目,功能最為強大;U-Boot對PowerPC系列處理器支持最豐富,同時還支持MIPS,x86,ARM,Nios,XScale等諸多常用系列的處理器;U-Boot引導程序分為Stage 1和Stage 2兩大部分,Stage 1中主要包括設備初始化、中斷設置、時鐘設置和存儲器初始化等工作,并且采用匯編語言實現,而一些通用功能大多采用C語言實現,放在Stage 2中。

  2 U-Boot的啟動分析

  Stage 1的代碼在CPU/arm920t/start.s中定義,它包括從系統上電后在0x00000000地址開始執行的部分。這部分代碼系統啟動后,從NAND FLASH自動加載到SDRAM中,它包括對S3C2410A中寄存器的初始化和將U-Boot的Stage 2代碼從FLASH拷貝到SDRAM。Stage 2的起始地址是在Stage1代碼中指定的。被復制到SDRAM后,就從第一階段跳到這個入口地址,開始執行剩余部分代碼。第二階段主要是對內存的分配,對NAND FLASH以及對外圍設備的初始化,其代碼在lib-arm/board.C中。啟動的流程分析如圖1所示。

  (1)跳轉到C語言程序之后,首先定義初始化函數表,程序在lib-arm/board.e中,如下所示:

  (2)初始化FLASH設備和顯示FLASH設備信息;

  (3)初始化系統內存分配函數;

  (4)如果目標系統擁有NAND設備,則初始化NAND設備;

  (5)初始化顯示設備;

  (6)初始化網絡設備,填寫IP地址、MAC地址等信息;

  (7)開啟中斷處理;

  (8)進入命令循環,接收用戶從串口的命令輸入。

  3 U-Boot的移植方法

  本文選用交叉編譯環境arm-linux-gcc-2.95.3,選用U-Boot-1.1.4版本作為移植平臺。為了使U-Boot支持新的開發板,一種簡便的做法是在U-Boot已經支持的開發板中選擇一種與目標板接近的,在其基礎上進行修改。這里選用的是smdk2410的配置。

  3.1 修改cpu/arm920t/start.S文件

  Start.s是采用匯編語言編寫的U-Boot程序入口代碼,完成對底層硬件的初始化,其中有一個很重要的功能是從NAND FLASH中把Stage 2階段的代碼復制到SDRAM中。在此階段,涉及到對NANDFLASH的讀操作,在U-Boot中,沒有對NANDFLASH讀操作的驅動,采用以下方法實現:

  通過調用board/smdk2410/nand_read.C中的nand_read_11函數將Stage 2階段的代碼復制到ram中。

  3.2 修改board/smdk2410目錄下文件

 

  (1)增加對NANDFLASH的讀驅動nand_read.c

  (2)在smdk2410.C文件中添加對NANDFLASH初始化的程序

  在此主要是對主板的GPIO的一些設置,并加上對NANDFLASH初始化程序。

  (3)在該目錄下的Makefile文件中添加nand_read.C文件的編譯

  OBJS:=smdk24 10.o FLASH.o nand_read.o

  3.3 在include文件中設置NAND FLASH硬件參數

  在/linux/mtd/nand_ids.h中設置參數:

  3.4 編譯與運行

  配置好以后,進入U-Boot主目錄,重新編譯U-Boot代碼,運行命令:

  (1)查看交叉編譯器的版本號

  ARM-linux-gcc-v

  (2)清除生成的連接

  Make distclean

  (3)編譯make smdk2410_config

  (4)make CROSS-COMPILE=arm-linux-編譯成功后,將生成三個文件:

  u-boot:ELF格式的文件,可以被大多數Debug程序識別。

  u-boot.bin:二進制bin文件,純碎的U-Boot二進制執行代碼,不保存ELF格式和調試信息。這個文件用于燒到用戶的開發板中。

  u-boot.srec:Motorola S-Record格式,可以通過串口下載到開發板中。

  將得到的u-boot.bin文件借助于FLASH芯片燒寫工具,通過JTAG口下載到目標板后,檢查U-Boot能否正常工作。如果能從串口輸出正確的啟動信息,就表明移植基本成功。

  4 結 語

  目前筆者移植的U-Boot已經能穩定地運行在開發板上。U-Boot引導程序是嵌入式Linux系統軟件開發中的一個重要環節。在此通過分析U-Boot的代碼結構和啟動過程,并針對開發板系統的硬件資源,通過分析與調試,實現了U-Boot的移植,并且能夠引導嵌入式Linux內核和文件系統,為今后進一步開發奠定了堅實的基礎。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美日韩国产综合视频在线观看中文| 亚洲欧美另类中文字幕| 亚洲大胆美女视频| aa国产精品| 亚洲一区二区三区激情| 久久久噜噜噜久久中文字幕色伊伊| 噜噜噜91成人网| 欧美色区777第一页| 欧美成熟视频| 亚洲国产日韩一区| 亚洲国产精品va| 国产精品私拍pans大尺度在线| 亚洲免费中文| 国产精品成人国产乱一区| 欧美成人午夜免费视在线看片| 国产一区在线观看视频| 亚洲精品女av网站| 亚洲私人影院| 亚洲国产日韩欧美综合久久| 国产综合久久久久影院| 免费看黄裸体一级大秀欧美| 亚洲影院高清在线| 好吊色欧美一区二区三区视频| 亚洲欧美制服另类日韩| 激情校园亚洲| 欧美一区二区观看视频| 国产精品一国产精品k频道56| 欧美一乱一性一交一视频| 亚洲一区三区视频在线观看| 亚洲综合导航| 欧美成人资源| 亚洲精品视频免费| 国产区二精品视| 亚洲欧美日韩精品在线| 欧美高清不卡| 老妇喷水一区二区三区| 久久午夜色播影院免费高清| 国产欧美综合在线| 欧美日韩一区二区在线视频| 国产一区二区在线观看免费播放| 久久精品噜噜噜成人av农村| 亚洲大胆人体在线| 日韩视频一区二区三区| 亚洲一区二区三区四区在线观看| 亚洲国产日本| 欧美精品在线免费观看| 99国产精品私拍| 最新热久久免费视频| 欧美在线精品免播放器视频| 欧美日韩国产美女| 久久久国产成人精品| 夜夜嗨av一区二区三区免费区| 一本色道婷婷久久欧美| 久久久久久久久岛国免费| 欧美在线欧美在线| 久久精品国产91精品亚洲| 欧美aa国产视频| 一区二区三区在线视频免费观看| 欧美涩涩视频| 欧美肉体xxxx裸体137大胆| 欧美一区精品| 国产综合18久久久久久| 国产午夜精品久久久久久免费视| 狠狠色综合一区二区| 午夜精品区一区二区三| 99精品欧美一区| 国产日韩欧美精品一区| 亚洲自拍偷拍一区| 久久亚洲影院| 免费久久久一本精品久久区| 黄色成人在线观看| 日韩午夜在线视频| 日韩视频第一页| 欧美精品久久久久久久久久| 久久av最新网址| 女生裸体视频一区二区三区| 激情久久婷婷| 欧美成人免费在线| 怡红院精品视频在线观看极品| 香蕉成人伊视频在线观看| 欧美日韩国产一区二区三区| 久久人人爽人人| 久久免费国产精品1| 一区二区三区视频观看| 国产精品www.| 亚洲精品久久久久久一区二区| 亚洲人成亚洲人成在线观看图片| 欧美h视频在线| 欧美日韩精品高清| 欧美激情精品久久久久久大尺度| 欧美精品 国产精品| 一区视频在线| 亚洲欧美另类在线| 久久人人爽人人爽| 久久国产精品99精品国产| 黄色成人精品网站| 合欧美一区二区三区| 亚洲欧美日韩在线高清直播| 一本一道久久综合狠狠老精东影业| 欧美日韩精品二区| 亚洲精品日韩欧美| 国产精品一级| 中文在线不卡视频| 国产喷白浆一区二区三区| 欧美日韩在线视频首页| 久久国产精品久久久久久| 久久一区免费| 在线观看欧美一区| 国产热re99久久6国产精品| 久久久国产精品一区二区三区| 一区国产精品| 亚洲小少妇裸体bbw| 欧美不卡三区| 久久精彩免费视频| 国产在线精品二区| 国产一区二区三区在线播放免费观看| 国产综合激情| 亚洲专区免费| 欧美一区二区三区播放老司机| 国产一区二区三区高清播放| 欧美美女视频| 欧美人交a欧美精品| 欧美在线999| 亚洲精选在线| 国产精品久久久久久av福利软件| 狠狠久久亚洲欧美| 欧美色图麻豆| 国产一区二区三区免费不卡| 亚洲欧美日韩精品久久| 欧美大片在线观看一区| 在线观看一区欧美| 一本一本久久a久久精品牛牛影视| 欧美精品一区二区三| 亚洲国产精品www| 欧美成人午夜77777| 牛牛国产精品| 国产自产v一区二区三区c| 国产午夜亚洲精品理论片色戒| 亚洲自拍偷拍色片视频| 国产女主播在线一区二区| 一区二区三区欧美在线观看| 欧美成人免费在线观看| 一区二区欧美国产| 久久夜色精品亚洲噜噜国产mv| 欧美午夜视频一区二区| 性感少妇一区| 久久九九热re6这里有精品| 国产欧美精品一区| 欧美日韩亚洲一区二区三区在线| 美日韩精品免费观看视频| 精品91久久久久| 欧美香蕉大胸在线视频观看| 亚洲精品乱码久久久久久日本蜜臀| 久热精品视频在线| aa级大片欧美| 一区二区三区中文在线观看| av成人国产| 国产日韩欧美一区二区三区四区| 久久精品在线免费观看| 亚洲精品国产精品久久清纯直播| 在线观看亚洲a| 老鸭窝毛片一区二区三区| 久久久久.com| 欧美1区2区3区| 极品尤物av久久免费看| 99在线观看免费视频精品观看| 欧美视频在线免费看| 国产精品久久久久久久久久久久久久| 久热这里只精品99re8久| 亚洲国产精品一区在线观看不卡| 麻豆精品一区二区综合av| 在线精品亚洲| 午夜精品久久久久久久99水蜜桃| 校园春色国产精品| 香蕉久久夜色精品国产使用方法| 一区精品在线| 国产真实乱子伦精品视频| 欧美午夜激情在线| 亚洲免费黄色| 亚洲精品久久久久久久久久久久久| 国内欧美视频一区二区| 中日韩视频在线观看| 国产亚洲一本大道中文在线| 国产精品chinese| 国产精品综合网站| 免费在线成人| 久久久久久香蕉网| 久久精品国产一区二区三| 在线激情影院一区| 欧美深夜影院| 一区二区久久久久久| 久久不射电影网| 欧美国产日产韩国视频| 亚洲永久免费观看| 欧美一区观看| 欧美午夜电影完整版| 国产精品男gay被猛男狂揉视频| 激情欧美一区二区三区在线观看| 欧美日韩dvd在线观看| 99视频精品在线| 美女主播视频一区| 欧美午夜电影在线| 中日韩男男gay无套| 亚洲一区二区av电影| 在线观看亚洲| 欧美人成在线| 亚洲精品综合在线| 男女av一区三区二区色多| 欧美日韩国产成人精品| 亚洲一区二区高清视频| 国产麻豆精品视频| 久久福利影视| 欧美日韩综合视频网址| 亚洲激情在线观看视频免费| 国产伦精品一区二区三区视频黑人| 美女黄毛**国产精品啪啪| 午夜在线a亚洲v天堂网2018| 欧美激情第六页| 国产婷婷色一区二区三区四区| 欧美高清视频免费观看| 亚洲全部视频| 亚洲伦理网站| 99在线|亚洲一区二区| 欧美一级淫片aaaaaaa视频| 国产午夜亚洲精品理论片色戒| 亚洲伦理在线免费看| 欧美在线关看| 欧美色欧美亚洲另类二区| 激情成人av在线| 欧美午夜大胆人体| 日韩小视频在线观看| 欧美日韩在线免费观看| 欧美1区免费| 尤物精品国产第一福利三区| 欧美午夜精品理论片a级大开眼界| 欧美日本韩国一区| 国产精品欧美一区二区三区奶水| 免费国产自线拍一欧美视频| 欧美日韩福利在线观看| 欧美日精品一区视频| 午夜国产不卡在线观看视频| 国产精品亚洲片夜色在线| 欧美顶级少妇做爰| 在线精品视频在线观看高清| 国产精品地址| 亚洲欧美激情精品一区二区| 日韩一区二区精品视频| 久久免费99精品久久久久久| 亚洲免费观看高清完整版在线观看熊| 国产亚洲第一区| 国产女人aaa级久久久级| 欧美一级理论性理论a| 国产精品久久久久91| 亚洲视频在线一区观看| 亚洲国产高清自拍| 国产情人节一区| 欧美日韩亚洲一区二区三区四区| 国模精品一区二区三区色天香| 久久精品一区蜜桃臀影院| 亚洲人成欧美中文字幕| 欧美日韩亚洲一区二区三区在线| 国产一区二区高清| 一本色道精品久久一区二区三区| 亚洲欧美美女| 欧美极品一区| 国内成人精品一区| 日韩视频在线永久播放| 国产日韩欧美一区在线| 国产精品成人在线| 香蕉精品999视频一区二区| 国产精品第2页| 欧美日韩四区| 欧美日韩在线播放一区| 午夜久久99| 国产一区二区三区最好精华液| 国产精品毛片在线| 欧美激情一区三区| 久久久久久久一区二区| 亚洲一卡久久| 久久久国产精品一区二区中文| 国内精品久久久久久久影视蜜臀| 欧美一区二区三区久久精品茉莉花| 国产色产综合色产在线视频| 欧美极品aⅴ影院| 在线日韩av永久免费观看| 欧美精品一区二区三区一线天视频| 国产一区二区日韩精品| 欧美自拍偷拍| 欧美精品免费在线观看| 亚洲婷婷在线| 国产精品裸体一区二区三区| 欧美a级在线| 欧美日韩午夜| 亚洲国产裸拍裸体视频在线观看乱了中文| 亚洲一区二区黄色| 久久露脸国产精品| 欧美色道久久88综合亚洲精品| 久久久人人人| 欧美日韩国产天堂| 国产精品美女一区二区在线观看| 一区二区三区免费观看| 亚洲午夜一二三区视频| 国产精品免费看久久久香蕉| 美女脱光内衣内裤视频久久网站| 99精品视频免费| 欧美久久婷婷综合色| 欧美在线一级va免费观看| 亚洲视频网在线直播| 欧美福利一区| 亚洲一区二区三区中文字幕在线| 欧美一级大片在线观看| 亚洲成色777777女色窝| 欧美黄色精品| 国产精品美女视频网站| 欧美在线视频在线播放完整版免费观看| 国产视频综合在线| 国产区日韩欧美| 欧美特黄一区| 亚洲精品一区二区三区四区高清| 欧美日本韩国一区| 亚洲国产成人av好男人在线观看| 欧美精品亚洲一区二区在线播放| 亚洲一区二区三区四区视频| 午夜精品视频在线观看| 最新69国产成人精品视频免费| 欧美成人午夜激情视频| 欧美日韩亚洲国产精品| 欧美国产1区2区|