u boot下自动升级使用手册移植说明_第1页
u boot下自动升级使用手册移植说明_第2页
u boot下自动升级使用手册移植说明_第3页
u boot下自动升级使用手册移植说明_第4页
u boot下自动升级使用手册移植说明_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任何明示或默示的或保证。 市龙岗区坂田电气生产 ubootUSBSD卡升级的使用和移植,主要包括升级包的制作、USB下自动升级、USB下手动升级、SD卡自动升级、SD卡手动升级以及相关的-包含Hi3518A--------

添加Hi3531AU-boot下系统升级使用说 U-boot下系统升级移植说 U-boot含有有效升级包则直接使用SD卡中的升级包升级系统,不再扫描U盘中的内容。修改配置文件,开启升级开关 lude/configs/hi3518ev200.h【hi3518ev200】lude/configs/hi3518ev201.h【hi3518ev201】lude/configs/hi3516cv200.h【hi3516cv200】lude/configs/hi3520d.h lude/configs/godcare.h lude/configs/godarm.h lude/configs/go lude/configs/hi3535.h lude/configs/hi3516a.h lude/configs/hi3516a lude/configs/hi3536.h和lude/configs/hi3536 lude/configs/ / lude/configs/hi3519.h和lude/configs/hi3519 步骤2.制作系统升级包uImage把升级包放在U盘中,U盘进行升级操作即可,这里不再举例。*sdcard/usbstoragesystem /*#defineCONFIG_AUTO_UPDATE 1*/#ifdefCONFIG_AUTO_UPDATE#define #define makeARCHarmCROSS_COMPILEarm-hisiv300-linux-hi3516a_configmakeARCHarmCROSS_COMPILEarm-hisiv300-linux--j./mkboot.shreg_info.binu-boot-3516a-mkboot.shreginfo.bin/Hi3516ASDKV/package/osdrv/tools/pc/uboottools/中,关于uboot编译的信息,请查看《Hi3516A/Hi3516DU-boot移植应用开发指南》。ubootu-boot-3516a-update.binU-1.Ubootmkimage-Aarm-Tfirmware-Cnone-nhiboot-du-boot-hi3516a.binu-u-boot-hi3516a.binhi3516au-boot镜像,可以是不具备升级功能的u-boot也可以是支持自动升级的u-boot。2.Kernelkernel3.Rootfsmkimage-Aarm-Tfilesystem-Cnone-nhirootfs-drootfs_256k.jffs2体方法请参考《设备驱动操作指南.doc》附录。readingu- readingu- flash flash readingkernelreadingkernelflasherase...flashreadingrootfsreadingrootfsflasherase...flashErasingSPIflash,offset0x00080000size256KWritingtoSPIflash,offset0x00080000size256KSDUSD卡中不含有升级包或者升级包无效时,系统将自动扫描U盘中的升级包进行系统升级。U-boot以下移植修改均在文件./product/hiupdate/autoupdate.c/*possiblenamesoffilesonthemedium.*/#defineAU_FIRMWARE"u-boot"#defineAU_KERNEL"kernel"#defineAU_ROOTFS"rootfs"#defineAU_APP"app"/*pointerstofilenames*/char*aufile[AU_MAXFILES]{/*indexofeachfileinthefollowingarrays*/#defineIDX_FIRMWARE #define #define #define /*max.numberoffileswhichcouldinterestus*/#defineAU_MAXFILES 添加该文件在Flash上的位有两种方法可以指定升级时各镜像存放在Flash上的位置:在代码中指定和在环境变量1./*layoutoftheFLASH.ST startaddress,ND endaddress.*/#defineAU_FL_FIRMWARE_ST #defineAU_FL_FIRMWARE_ND #defineAU_FL_KERNEL_ST #defineAU_FL_KERNEL_ND #defineAU_FL_ROOTFS_ST #define #define 0x…//Flash#define 0x……//Flash/*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)-AU_FL_ROOTFS_ST,(AU_FL_APP_ND+1)-/*arrayofflashareasstartandendaddresses*/structflash_layoutaufl_layout[AU_MAXFILES] { AU_FL_FIRMWARE_ND,{ { 2.doautoupdatevoid)*GetimagelayoutfromIfthestartaddress werenotdefinedinenvironmentusethedefaultget_update_env("firmware_st","firmware_nd");get_update_env("kernel_st","kernel_nd");get_update_env("rootfs_st","rootfs_nd");get_update_env("app_st","app_nd");当前环境变量中设置有”appst”和”appnd”时升级位置将按照环境变量中设置的位置升级系统,否则按照中代码的设置值升级。aucheckheadervalid(intidxlongnbytes)/*checkthetype-coulddothis giganticif()*/if((idx IDX_FIRMWARE)&&(hdr->ih_type!IH_TYPE_FIRMWARE)){printf("Image%swrongtype\n",aufile[idx]);return-1;}if IDX_KERNEL)&&(hdr->ih_type!{printf("Image%swrongtype\n",aufile[idx]);return-1;}if IDX_ROOTFS)(hdr->ih_type!IH_TYPE_RAMDISK)&&(hdr->ih_type!IH_TYPE_FILESYSTEM)){printf("Image%swrongtype\n",aufile[idx]); return-}if IDX_APP)&&(hdr->ih_type!{printf("Image%swrongtype\n",aufile[idx]); return-}mkimage说明:APP升级镜像时用mkimage加入校验信息时建议采用’Tfilesystem’这个参下面以Hi3516A为例,完整移植自动升级功能到新平台,新平台可参考移FAT文件系统、MMC驱动、USBOHCI驱动移植后的操作请先保证在海思发布的U-boot版本下或者已完整移植好上述三部分驱动的U-boot版本。此三部分的具体移植详见《U-bootU盘SD卡自动升级功能设计说明》。*sdcard/usbstoragesystem #defineCONFIG_AUTO_UPDATE 此行则关闭系统自动升级功能*/#ifdef#define #define 111**#ifdef#define

