u boot移植應(yīng)用開發(fā)指南_第1頁
u boot移植應(yīng)用開發(fā)指南_第2頁
u boot移植應(yīng)用開發(fā)指南_第3頁
u boot移植應(yīng)用開發(fā)指南_第4頁
u boot移植應(yīng)用開發(fā)指南_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

何形式。 您的產(chǎn)品、服務(wù)或特性等應(yīng)受海思公司商業(yè)合同和條款的約束,本文檔中描述的全部或部分產(chǎn) 市龍崗區(qū)坂田電氣生產(chǎn) (Hi3516CV300/Hi3516EV100Bootloader)ARM調(diào)試工Hi3516CV300為例,如未有特殊說明,Hi3516EV100與Hi3516CV300

概 概 移植U- 編譯U- 配置DDR 生成最終使用的U-boot鏡 燒寫U- 概 通過bootrom工具燒寫U- Flash的U-boot燒寫方 如何使用ARM調(diào)試工 概 DS-5 DS-5 使用ARM調(diào)試工 安裝ARMDevelopmentStudio 附 圖4-1DS-5Eclipse啟動(dòng)界 圖4-2設(shè)備掃描窗 圖4-3配置窗 圖4-4DS-5命令提示符窗 圖4-5Preferences窗 圖4-6AddconfigureDatabase 圖4-7DS-5Debug窗 圖4-8DebugConfigure窗 圖4-9DebugConfigure窗 圖4-10DebugConfigure窗 圖4-11窗 圖4-12Memory窗 圖4-13Memory窗 圖4-14MemoryImporter窗 圖4-15Registers窗 圖5-1查看當(dāng)前塊保護(hù)信 圖5-2鎖定整個(gè)器 圖5-3解除當(dāng)前鎖定狀 圖5-4通過設(shè)置level值鎖定指定區(qū) 表1-1U-boot的主 表5-1不同廠家不同器件的塊保護(hù)鎖定區(qū)域與BPLevel對(duì)應(yīng) 1

Hi3516CV300單板的Bootloader采用U-boot。當(dāng)選用的 的型號(hào)不同時(shí),需要修改U-boot配置文件,主要包括 名移植U-U-步驟1.配置編譯環(huán)境makeARCHarmCROSSCOMPILEarm-hisivXXX-linux-hi3516cv300或makeARCHarmCROSSCOMPILEarm-hisivXXX-linux-hi3516ev100編譯成功后,將在U-boot 步驟2.編譯U-bootmakeARCHarmCROSSCOMPILEarm-hisivXXX-CROSSCOMPILE表示工具鏈。文檔中統(tǒng)一以CROSSCOMPILE=armhisiXXXlinux來Hi3516CV300R001C01SPCxxxuclibcuclibc工具鏈時(shí),CROSSCOMPILE=armhisiv500linux。Hi3516CV300R001C02SPCxxxglibc,使用glibc工具鏈時(shí),CROSSCOMPILE=armhisiv600linux。配置DDR在Windows下打開SDK中的“osdrv/tools/pc/uboottools/” 用不同的DDRSDRAM時(shí),需要針對(duì)不同器件的特性,對(duì)配置工作表中的頁【mddrcdmc】和【mddrcphyU-boot步驟2.單擊表格第一個(gè)頁上的按鈕【Generageregbinfile】(只能點(diǎn)此按鈕),或者使用hiregbin工具(osdrv/tools/pc/uboottoolshiregbin-v5.0.0.tgz壓縮包里的readme文件),生成臨時(shí)文件reginfo.bin。步驟3.將臨時(shí)文件reginfo.bin和編譯u-boot得到的u-boot.bin都拷貝到SDK中的“osdrv/tools/pc/uboottools/” ./mkboot.shreginfo.binu-boot-燒寫U-

