海思3559平台搭建:简单烧写说明

简介: 在板子上存在uboot的前提下进行如下操作,如果板子上从未烧写过uboot,就需要使用 HiTool 工具进行烧写。HiTool 工具位置放在 Hi3559A***/01.software/pc/HiTool,使用说明请参见该目录下的《HiBurn工具使用指南》

前言

 在板子上存在uboot的前提下进行如下操作,如果板子上从未烧写过uboot,就需要使用 HiTool 工具进行烧写。HiTool 工具位置放在 Hi3559A***/01.software/pc/HiTool,使用说明请参见该目录下的《HiBurn工具使用指南》

 注意:单 Linux 方案要烧写 image_glibc_multi-core_arm64 目录中的镜像文件!获取方式为:进入到hi3995_tools/Hi3559AV100_SDK_V2.0.3.1/osdrv目录下

 source /etc/profile

 make BOOT_MEDIA=spi AMP_TYPE=linux all

1. 配置tftp服务,防火墙务必关闭

2. 参数配置

setenv ipaddr 192.168.119.200
setenv ethaddr 00:10:ab:20:81:70
setenv netmask 255.255.255.0
setenv gatewayip 192.168.119.1
setenv serverip 192.168.119.100
ping 192.168.119.100

 确保网络畅通。

 以上为举例,IP 以实际为准。

3. 烧写 multi-core 版本映像文件到 SPI NAND

 注意:单 Linux 方案要烧写 image_glibc_multi-core_arm64 目录中的镜像文件!

3.1. 地址空间说明

9e7167ca9a0949dea0c67fe8d4c9b0e7.png

 以下操作基于图示的地址空间分配,也可以根据实际情况进行调整。

3.2. 拨码选择主 CPU

 通过拨码开关 SW1.4 设置选择主 CPU:

 0:从 A53MP Core0 启动;

 1:从 A53UP 启动。

3.3. 烧写 u-boot

mw.b 0x44000000 0xff 0x100000
tftp 0x44000000 u-boot-hi3559av100.bin
nand erase 0x0 0x100000
nand write 0x44000000 0x0 0x100000

3.4. 烧写内核

mw.b 0x44000000 0xff 0x900000
tftp 0x44000000 uImage_hi3559av100_multi-core
nand erase 0x100000 0x900000
nand write 0x44000000 0x100000 0x900000

3.5. 烧写文件系统

mw.b 0x44000000 0xff 0x1000000
tftp 0x44000000 rootfs_hi3559av100_2k_4bit.yaffs2
nand erase 0xA00000 0x1000000
nand write.yaffs 0x44000000 0xA00000 0xb934c0  (0xb934c0 为 rootfs 文件实际大小)

 实际文件大小参考tftp传过去后的大小显示

Using gmac0 device
TFTp from server 192.168.119.100; our ip address is Filename 'rootfs hi3559av100 2k 4bit.yaffs2'. Load address: 0x44000000
Loading:  ############# ####### 
########
###########################################
*###########################*##############
9.5 MiB/s
done
Bytes transferred = 12137664(b934c0 hex)  Hx--1024

3.6. 设置启动参数

 参数说明:

 bootargs:

 • mem=xxxM 分配给Linux操作系统的内存大小;

 • root=/dev/xxx 指定根文件系统所在的设备号、分区号;

 • rootfstype=xxx 指定根文件系统类型;

 • rw 声明启动权限,即以读写方式启动;

 • rootwait 指等待设备/dev/mmcblk0p1设备就绪后才尝试挂载rootfs,仅emmc需要该参数;

 • mtdparts/blkdevparts 根据flash/emmc总容量划定各分区大小;

setenv bootargs 'mem=512M console=ttyAMA0,115200 root=/dev/mtdblock2 rw rootfstype=yaffs2 mtdparts=hinand:1M(boot),9M(kernel),16M(rootfs)'
setenv bootcmd 'nand read 0x44000000 0x100000 0x900000;bootm 0x44000000'
saveenv

4. 重启系统

reset


相关文章
|
存储 缓存 物联网
uboot 启动流程详细分析参考
uboot 启动流程详细分析参考
2569 1
|
编解码 Linux C语言
探索C++与Live555实现RTSP服务器的艺术(一)
探索C++与Live555实现RTSP服务器的艺术
1814 1
|
数据安全/隐私保护 块存储
|
Ubuntu 安全 网络协议
|
Ubuntu Linux Docker
弃用Docker Desktop:在WSL2中玩转Docker之Docker Engine 部署与WSL入门
弃用Docker Desktop:在WSL2中玩转Docker之Docker Engine 部署与WSL入门
27471 4
|
中间件 Linux 开发工具
海思3559U-Boot移植(一):一路next的默认模式
Hi3559AV100 单板的 Bootloader 采用 U-boot。当选用的外围芯片的型号与单板上外围芯片的型号不同时,需要修改 U-boot 配置文件,主要包括存储器配置、 管脚复用。sdk包里有uboot的源码,可以进行修改后编译
1444 0
海思3559U-Boot移植(一):一路next的默认模式
|
Ubuntu 关系型数据库 MySQL
expect自动交互脚本:简化你的自动化任务
`expect` 是Linux自动化神器,用于模拟键盘输入与交互式应用自动交互,常用于自动登录服务器、执行命令。安装 `expect`(CentOS: `yum -y install tcl expect`, Ubuntu: `apt-get -y install expect`) 后,编写脚本如SSH登录示例,自动发送密码和命令。通过结合shell命令,`expect` 可实现复杂任务,如获取IP、登录MySQL。支持多服务器管理,根据用户输入选择登录。学习 `expect` 提升自动化效率!
1389 0
|
消息中间件 监控 安全
探究如何在Linux系统中修改进程资源限制:四种方法调整进程限制,让你的系统高效运行(包含应用层getrlimit和setrlimit API)
探究如何在Linux系统中修改进程资源限制:四种方法调整进程限制,让你的系统高效运行(包含应用层getrlimit和setrlimit API)
3197 0
|
传感器 编解码 缓存
海思3559 sample解析:venc
海思3559 sample解析:venc
2100 0
海思3559 sample解析:venc
|
存储 固态存储 Linux
E2000从eMMC或SD启动U-boot和系统
E2000从eMMC或SD启动U-boot和系统
2586 0
E2000从eMMC或SD启动U-boot和系统