海思Hi3519AV100 emmc flash方式 linux系统移植 hitool工具烧写

article/2025/9/29 11:06:41

因为我这里的海思文档只有SPI NOR Flash方式的详细烧写步骤,没有emmc方式的,本文提供一个自己成功的案例仅供参考和记录

1. 准备SDK、安装交叉编译工具、编译osdrv

1.1 解压SDK包

	将Hi3519AV100_SDK_Vx.x.x.x.tgz文件放入ubuntu系统下(window下解压会产生符号链接文件,导致文件夹体积过大)
tar -zxf Hi3519AV100_SDK_Vx.x.x.x.tgz

1.2 展开包内容

cd Hi3519AV100_SDK_Vx.x.x.x
./sdk.unpack(请用 root 或 sudo 权限执行)

1.3 安装arm交叉编译器编译osdrv

tar –xzf arm-himix200-linux.tgz
cd arm-himix200-linux
chmod +x arm-himix200-linux.install
./arm-himix200-linux.install

1.4 编译osdrv

先替换emmc的u-boot配置:
/osdrv/opensource/uboot/u-boot-2016.11/configs/hi3519av100_mmc_defconfig 替换上一级 .config文件后重新编译uboot

root@Ascend:~/hisi/Hi3519AV100_SDK_V2.0.1.0/osdrv/opensource/uboot/u-boot-2016.11# cp configs/hi3519av100_mmc_defconfig .config

cd ~/hisi/Hi3519AV100_SDK_V2.0.1.0/osdrv/
make OSDRV_CROSS=arm-himix200-linux CHIP=hi3519av100 BOOT_MEDIA=emmc all

参数含义:

  • OSDRV_CROSS:默认使用arm-himix200-linux编译器
  • CHIP:芯片类型默认为hi3519av100
  • BOOT_MEDIA默认为spi
    设置为nand时,使用Nand Flash;
    设为spi时,使用SPI Nor Flash或SPI Nand Flash;
    设置为emmc时使用EMMC

1.5 生成的文件目录:/root/hisi/Hi3519AV100_SDK_V2.0.1.0/osdrv/pub/smp_image_glibc/

在这里插入图片描述

我自己编译ok的文件及hitool配置:gitee链接

2.使用HiTool工具烧写

将ubuntu生成的osdrv文件目录拷到windows下(1.5步骤中的文件夹),注意用到的rootfs为ext4结尾的文件,长度要超过文件本身大小

配置如下
在这里插入图片描述

<?xml version="1.0" encoding="GB2312" ?>
<Partition_Info ProgrammerFile="">
<Part Sel="1" PartitionName="fastboot" FlashType="emmc" FileSystem="none" Start="0" Length="1M" SelectFile="D:\Linux\share\board\hi3519av100\emmc\u-boot-hi3519av100.bin"/>
<Part Sel="1" PartitionName="kernel" FlashType="emmc" FileSystem="none" Start="1M" Length="5M" SelectFile="D:\Linux\share\board\hi3519av100\emmc\uImage_hi3519av100_smp"/>
<Part Sel="1" PartitionName="rootfs" FlashType="emmc" FileSystem="ext3/4" Start="6M" Length="32M" SelectFile="D:\Linux\share\board\hi3519av100\emmc\rootfs_hi3519av100_32M.ext4"/>
</Partition_Info>

点击烧写,板子重新上电
在这里插入图片描述
耐心等了30分钟才烧好,中间出现了好几次错误,要耐心根据错误提示去找之前操作是否有问题

3.启动命令

3.1 使用串口工具连接重新上电,启动后迅速进入boot模式

在这里插入图片描述

3.2 设置启动命令

注意这里的boot kernel rootfs要根据烧写时设置的长度按照实际设置

setenv bootargs 'mem=1024M console=ttyAMA0,115200 root=/dev/mmcblk0p3 rw rootfstype=ext4 blkdevparts=mmcblk0:1M(boot),5M(kernel),7200M(rootfs),-(user)'
setenv bootcmd 'mmc read 0 0x22000000 800 2000; bootm 0x22000000'
saveenv

检查是否生效
在这里插入图片描述
没问题之后重启:reset
在这里插入图片描述
大功告成!!记录一帖~~


http://chatgpt.dhexx.cn/article/LvbtpA1X.shtml

相关文章

海思3559:MMZ内存、OS内存配置

前言 海思3559的DDR最大支持到8GB hi3559av100芯片的内存地址范围 (1)通过查阅数据手册可知《Hi3559AV100 专业型 Smart IP Camera SoC 用户指南》&#xff0c;芯片的内存地址范围是0x4000_0000-0x23FFF_FFFF&#xff0c;最大能支持8G内存&#xff1b;   (2)海思芯片把内存分…

劲爆!java架构师百度网盘

第一份资料:Kafka实战笔记 Kafka入门为什么选择KafkaKarka的安装、管理和配置Kafka的集群第一个Kafka程序afka的生产者 Kafka的消费者深入理解Kafka可靠的数据传递

10本Java架构师必读书籍推荐

##### 1.《大型网站系统与Java中间件开发实践》 本书围绕大型网站和支撑大型网站架构的 Java 中间件的实践展开介绍。从分布式系统的知识切入&#xff0c;让读者对分布式系统有基本的了解&#xff1b;然后介绍大型网站随着数据量、访问量增长而发生的架构变迁&#xff1b;接着…

Java架构师需要哪些知识?

如何才能达到Java架构师技术要求标准&#xff1f;Java架构师需要熟练掌握复杂的数据结构和算法、熟练使用linux操作系统&#xff0c;Linux线上排除故障、熟悉tcp协议、系统集群、[负载均衡]、反向代理、动静分离&#xff0c;网站静态化、数据库设计能力、队列中间件等知识。 一…