如果待移植單板中已有如果是第一次燒寫,則需要使用HiTool或者DS-5工具進(jìn)行燒寫。由于特性,在使用DS-5時(shí)必須要對(duì)器和進(jìn)行初始化。在Hi3516CV300SDK中提供了相應(yīng) bootromU-FlashU-bootSPI-NorFlashmw.bddr_addrff0x100000/*對(duì)內(nèi)存初始化tftp<ddr_addr>u-boot-hi35xx.bin/*U-boot到內(nèi)存*/sfprobe0 /*探測(cè)并初始化SPI-Norflash*/sferase0x00x100000 /*擦除1M大小*/sfwriteddr_addr>0x00x100000/*從內(nèi)存寫入SPI-NorHi3516CV300的<ddraddr>為 2.U-bootnanderase0100000 /*擦除1M大小*/mw.b<ddr_addr>ff100000 tftp<ddr_addr>u-boot-hi35xx.bin nandwriteddr_addr0100000/*從內(nèi)存寫入SPI-NANDFlash*/Hi3516CV300的<ddraddr>為0x 步驟2.重啟系統(tǒng)可以看到U-boot燒寫成功。EMMCU-bootmw.b<ddr_addr>0xff0x80000 /*對(duì)內(nèi)存初始化*/tftp<ddr_addr>u-boot-hi35xx.bin/*U-boot到內(nèi)存*/mmcwrite0<ddr_addr>00x400/*從內(nèi)存寫入EMMC*/格式:mmcwritedevicenum>addrblk#.4ARM4

