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

Posted Hero_HL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了海思Hi3519AV100 emmc flash方式 linux系统移植 hitool工具烧写相关的知识,希望对你有一定的参考价值。

因为我这里的海思文档只有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

大功告成!!记录一帖~~

以上是关于海思Hi3519AV100 emmc flash方式 linux系统移植 hitool工具烧写的主要内容,如果未能解决你的问题,请参考以下文章

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

海思3519av100开发:海思sample代码测试之tde

海思3519av100开发:海思sample代码测试之tde

海思Hi3519AV100三路人脸抓拍识别摄像机模组防雷防静电推荐图

嵌入式开发之hi3519---spi nor flash启动

海思3519av100开发:linux环境搭建