整体结构如上图,通过网络进行烧写时,整体上是通过tftp服务进行数据传输。
服务器配置:
安装tftp服务,并将需要传输的文件存放在tftp root目录上。
Box环境配置,主要是网络环境(进入芯片的fastboot模式:开机时通过串口连接,并press-on: Ctrl+C):
建议Box上的网络配置数据通过盒子联网后由DHCP获取,并进行记录。
有些网络可能使用的是MAC与IP绑定机制,不能直接用户设置。可能设置后无法访问。
# Tftp server ip setenv serverip 1.2.3.4 # Set ic ip setenv ipaddr 4.3.2.100 # Set ic gateway ip setenv gatewayip 4.3.2.254 # Check network ping 1.2.3.4 # Save env to ic saveenv
利用Box上的内存作为数据交换的中间物进行数据传输。
具体操作:
#fastboot mode ############ Flash kernel #(0x1FFFFC0 + 0x5000*512) = 0x29fffc0 -> 0x3000000 mw.b 0x3000000 0x0 0x800000 tftp 0x3000000 kernel.img #mmc write 0 0x3000000 0x9600000 0x4000 # 150M -> 150*1024^2 / 512 = 0x4B000 mmc write 0 0x3000000 0x4B000 0x4000 ############ Flash system.ext4 # BSP size 257M = 0xFCE4000 #mw.b 0x3000000 0x0 0xFCE4000 # Other image size 0x18184a0c mw.b 0x3000000 0x0 0x18184A0C tftp 0x3000000 system.ext4 # system image size=0x7E720 * 512 # partition size = 500M = 0xFA000 * 512 bytes mmc write.ext4sp 0 0x3000000 0x69000 0xFA000
其中涉及到mmc,nand的使用。
通过hisi emmc xml配置生成的shell command的脚本见附件。
http://gist.github.com/qianjigui/7149897