立即注册
查看: 1907|回复: 2

[海思技术资料] 海思Hi3516CV300/Hi3516EV100 Mini-U-boot优化指南

已绑定手机
发表于 2020-8-18 16:28:53 | 显示全部楼层 |阅读模式 来自 广东省深圳市
系统启动时间直接影响用户体验和电池备份时间。 因此,缩短系统启动时间是关键技术点。

海思hi3516CV300SDK为快速启动提供了一个整体解决方案。 以下部分将指定快速引导优化解决方案,以帮助客户减少开发时间和增强TH产品竞争力。 随着每个产品的规格不同,启动过程也相应地发生变化,启动时间也不同。 因此,本文描述的快速启动解决方案 文件仅供参考。 您需要根据产品特性选择解决方案。

U-boot优化指南/概述
U-boot引导启动时间受U引导图像大小、驱动程序初始化时间、加载图像大小和图像加载速率等因素的影响。 未优化U-boot的启动时间为大约260毫秒。 基于前面的因素,对FASTBOOT版本的mini-U-boot进行了优化,以控制其启动时间在50ms左右。

使用OOT启动解决方案。 当需要升级或命令行操作时,可以使用密钥或其他触发机制从mini-U-boot跳转到正常的U-boot。迷你U-boot提供的功能也可以通过使用命令行的正常U-boot来实现。
正常U-boot的源代码包存储在osdrv/opensource/Uboot/uboot-2010.06.tgz中。 fastboot U-boot的源代码包有很大的不同,存储在mpp/sample/quickstart/u中。

启动过程的迷你-U-启动
apps_startup()了mini-U-boot的APP条目,在u-boot-2010.06/arch/arm/lib/app.c中实现。 您可以在此函数中添加自定义程序。 在发布版本中,此函数c 获得与参数加载和正常U引导启动相关的代码,华为 LiteOS

迷你-U-boot启动过程

迷你-U-boot启动过程

 迷你-U-boot启动过程

在U-boot环境变量分区中,mini-U-boot的启动不依赖于bootcmd和bootargs。 读取图像的代码的调用过程和每个ima的内存地址 通用电气存储在app.c中。

apps_startup在迷你-U-引导
跳转进入正常的U-boot
录入功能uboot_startup(UBOOT2_BIN_LOCATION,UBOOT_START_ADDR)。
如果您在板启动时按下升级按钮,系统将进入正常的U引导。
UBOOT_BIN_LOCATION指示U引导图像在闪存中的位置。 对于SPI NAND闪存,默认值为0x00100000,对于SPI NOR闪存,默认值为0x00020000。
UBOOT_START_ADDR指示U-boot输入地址,默认为0x88500000

跳转入口华为 LiteOS
录入功能liteos_startup(LITEOS_BIN_LOCATION,LITEOS_16CV300_START)。
LITEOS_BIN_LOCATION指示华为 LiteOS图像在闪存中的位置。 默认值为0x00100000。
LITEOS_16CV300_START指示LiteOS 华为入口地址。 典型值为0x80100000。
使用gzip压缩的华为 LiteOS图像用于加速启动。

对满足快速启动要求的正常U启动的修改
正常的U-boot也修改如下,方便调试和fastboot:
支持ugzip命令来解压gzip图像。
命令格式为ugzip<src><dst>。 src表示待解压缩数据的内存地址,dst表示解压后数据的内存地址。


文件下载, 请回复
游客,如果您要查看本帖隐藏内容请回复



已绑定手机
发表于 2020-8-22 17:12:39 | 显示全部楼层 来自 宁夏银川市
谢谢一牛网!!
已绑定手机
发表于 2022-3-3 13:51:47 | 显示全部楼层 来自 上海市
请问有miniboot相关资料么?  read param这部分有用么?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表