<span id="plx27"><var id="plx27"></var></span>
<dfn id="plx27"><var id="plx27"></var></dfn>
  • <span id="plx27"><code id="plx27"><input id="plx27"></input></code></span>
    <menu id="plx27"></menu><menuitem id="plx27"><thead id="plx27"><input id="plx27"></input></thead></menuitem>
  • <label id="plx27"><code id="plx27"></code></label>
    <label id="plx27"><button id="plx27"></button></label>
  • 歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
    裝配圖網(wǎng)
    ImageVerifierCode 換一換
    首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

    嵌入式開發(fā)教程之基于S3C2410A的嵌入式系統(tǒng)的U-Boot移植

    • 資源ID:248228098       資源大?。?span id="anjg7ap" class="font-tahoma">267.85KB        全文頁數(shù):19頁
    • 資源格式: PPT        下載積分:15積分
    快捷下載 游客一鍵下載
    會員登錄下載
    微信登錄下載
    三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
    二維碼
    微信掃一掃登錄
    下載資源需要15積分
    郵箱/手機(jī):
    溫馨提示:
    用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
    支付方式: 支付寶    微信支付   
    驗證碼:   換一換

     
    賬號:
    密碼:
    驗證碼:   換一換
      忘記密碼?
        
    友情提示
    2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
    3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
    4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
    5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

    嵌入式開發(fā)教程之基于S3C2410A的嵌入式系統(tǒng)的U-Boot移植

    ,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,2011-5-20,#,嵌入式開發(fā)教程之基于,S3C2410A,的嵌入式系統(tǒng)的,U-Boot,移植,引 言,1,嵌入式系統(tǒng)的軟件組成,1,1,系統(tǒng)的軟件組成,1,2 U-Boot,分析,2 U-Boot,的啟動分析,3 U-Boot,的移植方法,3,1,修改,cpu,arm920t,start,S,文件,3,2,修改,board,smdk2410,目錄下文件,3,3,在,include,文件中設(shè)置,NAND FLASH,硬件參數(shù),3,4,編譯與運行,4,結(jié) 語,arm,嵌入式處理器已被廣泛應(yīng)用于消費電子產(chǎn)品、無線通信、網(wǎng)絡(luò)通信和工業(yè)控制等領(lǐng)域。其中,,arm9,的芯片更是以其低價格、低功耗、高性能在手持設(shè)備中占據(jù)著重要市場。在嵌入式操作系統(tǒng)中,,Linux,,,Vxworks,,,WinCE,三足鼎立,其中,Linux,由于其開源性、穩(wěn)定性、安全性、可裁減性更是一支獨放。在嵌入式系統(tǒng)中,如何實現(xiàn)在,arm9,平臺下,Linux,操作系統(tǒng)的引導(dǎo)工作是嵌入式技術(shù)開發(fā)的重要環(huán)節(jié)。,引 言,1,1,系統(tǒng)的軟件組成,嵌入式的軟件系統(tǒng)主要由,Bootloader,、操作系統(tǒng)、文件系統(tǒng)、應(yīng)用程序等組成。其中,,Bootloader,是介于硬件和操作系統(tǒng)之間的一層,其作用就好像,PC,機(jī)中的,BIOS,。系統(tǒng)加電運行后,由系統(tǒng)自動加載。通過這段程序,可以初始化硬件設(shè)備,建立內(nèi)存空間的映射圖,從而將系統(tǒng)的硬件環(huán)境帶到一個合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好環(huán)境。對于一個嵌入式系統(tǒng),通常,BootLoader,是依賴于硬件而實現(xiàn)的。對于不同類型的嵌入式芯片、不同的操作系統(tǒng)和外圍接口都需要重新移植、修改和編譯,Bootloader,。,1,嵌入式系統(tǒng)的軟件組成,嵌入式,Linux,系統(tǒng)中常用的,Bootloader,引導(dǎo)程序有,U-Boot,,,redboot,,,blob,和,vivi,等,其中,U-Boot,遵循,GPL,條款的開放源碼項目,功能最為強(qiáng)大;,U-Boot,對,PowerPC,系列處理器支持最豐富,同時還支持,MIPS,,,x86,,,arm,,,Nios,,,XScale,等諸多常用系列的處理器;,U-Boot,引導(dǎo)程序分為,Stage 1,和,Stage 2,兩大部分,,Stage 1,中主要包括設(shè)備初始化、中斷設(shè)置、時鐘設(shè)置和存儲器初始化等工作,并且采用匯編語言實現(xiàn),而一些通用功能大多采用,C,語言實現(xiàn),放在,Stage 2,中。,1,2,嵌入式開發(fā)教程之,U-Boot,分析,Stage 1,的代碼在,CPU,arm920t,start,s,中定義,它包括從系統(tǒng)上電后在,0 x00000000,地址開始執(zhí)行的部分。這部分代碼系統(tǒng)啟動后,從,NAND FLASH,自動加載到,SDRAM,中,它包括對,S3C2410A,中寄存器的初始化和將,U-Boot,的,Stage 2,代碼從,FLASH,拷貝到,SDRAM,。,Stage 2,的起始地址是在,Stage1,代碼中指定的。被復(fù)制到,SDRAM,后,就從第一階段跳到這個入口地址,開始執(zhí)行剩余部分代碼。第二階段主要是對內(nèi)存的分配,對,NAND FLASH,以及對外圍設(shè)備的初始化,其代碼在,lib-,arm,board,C,中。啟動的流程分析如圖,1,所示。,2,嵌入式開發(fā)教程之,U-Boot,的啟動分析,嵌入式開發(fā)教程,(1),跳轉(zhuǎn)到,C,語言程序之后,首先定義初始化函數(shù)表,程序在,lib-arm,board,e,中,如下所示:,嵌入式開發(fā)教程,(2),初始化,FLASH,設(shè)備和顯示,FLASH,設(shè)備信息;,(3),初始化系統(tǒng)內(nèi)存分配函數(shù);,(4),如果目標(biāo)系統(tǒng)擁有,NAND,設(shè)備,則初始化,NAND,設(shè)備;,(5),初始化顯示設(shè)備;,(6),初始化網(wǎng)絡(luò)設(shè)備,填寫,IP,地址、,MAC,地址等信息;,(7),開啟中斷處理;,(8),進(jìn)入命令循環(huán),接收用戶從串口的命令輸入。,嵌入式開發(fā)教程,本文選用交叉編譯環(huán)境,arm-linux-gcc-2,95,3,,選用,U-Boot-1,1,4,版本作為移植平臺。為了使,U-Boot,支持新的開發(fā)板,一種簡便的做法是在,U-Boot,已經(jīng)支持的開發(fā)板中選擇一種與目標(biāo)板接近的,在其基礎(chǔ)上進(jìn)行修改。這里選用的是,smdk2410,的配置。,3,嵌入式開發(fā)教程之,U-Boot,的移植方法,Start,s,是采用匯編語言編寫的,U-Boot,程序入口代碼,完成對底層硬件的初始化,其中有一個很重要的功能是從,NAND FLASH,中把,Stage 2,階段的代碼復(fù)制到,SDRAM,中。在此階段,涉及到對,NANDFLASH,的讀操作,在,U-Boot,中,沒有對,NANDFLASH,讀操作的驅(qū)動,采用以下方法實現(xiàn):,3,1,修改,cpu,arm920t,start,S,文件,嵌入式開發(fā)教程,通過調(diào)用,board,smdk2410,nand_read,C,中的,nand_read_11,函數(shù)將,Stage 2,階段的代碼復(fù)制到,ram,中。,(1),增加對,NANDFLASH,的讀驅(qū)動,nand_read,c,3,2,修改,board,smdk2410,目錄下文件,(2),在,smdk2410,C,文件中添加對,NANDFLASH,初始化的程序,在此主要是對主板的,GPIO,的一些設(shè)置,并加上對,NANDFLASH,初始化程序。,嵌入式開發(fā)教程,嵌入式開發(fā)教程,(3),在該目錄下的,Makefile,文件中添加,nand_read,C,文件的編譯,OBJS,:,=smdk24 10,o FLASH,o nand_read,o,嵌入式開發(fā)教程,在,linux,mtd,nand_ids,h,中設(shè)置參數(shù):,3,3,在,include,文件中設(shè)置,NAND FLASH,硬件參數(shù),配置好以后,進(jìn)入,U-Boot,主目錄,重新編譯,U-Boot,代碼,運行命令:,(1),查看交叉編譯器的版本號,arm-linux-gcc-v,(2),清除生成的連接,Make distclean,(3),編譯,make smdk2410_config,(4)make CROSS-COMPILE=,arm,-linux-,編譯成功后,將生成三個文件:,3,4,嵌入式開發(fā)教程之,編譯與運行,u-boot,:,ELF,格式的文件,可以被大多數(shù),Debug,程序識別。,u-boot,bin,:二進(jìn)制,bin,文件,純碎的,U-Boot,二進(jìn)制執(zhí)行代碼,不保存,ELF,格式和調(diào)試信息。這個文件用于燒到用戶的開發(fā)板中。,u-boot,srec,:,Motorola S-Record,格式,可以通過串口下載到開發(fā)板中。,將得到的,u-boot,bin,文件借助于,FLASH,芯片燒寫工具,通過,JTAG,口下載到目標(biāo)板后,檢查,U-Boot,能否正常工作。如果能從串口輸出正確的啟動信息,就表明移植基本成功。,嵌入式開發(fā)教程,目前筆者移植的,U-Boot,已經(jīng)能穩(wěn)定地運行在開發(fā)板上。,U-Boot,引導(dǎo)程序是嵌入式,Linux,系統(tǒng)軟件開發(fā)中的一個重要環(huán)節(jié)。在此通過分析,U-Boot,的代碼結(jié)構(gòu)和啟動過程,并針對開發(fā)板系統(tǒng)的硬件資源,通過分析與調(diào)試,實現(xiàn)了,U-Boot,的移植,并且能夠引導(dǎo)嵌入式,Linux,內(nèi)核和文件系統(tǒng),為今后進(jìn)一步開發(fā)奠定了堅實的基礎(chǔ)。,4,結(jié) 語,

    注意事項

    本文(嵌入式開發(fā)教程之基于S3C2410A的嵌入式系統(tǒng)的U-Boot移植)為本站會員(hjk****65)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

    溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




    關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

    copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

    備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


    本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!

    欧美久久久一区二区三区,国产精品亚洲一区二区无码,亚洲国产精品综合久久20声音,亚洲国产精品无码久久久蜜芽
    <span id="plx27"><var id="plx27"></var></span>
    <dfn id="plx27"><var id="plx27"></var></dfn>
  • <span id="plx27"><code id="plx27"><input id="plx27"></input></code></span>
    <menu id="plx27"></menu><menuitem id="plx27"><thead id="plx27"><input id="plx27"></input></thead></menuitem>
  • <label id="plx27"><code id="plx27"></code></label>
    <label id="plx27"><button id="plx27"></button></label>