版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
客戶服務(wù)電話 客戶服務(wù)傳真 客戶服務(wù)郵箱 U-bootSD卡U盤自動升級功能的需求、應(yīng)用場景分析及其升級原理U-bootSD卡U盤升級功能的設(shè)計思路和實現(xiàn)細節(jié),為后續(xù)工作------目 FAT文件系統(tǒng)支 MMC驅(qū)動移 使能USB 手動升級驗證移植的USBOHCI驅(qū) AutoUpdate詳細設(shè) 圖1-1U-boot下SD卡/U盤升級簡要流程 圖3-1函數(shù)運行過程
12.SDU3.4.1-1當同時插入SD卡和U盤時,若SD卡中沒有有效升級包,則系統(tǒng)自動轉(zhuǎn)入U盤升級,若SD卡中含有有效升級包直接使用SD卡中的升級包升級系統(tǒng),不再掃描U盤中的內(nèi)容。具體實現(xiàn)見內(nèi)部函數(shù)實現(xiàn)”Hi3520D/Hi3515A/Hi3535/Hi3536U盤升級,不支持SD????include/configs/?include/configs/?include/configs/?include/configs/?include/configs/?include/configs/hi3516a.h和 ?include/configs/hi3536.h和include/configs/hi3536_spinand.h 下面以Hi3516A代碼為例,說明各部分的相關(guān)作用*sdcard/usbstoragesystem #define1#ifdef#define1#define // #define1#define1**#ifdefCONFIG_AUTO_SD_UPDATE //SD卡驅(qū)動編譯開關(guān),受總開關(guān)#define#defineREG_BASE_MCI #defineCONFIG_HIMCI_V100#define#define #define**11112SDUSBOHCI支持SD卡升級或者U盤升級#define #define Hi3536代碼為例,SDHi3516A代碼為例,說明升級模塊中各個子模Hi3536或Hi3516A的相關(guān)代碼改為相應(yīng)平臺的代 【編譯開關(guān) FAT*sdcard/usbstoragesystem*#define #ifdef#define #define #define #define MMC* #ifdef#define#defineREG_BASE_MCI #defineCONFIG_HIMCI_V100#define#define #define
MMCCONFIG_AUTO_SD_UPDATE Hi3520D、Hi3515A、Hi3535、Hi3536SD卡,故不支持從SD**#define1#define1#define1#define#define1#define2
完成“2.2.1FAT文件系統(tǒng)支持”和“2.2.2MMCU-boot支mmcinfommcSD卡的相關(guān)命令。同理完成“2.2.1FAT文件系統(tǒng)支持”和“2.2.3USBOHCIUUSBOHCI驅(qū)動是的升級包到內(nèi)存,燒寫到Flash上的相應(yīng)的位置即可。SD卡自動升級使用手冊和移植說明.docfatloadmmc00x82000000kernelkernel0x82000000sfprobe0;sferase100000400000;sfwrite0x82000000100000400000;將內(nèi)核燒寫到SPI【燒寫位置可以自行決定】或者直接bootm0x82000000啟動新內(nèi)核hisilicon#mmcinfoDevice:HIMCI_V100ManufacturerID:3OEM:5344Name:SD01GTranSpeed:25000000RdBlockLen:512SDversion2.0HighCapacity:NoCapacity:1015808000BusWidth:4-bithisilicon#fatlsmmchisilicon#fatloadmmc00x82000000readingkernel2902412bytesreadhisilicon#bootm##BootingkernelfromLegacyImageat82000000ImageName:Linux-ImageType:ARMLinuxKernelImage(uncompressed)DataSize: 2902348Bytes=2.8MiBLoadAddress:EntryPoint:80008000LoadingKernelImage...OKStartingkernelSD卡自動升級使用手冊和移植說明.docusbstartUSBfatlsusb0Ufatloadmmc00x42000000kernelkernelsfprobe0;sferase100000600000;sfwrite0x42000000100000600000;將內(nèi)核燒寫到SPI(燒寫位置可以自行決定)或者直接bootm0x42000000啟動新內(nèi)核hisilicon#usbstart(Re)startUSB... scanningbusfordevices...2USBDevice(s)scanningbusforstoragedevices...usb_stor_get_info-1StorageDevice(s)hisilicon#fatlsusb02902412kernel220236u-39495683file(s),0hisilicon#fatloadusb00x42000000kernelreadingkernel2902412byteshisilicon#bootm##BootingkernelfromLegacyImageat42000000ImageName:Linux-ImageType:ARMLinuxKernelImage(uncompressed)DataSize: 3941184Bytes=3.8MiBLoadAddress:EntryPoint:40008000LoadingKernelImage...OKStartingkernel計見3詳細設(shè)計。int{#ifdef
#ifdefexternintdo_auto_update(void);#ifdefCFG_MMU_HANDLEOK #ifdefCFG_MMU_HANDLEOK#endif/*CONFIG_AUTO_UPDATE*/return0;}AutoUpdateImage*"StandalonePrograms"aredirectlyrunnableintheprovidedbyU-Boot;itisexpectedthat(iftheywell)youcancontinuetoworkinU-BootafterreturntheStandalone"OSKernelImages"areusuallyimagesofsomeEmbeddedOSwilltakeovercontrolcompletely.Usuallythesewillinstalltheirownsetofexceptionhandlers,drivers,setuptheMMU,etc.-thismeans,thatyouexpecttore-enterU-Bootexceptbyresettingthe"RAMDiskImages"aremoreorlessjustdatablocks,andparameters(address,size)arepassedtoanOSkernelthatbeing"Multi-FileImages"containseveralimages,typicallyan(Linux)kernelimageandoneormoredataimagesRAMDisks.ThisconstructisusefulforinstancewhenyoutobootoverthenetworkusingBOOTPetc.,wheretheserverprovidesjustasingleimagefile,butyouwanttoforinstanceanOSkernelandaRAMDisk"Multi-FileImages"startwithalistofimagesizes,imagesize(inbytes)specifiedbyan"uint32_t"inbyteorder.ThislististerminatedbyanImmediatelyaftertheterminating0followtheimages,oneone,allalignedon"uint32_t"boundaries(sizeroundedupamultipleof4bytes-exceptforthelast"FirmwareImages"arebinaryimagescontainingfirmwareU-BootorFPGAimages)whichusuallywillbeprogrammedflash"Scriptfiles"arecommandsequencesthatwillbeexecutedU-Boot'scommandinterpreter;thisfeatureisusefulwhenyouconfigureU-Boottousearealshellascommandinterpreter(=>Shell#define /*Invalid #defineIH_TYPE_STANDALONE1 /*StandaloneProgram #defineIH_TYPE_KERNEL2 /*OSKernelImage #defineIH_TYPE_RAMDISK3 /*RAMDiskImage #defineIH_TYPE_MULTI4 /*Multi-FileImage*/#defineIH_TYPE_FIRMWARE /*FirmwareImage*/#defineIH_TYPE_SCRIPT6 /*Scriptfile*/#defineIH_TYPE_FILESYSTEM7 /*FilesystemImage(anytype)*/#defineIH_TYPE_FLATDT8 /*BinaryFlatDeviceTreeBlob*/–/*indexofeachfileinthefollowingarrays*/#defineIDX_FIRMWARE0#defineIDX_KERNEL#defineIDX_ROOTFS/*max.numberoffileswhichcouldinterestus*/#defineAU_MAXFILES3#defineAU_FIRMWARE"u-boot"#defineAU_KERNEL #define /*pointerstofilenames*/char*aufile[AU_MAXFILES]={AU_FIRMWARE,autoupdatestruct{longstart;longend;/*layoutoftheFLASH.ST=startaddress,ND=endaddress.*/#defineAU_FL_FIRMWARE_ST0x0#defineAU_FL_FIRMWARE_ND0x7FFFF#defineAU_FL_KERNEL_ST0x100000#defineAU_FL_KERNEL_ND0x5FFFFF#defineAU_FL_ROOTFS_ST0x600000#defineAU_FL_ROOTFS_ND0xbFFFFF/*sizesofflashareasforeachfile*/longausize[AU_MAXFILES]={(AU_FL_FIRMWARE_ND+1)-AU_FL_FIRMWARE_ST,(AU_FL_KERNEL_ND+1)-AU_FL_KERNEL_ST,(AU_FL_ROOTFS_ND+1)-/*arrayofflashareasstartandendaddresses*/structflash_layoutaufl_layout[AU_MAXFILES]={{ {AU_FL_KERNEL_ST,AU_FL_KERNEL_ND,{AU_FL_ROOTFS_ST,AU_FL_ROOTFS_ND,/*wheretoloadfilesintomemory#defineLOAD_ADDR((unsignedchar/*theappisthelargestimage#defineMAX_LOADSZUflash上的步驟:1.SD卡/Uload到內(nèi)存上。步驟2.從內(nèi)存寫到SPIflash上。每個升級所用的鏡像的開頭幾個字節(jié),都必須包含如下信息:(包括魔術(shù)字、crc校#defineIH_MAGIC 0x27051956/*ImageMagicNumber*/#defineIH_NMLEN 32/*ImageNameLength*/typedefstructimage_header{ ih_magic;/*ImageHeaderMagicNumber /*ImageHeaderCRCChecksum /*ImageCreationTimestamp*/ /*ImageDataSize /*DataLoadAddress /*EntryPointAddress /*ImageDataCRCChecksum*/uint8_tih_os;/*
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度木材加工鋼材買賣居間合同附帶國際市場開拓服務(wù)4篇
- 2024年度青海省公共營養(yǎng)師之三級營養(yǎng)師自我提分評估(附答案)
- 2024年度陜西省公共營養(yǎng)師之四級營養(yǎng)師題庫綜合試卷A卷附答案
- 2024年度青海省公共營養(yǎng)師之三級營養(yǎng)師押題練習(xí)試題B卷含答案
- 2024年度青海省公共營養(yǎng)師之三級營養(yǎng)師模擬題庫及答案下載
- 跨領(lǐng)域的急救技能應(yīng)用與實踐
- 無人機在農(nóng)業(yè)中的應(yīng)用與消費者采納研究
- 教育心理學(xué)在家庭教育中的應(yīng)用-現(xiàn)代家長的會議匯報技巧分享
- 營養(yǎng)學(xué)在家庭教育中的角色
- 小微餐飲企業(yè)在不同地域的拓展策略
- 紅色革命故事《王二小的故事》
- 《白蛇緣起》賞析
- 海洋工程用高性能建筑鋼材的研發(fā)
- 蘇教版2022-2023學(xué)年三年級數(shù)學(xué)下冊開學(xué)摸底考試卷(五)含答案與解析
- 英語48個國際音標課件(單詞帶聲、附有聲國際音標圖)
- GB/T 6892-2023一般工業(yè)用鋁及鋁合金擠壓型材
- 冷庫安全管理制度
- 2023同等學(xué)力申碩統(tǒng)考英語考試真題
- 家具安裝工培訓(xùn)教案優(yōu)質(zhì)資料
- 在雙減政策下小學(xué)音樂社團活動有效開展及策略 論文
- envi二次開發(fā)素材包-idl培訓(xùn)
評論
0/150
提交評論