海思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


相关文章
|
7月前
|
分布式数据库 芯片
Mstar9632 制作量产emmc母片
Mstar9632 制作量产emmc母片
187 0
Mstar9632 制作量产emmc母片
|
7月前
|
人工智能
极智AI | 全志XR806 OpenHarmony鸿蒙系统固件烧录
大家好,我是极智视界,本教程详细记录了全志 XR806 OpenHarmony 鸿蒙系统固件烧录的方法。
94 0
|
传感器 Linux 芯片
那些只有芯片原厂才能做的驱动开发工作
那些只有芯片原厂才能做的驱动开发工作
|
安全 数据可视化 物联网
米尔电子新出的这款车规级芯片的T507开发板老牛逼了! 安排!
米尔电子新出的这款车规级芯片的T507开发板老牛逼了! 安排!
231 0
|
监控 物联网 开发者
华为LiteOS智慧路灯项目案例学习笔记(一)
华为LiteOS智慧路灯项目案例学习笔记(一)
239 0
|
Ubuntu Linux
嵌入式Linux开发: 龙芯2K1000使用EJTAG烧写POPM
嵌入式Linux开发: 龙芯2K1000使用EJTAG烧写POPM
618 0
嵌入式Linux开发: 龙芯2K1000使用EJTAG烧写POPM
|
异构计算
FPGA新起点V1开发板(二)——Quartus II软件的安装和USB-BLaster驱动安装
FPGA新起点V1开发板(二)——Quartus II软件的安装和USB-BLaster驱动安装
313 0
FPGA新起点V1开发板(二)——Quartus II软件的安装和USB-BLaster驱动安装
|
存储 安全 开发工具
ZYNQ裸板:程序固化篇
一般的调试中我们都是通过 JTAG 接口将 FPGA 配置文件和应用程序下载到 ZYNQ 器件中。同样的,我们也可以将尝试把程序存储在非易失性存储器中,在上电或者复位时让程序自动运行,这个过程需要启动引导程序( Boot Loader) 的参与
433 0
ZYNQ裸板:程序固化篇
向龙芯2K1000板子上烧写中标麒麟系统
向龙芯2K1000板子上烧写中标麒麟系统
304 0
|
存储 缓存 异构计算
ZYNQ裸板:BRAM篇
在 ZYNQ SOC 开发过程中, PL 和 PS 之间经常需要做数据交互。对于传输速度要求较高、数据量大、地址连续的场合,可以通过 AXI DMA 来完成。而对于数据量较少、地址不连续、长度不规则的情况,此时 AXIDMA 便不再适用了。针对这种情况,可以通过 BRAM 来进行数据的交互。
910 0