DS-5即ARMDevelopmentStudio5,是一款針對(duì)ARM支持的Linux和Android平Eclipse的IDE中。借助于該工具套件,可以很輕松地為ARM支持的平臺(tái)開發(fā)和優(yōu)化基于Linux的系統(tǒng),縮短開發(fā)和測(cè)試周期,并且可幫助工程師創(chuàng)建資源利(IDEDS-5DebugReal-TimeSystemModels(TSM:DS-5DS-5DS-5(IDEARMLinuxARMLinuxGNU工具鏈。DS-5Eclipse包括項(xiàng)目管理、編輯器和視圖等主要功能。DS-5DS-5DebugARM目標(biāo)板和Real-TimeSystemDebug管理窗口,可以在源碼級(jí)或指令級(jí)單步執(zhí)行,并在其他視圖中查看代碼執(zhí)行后的數(shù)據(jù)。也可以設(shè)置斷點(diǎn)或觀察點(diǎn)暫停程序繼續(xù)執(zhí)行,以便了解應(yīng)用程序執(zhí)要使用DS-5進(jìn)行程序調(diào)試或者向板燒寫U-boot程序,首先必須創(chuàng)建目標(biāo)平臺(tái)配置數(shù)據(jù)庫,然后才能連接到目標(biāo)平臺(tái)進(jìn)行程序調(diào)試或者向開發(fā)板燒寫U-boot程序。ARM調(diào)試工具的更詳細(xì)描述請(qǐng)參見ARM公司提供的文檔。下面介紹如何使用DS-5。1.ARMDevelopmentStudio5步驟2.創(chuàng)建目標(biāo)平臺(tái)配置數(shù)據(jù)庫。首先運(yùn)行DebugHardwareConfigure生成配置文件,然3.DS-5設(shè)備連接到ARMDevelopmentStudioARMDevelopmentStudio5是由ARM公司提供的DS-5Eclipse安裝程序。安裝前,請(qǐng)先閱讀ARM的相關(guān)文檔。安裝完成后啟動(dòng)DS-5Eclipse,如圖4-1所示。步驟1.選擇【Start】→【AllPrograms】→【ARMDS-5】→【DebugHardware】→【DebugHardwareConfigureDebugHardwareConfigure程序掃描連接中的仿真器,選中指定的仿真器后點(diǎn)擊【Connect】按鈕,如圖4-2所示。步驟2.在彈出的窗口中按紅框中所示進(jìn)行配置,點(diǎn)擊【AutoConfigure】按鈕自動(dòng)生成配置,如圖4-3所示。步驟3.并保存該配置文件到指定路徑,如D:\ds5\rvc\hi3516cv300\hi3516cv300.rvc步驟4.生成目標(biāo)平臺(tái)配置數(shù)據(jù)庫。運(yùn)行DS-5CommandPrompt程序,執(zhí)行程序cdbimporter.exe配置文件,生成目標(biāo)平臺(tái)配置數(shù)據(jù)庫,如圖4-4所示。其操作步驟自定義保存目標(biāo)庫的路徑,如D:\ds5\database\hi3516cv300圖4-4DS-5命令提示符窗口5. 選擇【DS-5】→【ConfigurationDatabase】,如圖4-5所示。D:\ds5\database\hi3516cv3004-6步驟1.從主菜單選擇【W(wǎng)indows】→【Open】→【DS-5Debug】,打開DS-5Debug窗口,如圖4-7所示。2.從【Run】菜單選擇【DebugConfigureDebugConfigurations步驟3.配置樹【DS-5Debugger】,在彈出的菜單單擊【New】創(chuàng)建一個(gè)新的配置,如圖4-8所示。4.在名字域內(nèi),為新配置鍵入一個(gè)合適的名字,如“Hi3516CV300Debug”。步驟5.單擊【Connection】頁配置一個(gè)DS-5調(diào)試器目標(biāo)連接。步驟6.此處選擇新添加的目標(biāo)平臺(tái)配置數(shù)據(jù)庫:【Hisilicon】→【Hi3516CV300】→【BareMetalDebug】→【DebugARM926EJ-SDS-5IP地址,如圖4-9所示。步驟7.在【Debugger】頁選中【ConnectOnly】選項(xiàng),如圖4-10所示8.單擊【Debug在【Scripts】窗口單擊圖標(biāo)導(dǎo)入內(nèi)存初始化,單擊圖標(biāo)運(yùn)行內(nèi)存初始化腳本(如果此時(shí)仿真器處于運(yùn)行狀態(tài),則需在【DebugControl】窗口單擊按鈕暫停仿真器,如圖4-11所示。在【Memory】窗口輸入內(nèi)存地址(如0x ),回車后查看表格是否顯示當(dāng)前內(nèi)存值的方法為:雙擊某個(gè)表格框(如0x 位置輸入新值(如0x 后回車,觀察此框中值是否變成新值,如圖4-12所示。 osdrv\tools\pc\uboottools下的.log格式文件4.4.2U-Boot映步驟1.在【Memory】窗口的單擊按鈕彈出圖4-13所示菜單。圖4-13Memory窗口步驟2.選擇【ImportMemory】選項(xiàng)彈出映像窗口步驟3.u-boot映像到內(nèi)存地址(如 步驟4.在【Regiters】窗口修改PC指針值為0x 圖4-15Registers窗口步驟5.單擊【DebugControl】窗口按鈕啟動(dòng)U-Boot,此時(shí)可通過串口查看U-Boot啟動(dòng)信U-BootU-Boot映像寫入啟動(dòng)介質(zhì)中。以SPI-NorFlash為例,其燒寫步驟如下:sfprobe sferase0 /*擦除1M大小sfwrite<ddraddr>0100000 /*從內(nèi)存寫入SPI-NorFlash*/ Hi3516CV300的<ddraddr>為 SPI-NorFlash上都提供了塊保護(hù)位(BlockProtect:以下簡(jiǎn)稱BP)來保護(hù)數(shù)據(jù)安通過設(shè)置狀態(tài)寄存器(StatusRegister:以下簡(jiǎn)稱SR)BP0、BP1、BP2、BP3(某些廠家的沒有BP3或者存在BP4)幾個(gè)Bit為1(使能狀態(tài)),使器件中某些對(duì)應(yīng)的Bit,有的廠商還提供了對(duì)塊保護(hù)鎖定方向的設(shè)置,可以設(shè)置保護(hù)的塊從器件頂部Top開始Bottom開始。通過設(shè)置配置寄存器(ConfigRegister:CR)中的TBPROT位(某些廠家的TBPROT位位于SR)設(shè)置寫保護(hù)鎖定起始地址是Program)類型,默認(rèn)狀態(tài)為0:BP開始于Top部(高地址1:BP開始于Bottom(低地址,且將無法更改。 控制器從初始化開始就將TBPROT位置為1,即從Bottom低地址SPI-NorSRBP0(去使能狀態(tài),此時(shí)塊保護(hù)以塊(Block)BPlevel值來設(shè)置鎖定的塊保護(hù)的范圍。對(duì)于3個(gè)BP位的器件,在BP[0:0:0]到BP[1:1:1]之間,level0~74BPBP[0:0:0:0]BP[1:1:1:1]之間,level的取值范圍0~10(或者0~9,這是因?yàn)樽钚〉逆i定區(qū)域不能小于1Block。MXICESMT010-0-0-0-0-20-0-0-30-0-0-40-0-0-50-0-0-0-0-60-0-0-)70-0-0-80-0-0----90-0--------010-0-0-0-0-0-20-0-0-0-0-0-30-0-0-0-0-0-40-0-0-0-0-0-50-0-0-0-0-0-60-0-0-0-0-0-70-8----0--9----0-------GD010-0-0-0-20-0-0-0-30-0-0-0-40-0-0-0-50-0-0-0-0-60-0-0-0-0-7SPI-NorFlash上的塊保護(hù)機(jī)制,u-bootSPI-Norlock。命令sfBPlevel值和level的取值范圍以及當(dāng)前鎖定的區(qū)域范圍,同時(shí)打印命令說明信息。如圖5-1所示。sflock鎖定

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論