




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
客户服务电话 客户服务传真 客户服务邮箱 U-bootSD卡U盘自动升级功能的需求、应用场景分析及其升级原理U-bootSD卡U盘升级功能的设计思路和实现细节,为后续工作------目 FAT文件系统支 MMC驱动移 使能USB 手动升级验证移植的USBOHCI驱 AutoUpdate详细设 图1-1U-boot下SD卡/U盘升级简要流程 图3-1函数运行过程
12.SDU3.4.1-1当同时插入SD卡和U盘时,若SD卡中没有有效升级包,则系统自动转入U盘升级,若SD卡中含有有效升级包直接使用SD卡中的升级包升级系统,不再扫描U盘中的内容。具体实现见内部函数实现”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代码为例,说明各部分的相关作用*sdcard/usbstoragesystem #define1#ifdef#define1#define // #define1#define1**#ifdefCONFIG_AUTO_SD_UPDATE //SD卡驱动编译开关,受总开关#define#defineREG_BASE_MCI #defineCONFIG_HIMCI_V100#define#define #define**11112SDUSBOHCI支持SD卡升级或者U盘升级#define #define Hi3536代码为例,SDHi3516A代码为例,说明升级模块中各个子模Hi3536或Hi3516A的相关代码改为相应平台的代 【编译开关 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文件系统支持”和“2.2.2MMCU-boot支mmcinfommcSD卡的相关命令。同理完成“2.2.1FAT文件系统支持”和“2.2.3USBOHCIUUSBOHCI驱动是的升级包到内存,烧写到Flash上的相应的位置即可。SD卡自动升级使用手册和移植说明.docfatloadmmc00x82000000kernelkernel0x82000000sfprobe0;sferase100000400000;sfwrite0x82000000100000400000;将内核烧写到SPI【烧写位置可以自行决定】或者直接bootm0x82000000启动新内核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;将内核烧写到SPI(烧写位置可以自行决定)或者直接bootm0x42000000启动新内核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详细设计。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到内存上。步骤2.从内存写到SPIflash上。每个升级所用的镜像的开头几个字节,都必须包含如下信息:(包括魔术字、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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店服务质量提升
- 用友管理信息化课堂薪资管理
- 2025年吉林长春市普通高中高三五月月考历史试题试卷含解析
- 上海市闵行区2025年第二学期初三英语试题期末教学质量(一模)监测卷含答案
- 河南省安阳市安阳县一中2025年高三3月联考英语试题含解析
- 广州涉外经济职业技术学院《艺术实践(3)》2023-2024学年第二学期期末试卷
- 泉州纺织服装职业学院《园艺学通论》2023-2024学年第二学期期末试卷
- 清远市2025届四下数学期末教学质量检测试题含解析
- 最有潜力的行业
- 毕节幼儿师范高等专科学校《国学经典选讲》2023-2024学年第二学期期末试卷
- 3D打印技术在航空航天领域的应用
- 【行政管理社会调查计划+调查记录表+调查报告5600字】
- 心肺复苏+AED操作考核评分表
- 油漆工施工安全技术详细措施培训
- 我的家乡东营广饶旅游宣传介绍
- 英语48个国际音标课件(单词带声、附有声国际音标图)
- 电商运营总监工作的岗位职责与电商运营经理岗位的具体职责
- 国家开放大学国开电大《电商数据分析》终考考核
- 第十五章药物制剂的设计
- 教科版科学四年级下册第二单元《电路》单元作业设计
- 中医治疗“粉刺”医案16例
评论
0/150
提交评论