HI3536调试记录
硬件:
HI3536V100
4片H5TQ4G63CFR
SPI nor FLASH :MX25L25635FMI-10G_16P
(选择3 Byte mode(default))
.\265编解码\Hi3536 V100R001C02SPC030\01.software\board\document_cn
目录下文件:Hi3536 SDK 安装以及升级使用说明.txt
烧写Uclibc映像文件到SPI Flash。(以32M SPI Flash为例)
1)地址空间说明(其中,m表示master arm;s表示slave arm)
| 1M | 4M | 6M | 1M | 4M | 6M |
|---------------|---------------|---------------|---------------|---------------|---------------|
| boot(m) | kernel(m) | rootfs(m) | boot(s) | kernel(s) | rootfs(s) |
以下的操作均基于图示的地址空间分配,您也可以根据实际情况进行调整。
2)烧写主u-boot
mw.b 0x42000000 0xff 0x100000
tftp 0x42000000 master/image_uclibc/u-boot-hi3536.bin
sf probe 0
sf erase 0x0 0x100000
sf write 0x42000000 0x0 0x100000
reset
3)烧写主内核
mw.b 0x42000000 0xff 0x400000
tftp 0x42000000 master/image_uclibc/uImage_hi3536
sf probe 0
sf erase 0x100000 0x400000
sf write 0x42000000 0x100000 0x400000
4)烧写主文件系统
mw.b 0x42000000 0xff 0x600000
tftp 0x42000000 master/image_uclibc/rootfs_hi3536_64k.jffs2
sf probe 0
sf erase 0x500000 0x600000
sf write 0x42000000 0x500000 0x600000
5)烧写从u-boot
mw.b 0x42000000 0xff 0x100000
tftp 0x42000000 slave/image_uclibc/u-boot-hi3536.bin
sf probe 0
sf erase 0xb00000 0x100000
sf write 0x42000000 0xb00000 0x100000
6)烧写从内核
mw.b 0x42000000 0xff 0x400000
tftp 0x42000000 slave/image_uclibc/uImage_hi3536
sf probe 0
sf erase 0xc00000 0x400000
sf write 0x42000000 0xc00000 0x400000
7)烧写从文件系统
mw.b 0x42000000 0xff 0x600000
tftp 0x42000000 slave/image_uclibc/rootfs-SLV_FULL_REL.cramfs.initrd.img
sf probe 0
sf erase 0x1000000 0x600000
sf write 0x42000000 0x1000000 0x600000
8)设置启动参数
setenv bootargs 'mem=128M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),4M(kernel),6M(rootfs)'
setenv bootcmd 'sf probe 0;sf read 0x42000000 0x100000 0x400000;bootm 0x42000000'
setenv slave_autostart 1
setenv slave_bootcmd 'sf probe 0;sf read 0x81000000 0xb00000 0x80000;sf read 0x82000000 0xc00000 0x400000;sf read 0x83000000 0x1000000 0x600000;bootm 0x81000000 0x82000000 0x83000000'
setenv slave_bootargs 'mem=96M console=ttyAMA0,115200'
sa
使用Hitool工具烧写,则不需要使用指令烧写
烧写内核文件后
连接终端
查看env(环境变量):printenv
设置env变量中的启动参数
setenv bootargs 'mem=128M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),4M(kernel),6M(rootfs)'
setenv bootcmd 'sf probe 0;sf read 0x42000000 0x100000 0x400000;bootm 0x42000000'
setenv slave_autostart 1
setenv slave_bootcmd 'sf probe 0;sf read 0x81000000 0xb00000 0x80000;sf read 0x82000000 0xc00000 0x400000;sf read 0x83000000 0x1000000 0x600000;bootm 0x81000000 0x82000000 0x83000000'
setenv slave_bootargs 'mem=96M console=ttyAMA0,115200'
sa