




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
客户服务电话 客户服务传真 客户服务邮箱 ubootUSBSD卡升级的使用和移植,主要包括升级包的制作、USB下自动升级、USB下手动升级、SD卡自动升级、SD卡手动升级以及相关的Hi3520D/Hi3515A/Hi3535/Hi3536/Hi3521A/Hi3520DV300平台仅支持U本文未做特殊说明,Hi3520DV300Hi3521A完全一致;Hi3518EV201、Hi3516CV200------Hi3518EV200、Hi3518EV201和Hi3516CV200目 图1-1U-boot升级流程
1U-bootU-bootSD卡/UU-boot1-1YYYYY当同时插入SD卡和U盘时,若SD卡中没有有效升级包择系统自动转入USD卡中含有有效升级包择直接使用SD卡中的升级包升级系统,不再扫描U盘中的内容。−−−−−−−include/configs/−include/configs/−include/configs/−include/configs/−include/configs/−include/configs/hi3516a.hinclude/configs−include/configs/hi3536.hinclude/configs−include/configs/ −include/configs/ 2.−U-boot−mkimageu-−−uImage−−mkimage把升级包放在U盘中,插入U盘进行升级操作即可,这里不再举例。*sdcard/usbstoragesystem /*#defineCONFIG_AUTO_UPDATE 1*/#ifdefCONFIG_AUTO_UPDATE#define #define makeARCH=armCROSS_COMPILE=arm-hisiv300-linux-hi3516a_configmakeARCH=armCROSS_COMPILE=arm-hisiv300-linux--j./mkboot.shreg_info.binu-boot-3516a-Hi3516A提供arm-hisiv300-linux-和arm-hisiv400-linux-两种交叉编译工具链,请根据具体情/Hi3516A_SDK_V/package/osdrv/tools/pc/uboot_tools/中,关于uboot编译的更多信息,请查看《Hi3516A/Hi3516DU-boot移植应用开发指南》。最后生成的uboot名u-boot-3516a-update.bin可以任取,此镜像是具备自动升级功能的U-1.Ubootmkimage-Aarm-Tfirmware-Cnone-nhiboot-du-boot-hi3516a.binu-u-boot-hi3516a.bin是指任意的可以直接烧写启动的hi3516au-boot镜像,可以是不具备升级功能的u-boot也可以是支持自动升级的u-boot。最后生成的u-boot升级包必须以u-boot2.Kernelkernel3.Rootfsmkimage-Aarm-Tfilesystem-Cnone-nhirootfs-drootfs_256k.jffs2最后生成的文件系统升级包必须以rootfs体方法请参考《外围设备驱动操作指南.doc》附录。 flash flash readingkernelreadingkernelflasherase...flashreadingrootfsreadingrootfsflasherase...flashErasingSPIflash,offset0x00080000size256K...doneWritingtoSPIflash,offset0x00080000size256K...doneSDUSD卡中不含有升级包或者升级包无效时,系统将自动扫描U盘中的升级包进行系统升级。以下增加的app文件升级只是一个举例说明,具体的地址设置和命名要根据自己使用的地址来设以下移植修改均在文件./product/hiupdate/auto_update.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 FlashFlash1./*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_KERNEL_ND,{ AU_FL_ROOTFS_ND, 2.do_auto_update(void)*GetimagelayoutfromIfthestartaddressandtheendwerenotdefinedinenvironmentusethedefaultget_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");当前环境变量中设置有”app_st”和”app_nd”时升级位置将按照环境变量中设置的位置升级系统,否则按照中代码的设置值升级。au_check_header_valid(intidx,longnbytes)/*checkthetype-coulddothisallinonegiganticif()if((idx==IDX_FIRMWARE)&&(hdr->ih_type!={printf("Image%swrongtype\n",aufile[idx]);return-1;}if((idx==IDX_KERNEL)&&(hdr->ih_type!={printf("Image%swrongtype\n",aufile[idx]);return-1;}if((idx==IDX_ROOTFS)(hdr->ih_type!=IH_TYPE_RAMDISK)&&(hdr->ih_type!=IH_TYPE_FILESYSTEM)){printf("Image%swrongtype\n",aufile[idx]);ausize[idx]=0;return-}if((idx==IDX_APP)&&(hdr->ih_type!={printf("Image%swrongtype\n",aufile[idx]);ausize[idx]=0;return-}mkimage说明:APP升级镜像时用mkimage加入校验信息时建议采用’-Tfilesystem’这个参增 入U-bootU-boot版本。此三部分的具体移植详见《U-bootU盘SD卡自动升级功能设计说明》。*sdcard/usbstoragesystem #defineCONFIG_AUTO_UPDATE 此行则关闭系统自动升级功能*/#ifdef#define #define 111**#ifdef#define #defineREG_BASE_MCI #defineCONFIG_HIMCI_V100#define#define #define***111#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;/*setdetectpolarityreg_value=himci_readl(SYS_PERIPHCTRL4);reg_value&=~SDIO0_DET_MODE;himci_writel(reg_value,SYS_PERIPHCTRL4);/*setclkpolarity,mmcclk*/reg_value=0;reg_value=himci_readl(PERI_CRG49);reg_value&=~(SDIO0CLK_PCTRL);reg_value&=~(SDIO0_CLK_BIT_HIGH);reg_value&=~(SDIO0_CLK_BIT_LOW);reg_value|=SDIO0_CKEN;himci_writel(reg_value,PERI_CRG49);}staticvoid{unsignedintreg_value=himci_readl(PERI_CRG49);reg_value|=SDIO_RESET;himci_writel(reg_value,PERI_CRG49);}staticvoid{unsignedintreg_value=himci_readl(PERI_CRG49);reg_value&=~(SDIO_RESET);himci_writel(reg_value,PERI_CRG49);}#ifdefCONFIG_HIMCI_HI3518#include"himciv100_3518.c"#ifdefCONFIG_HIMCI_HI3516a#include"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=readl(PERI_CRG46);reg|=reg&=~(USB_CTRL_UTMI1_REG);reg&=reg&=~(USB_CTRL_HUB_REG);reg&=~(USBPHY_PORT1_TREQ);reg&=reg&=reg&=~(USB_AHB_SRST_REQ);writel(reg,PERI_CRG46);/*openphyclk*/writel(0xc06,MISC_USB);udelay(10);writel(0xc26,MISC_USB);udelay(100);/*enablephyreg=readl(PERI_USB);reg&=~(WORDINTERFACE);/*disableehciburst16mode*/reg&=~(SS_BURST16_EN);reg|=USBOVR_P_CTRL;writel(reg,PERI_USB);}staticvoid{int/*DisableEHCIIftheHSPHYisunuseddisableittoo.*/reg=readl(PERI_CRG46);reg&=reg|=(USB_CTRL_UTMI1_REG);reg|=(USB_CTRL_UTMI0_REG);reg|=(USB_CTRL_HUB_REG);reg|=(USBPHY_PORT1_TREQ);reg|=(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 非课改地区专用2024-2025版高中政治第二单元周练过关五新人教版必修1
- 浙江国企招聘2025金华市数字红人文化传媒有限公司招聘2人笔试参考题库附带答案详解
- 五年级班级安全教育工作计划(3篇)
- 预算管理流程优化与成本控制策略
- 购物中心服务人员培训与素质提升方案
- 浙江2025年01月宁波市鄞州区供销合作社联合社2025年招考1名编外人员笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 石材采购协议合同范本
- 跨区域医疗人才培养与交流机制研究
- 财务管理能力提升的方法与实践分享
- 预算编制的动态调整与监控机制
- 次梁与主梁铰接计算程式
- 学前比较教育(学前教育专业)第3版全套教学课件
- 企业人力资源内部审核检查表
- 《素描》课件-第一章 素描入门
- GB/T 42828.1-2023盐碱地改良通用技术第1部分:铁尾砂改良
- 工资条(标准模版)
- 第四讲 搜索引擎检索
- 法语的发音规则及法语单词分类记忆
- 卫生和微生物基础知识培训-
- ICU轮转护士培训计划和手册
- GB/T 9787-1988热轧等边角钢尺寸、外形、重量及允许偏差
评论
0/150
提交评论