#defineREG_BASE_MCI #defineCONFIG_HIMCI_V100#define#define #define* #define #define #define #define#define #definePERI_CRG49 (CRG_REG_BASE+0xC4)#defineSDIO0CLK_PCTRL (0x1<<4)#defineSDIO0_CLK_BIT_HIGH (1U<<3)#defineSDIO0_CLK_BIT_LOW (1U<<2)#define (0x1<<#defineSDIO_RESET (0x1<<0)#defineSYS_PERIPHCTRL4 #defineSDIO0_DET_MODE (0x1<<2)#defineREG_UPDATE_MCI_BASE #define staticvoid{unsignedintreg_value;unsignedintvalue; (0x1010000,REG_UPDATE_MCI_BASE+/*setdetectpolarity reg_value&~SDIO0_DET_MODE; /*setclkpolarity,mmcclk*/ reg_value&~(SDIO0CLK_PCTRL);reg_value&~(SDIO0_CLK_BIT_HIGH);reg_value&~(SDIO0_CLK_BIT_LOW);reg_value|SDIO0_CKEN; }staticvoid{unsignedint reg_value|SDIO_RESET; }staticvoid{unsignedint reg_value&~(SDIO_RESET); (reg_value,PERI_CRG49);}#ifdefCONFIG_HIMCI_HI3518 lude"himciv100_3518.c"#ifdefCONFIG_HIMCI_HI3516a lude"himciv100_3516a.c"#defineHIUSB_OHCI_BASE #defineHIUSB_OHCI_DEV_NAME #define (CRG_REG_BASE+#define (1<<#define (1<<#define (1<<#define (1<<#define (1<<#define (1<<#define (1<<#defineUSB_AHB_SRST_REQ (1<<0)#definePERI_USB #define (1<<#define (1<<#define (1<<#define staticvoid{int/*enableclocktoEHCIblockandHSPHYPLL*/ reg|reg&~(USB_CTRL_UTMI1_REG);reg&~(USB_CTRL_UTMI0_REG);reg&~(USB_CTRL_HUB_REG);reg&~(USBPHY_PORT1_TREQ);reg&~(USBPHY_PORT0_TREQ);reg®&~(USB_AHB_SRST_REQ); (reg,PERI_CRG46);/*openphyclk (0xc06,MISC_USB);udelay(10);wri MISC_USB);udelay(100);/*enablephy reg&~(WORDINTERFACE);/*disableehciburst16mode*/reg&~(SS_BURST16_EN);reg|USBOVR_P_CTRL; (reg,PERI_USB);}staticvoid{int/*DisableEHCIIftheHSPHYisunuseddisableittoo.*/ reg®|(USB_CTRL_UTMI1_REG);reg|(USB_CTRL_UTMI0_REG);reg|(USB_CTRL_HUB_REG);reg|(USBPHY_PORT1_TREQ);reg|(USBPHY_PORT0_TREQ);reg|(USBPHY_REQ);reg|(USB_AHB_SRST_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论