JAVA架构师之路十六:设计模式之责任链模式

JAVA架构师之路十五&#xff1a;设计模式之策略模式 责任链模式 1. 责任链模式2. 登陆案例 3. 登陆案例优化 人生的游戏不在于拿了一副好牌&#xff0c;而在于怎样去打好坏牌&#xff0c;世上没有常胜将军&#xff0c;勇于超越自我者才能得到最后的奖杯。 1. 责任链模式 定义…

BAT面试高级进阶,Java架构师之路

说明 Java生鲜电商平台中由于采用了微服务架构进行业务的处理&#xff0c;买家&#xff0c;卖家&#xff0c;配送&#xff0c;销售&#xff0c;供应商等进行服务化&#xff0c;但是不可避免存在分布式事务的问题。 业界有很多的解决方案&#xff0c;对此我相信大家都百度一下…

JAVA架构师之路-视频学习

https://pan.baidu.com/s/1GK-HNdG_HsNTb_QQ6_L3Tg 目录&#xff1a; 第一套 JAVA高级架构师之旅 第2套 Java互联网架构师netty、mina、nio 第三套 阿里开源Dubbo 【第四套】互联网综合实战项目介绍 【第五套】高性能缓存Memcached服务深度原理及实战视频课程 【第六套】高级J…

JAVA架构师之路十五:设计模式之策略模式

JAVA架构师之路十四&#xff1a;设计模式之模板模式 策略模式 1. 策略模式2. 优惠券案例3. 支付案例 人生的游戏不在于拿了一副好牌&#xff0c;而在于怎样去打好坏牌&#xff0c;世上没有常胜将军&#xff0c;勇于超越自我者才能得到最后的奖杯。 1. 策略模式 定义 策略模式…

走向Java架构师之路:成为架构师要掌握的8大能力

架构师是什么?是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。 如何才能达到Java架构师技术要求标准?Java架构师需要熟练…

JAVA架构师之路十一:设计模式之适配器模式

JAVA架构师之路十&#xff1a;设计模式之组合模式 适配器模式 1. 适配器模式2. 类适配器写法3. 对象适配器写法4. 接口适配器写法 钟表&#xff0c;可以回到起点&#xff0c;但已不是昨天。 生活中处处可见适配现象&#xff1a;手机充电器的充电头&#xff0c;电脑电源适配器&…

Java架构师:概述

一、Java架构师核心技术栈 二、架构师需要具备的其他能力 三、技术选型 四、早期传统JavaWeb开发模式 五、前后端分离开发模式 六、Maven聚合项目 七、数据库设计工具PDMan 八、数据库外键弊端【移除物理外键&#xff0c;而非逻辑外键】 数据库表与表之间字段间不要有物理外键…

Java架构师之路:微服务架构图解和详情

微服务框架搭建&#xff1a; 总体规划框架名称当前技术选型方案微服务框架搭建 开发框架 单体服务SpringBoot 分布式框架SpringCloud 最新框架SpringCloudAlibaba 服务配置中心 服务消息总线 阿里巴巴Nacos、 ConfigBusRabbitMQ配合使用、 携程apolo 服务网关 Spr…

java架构师进阶之路

要想进阶为架构师&#xff0c;不仅要有知识广度&#xff0c;还要有深度。 最近把今天收集的java学习资料整理了下&#xff0c;里面包含了计算机基础、算法和数据结构、常用工具、java核心知识、性能优化、基础框架、数据库、消息队列、缓存中间件、搜索引擎、大数据、RPC、网关…

通往Java架构师之路

Java架构师&#xff0c;应该算是一些Java程序员们的一个职业目标了吧,很多码农码了五六年的代码也没能成为架构师。那成为Java架构师要掌握哪些技术呢&#xff0c;总体来说呢&#xff0c;有两方面&#xff0c;一个是基础技术&#xff0c;另一个就是组织能力和提出解决方案能力。…

如何成为Java架构师?学习路线是怎样的?大佬总结成长之路跟着往上走,建议你提早开始准备!

导读 好程序员告诉你Java架构师学习路线&#xff0c;从初级Java工程师成长为Java架构师&#xff0c;你需要走很长的路&#xff0c;很多有计划的人在学习之初就在做准备。你知道Java架构师学习路线该怎么走吗?成为一个优秀的Java架构师究竟需要学什么?接下来就跟小编一起揭晓…

从三方面分析,Java程序员如何晋升为高薪Java架构师?

对于工作多年的程序员而言,日后的职业发展无非是继续专精技术、转型管理和晋升架构师三种选择。下面,我从架构师在一家公司有多重要、优秀架构师需要具备怎样的素质以及架构师的发展现状三个方面来分析,Java程序员如何才能晋升为优秀的高薪Java架构师? 希望通过本文我的分…

getByte()用法小结

在Java中&#xff0c;String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组。这个表示在不同情况下&#xff0c;返回的东西不一样&#xff01; String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示&#xff0c;如&a…

java中String的getByte()方法

Java getBytes() 方法 Java String类 getBytes() 方法有两种形式&#xff1a; getBytes(String charsetName): 使用指定的字符集将字符串编码为 byte 序列&#xff0c;并将结果存储到一个新的 byte 数组中。getBytes(): 使用平台的默认字符集将字符串编码为 byte 序列&#…

JAVA中的getBytes方法

在Java中&#xff0c;String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组。这个表示在不同情况下&#xff0c;返回的东西不一样&#xff01; String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示&#xff0c;如&a…

JAVA中的getBytes()方法

在Java中&#xff0c;String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组。这个表示在不同情况下&#xff0c;返回的东西不一样&#xff01; String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示&#xff0c;如&a…