欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

hisi3520dv400镜像烧录方法(hitool)或/tftp

发布时间:2023/12/10 编程问答 55 豆豆
生活随笔 收集整理的这篇文章主要介绍了 hisi3520dv400镜像烧录方法(hitool)或/tftp 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

我的板卡,是按hisi的推荐,设计的启动方式,接的是spi接口的norflash,作为启动介质,nand作为存储文件的硬盘。

方法一:HiTool.exe工具烧录

1、hisi的hisitool工具里,有HiTool.exe,板卡第一次烧录镜像,需要用hisi的工具才能烧录

打开HiTool.exe,选择hisi3520dv400,然后,选如下第二步的burn,如下可以串口烧录,也可以网口烧录,
第一次烧录时,只能选串口烧录,烧录很慢,先只勾选uboot,按下面填好fastboot,kernel,fs,的地址,大小,点击烧录,重新断电上电,烧录成功。

烧录好后,设置uboot环境变量,ip,服务器ip等。

setenv baudrate 115200 setenv use_mdio 0 setenv ethaddr=d2:34:88:84:c2:b0 setenv bootfile "uImage" setenv bootdelay 3 setenv filesize CA0000 setenv fileaddr 82000000 setenv gatewayip 192.168.0.1 setenv netmask 255.255.255.0 setenv ipaddr 192.168.0.199 setenv serverip 192.168.0.7 setenv bootargs 'mem=128M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 rw mtdparts=hi_sfc:1M(boot),4M(kernel),24M(rootfs)' setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x400000;bootm 0x82000000' setenv stdin serial setenv stdout serial setenv stderr serial setenv verify n saveenv printenv reset

后面可以选串口和网口继续烧录kernel,fs,选网口比较快,设置填写hisi工具的服务器ip,填pc电脑ip,板端配置填板卡设置好的ip,物理地址不用可以。

在Windows,安装tftp32工具,将kernel,和fs放入到工具目录下,启动tftp工具,点击hisi工具烧录,,重新断电上电,一分钟可烧完。

烧录的过程中,要出现一连串的#,否则没有正常下载。

2、网络不行的话,选择串口也行,只是慢,十几分,选择串口的时候,我老是失败,后面一个一个烧,不是三个一起烧录,
注意报错原因,我有一次根文件系统一直失败,发现文件系统太大了,我设置的是24m大小,实际是200m,所以大小是根据自己的文件大小来设置的。

方法二:uboot下,tftp下载

注意:如果是emmc,就要用emmc命令,如果启动介质是nand,就要用nand命令,我是spi norflash,用spi命令,可以翻看我的其他文档
有介绍。

setenv baudrate 115200 setenv use_mdio 0 setenv ethaddr=d2:34:88:84:c2:b0 setenv bootfile "uImage" setenv bootdelay 3 setenv filesize CA0000 setenv fileaddr 82000000 setenv gatewayip 192.168.0.1 setenv netmask 255.255.255.0 setenv ipaddr 192.168.0.199 setenv serverip 192.168.0.7 setenv bootargs 'mem=128M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 rw mtdparts=hi_sfc:1M(boot),4M(kernel),24M(rootfs)' setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x400000;bootm 0x82000000' setenv stdin serial setenv stdout serial setenv stderr serial setenv verify n saveenv printenv reset

uboot要先设置好,设置好serverip,就是主机ip,在linux系统,搭建好tftp服务器,一定要能通确保,
以16M SPI Flash为例。
1)地址空间说明
| 1M | 4M | 11M |
|---------------|---------------|---------------|
| boot | kernel | rootfs |

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

2)烧写u-boot

sf probe 0 mw.b 82000000 ff 100000 tftp 82000000 u-boot-hi3520dv400.bin sf probe 0 sf erase 0 100000 sf write 82000000 0 100000 reset

3)烧写内核

mw.b 82000000 ff 400000 tftp 82000000 uImage_hi3520dv400 sf probe 0 sf erase 100000 400000 sf write 82000000 100000 400000

4)烧写文件系统

mw.b 82000000 ff 1800000 tftp 82000000 rootfs_hi3520.jffs2 sf probe 0 sf erase 500000 1800000 sf write 82000000 500000 1800000

也可以使用Windows下的tftp工具,如下图,下载一个工具,

将要下载的镜像,放入同一级目录,目录名称不能有中文最好,

打开工具,自动识别到当前目录和ip,没有就自己手动填对。

在uboot模式下,终端输入烧录命令,刚开始下载失败,tftp工具提示找不到文件,可能文件名有错,复制一样的文件名,不能有中文字符
后面多试几次,就成功了。

最后一定别忘了,重新写进去,否则启动不了,还不知道傻傻的,啥原因

后面调试代码,就可以通过nfs方式,挂载,调试代码了。

nfs挂载: setenv baudrate 115200 setenv use_mdio 0 setenv ethaddr=d2:34:88:84:c2:b0 setenv bootfile "uImage" setenv bootdelay 3 setenv filesize CA0000 setenv fileaddr 82000000 setenv gatewayip 192.168.0.1 setenv netmask 255.255.255.0 setenv ipaddr 192.168.0.99 setenv serverip 192.168.0.85 setenv bootargs 'mem=128M noinitrd init=/linuxrc console=ttyAMA0,115200 root=/dev/nfs rw nfsroot=192.168.0.85:/root/2109/decode/rootfs_hi3520,v3 ip=192.168.0.142:192.168.0.85:192.168.0.1:255.255.255.0::eth0:off' setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x400000;bootm 0x82000000' setenv stdin serial setenv stdout serial setenv stderr serial setenv verify n saveenv printenv reset

总结

以上是生活随笔为你收集整理的hisi3520dv400镜像烧录方法(hitool)或/tftp的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。