Linux 下烧录指南
一、烧录步骤
openwrt编译完成后的bin目录下可以找到编译好的固件,进入该目录,download.sh脚本可以用于固件烧录。
第一步,将开发板usb slave接到pc上
第二步,执行:./download.sh all
第三步,先给开发板断电,长按boot按键,然后给开发板上电,上电后2左右开始烧录,此时可以释放boot按键
第四步,烧录完成后,给开发板重新上电即可启动系统
二、download.sh命令说明
usage:
download.sh <mcu | uboot | kernel | rootfs | all | clean>
mcu: download mcu
uboot: download uboot stage1 and uboot stage2
kernel: download kernel dtb and its Image
rootfs: download rootfs
ota: download ota
data: download data
all: download all bin
clean: clean all flash
三、bootx命令格式
bootx[-m][-t][-b][-c][-d][-r][-D][-h][-H][-v][-V]
-m:通过指定芯片来确定.boot文件,从而进行下载等操作,该选项不跟-b选项同时使用
-b:指定外部的.boot文件
-c:选择-ccommandlist中的命令
-d:指定具体的串口设备名,如果未指定,bootx会自动扫描一个可用的串口
-r:用于指定与rom通信的波特率,如115200/57600等,若不指定,使用.boot文件中配置的波特率
-t:配置下载.boot文件时的传输方式,现在有三种选择s/u/su,不用-t选项时,默认使用串口下载
s:完全使用串口下载.boot文件
u:完全使用usbslave下载.boot文件,如果要使用该模式,使用前一定要加载pc/host端的usbslave的驱动才能正常使用
su:先用串口下一部分.boot文件,再用usbslave下剩余的.boot文件,这个模式下需要板子同时有串口设备和usb数据线连接。这个下载方式主要是针对板子上没有boot按键的,没有boot按键就无法默认从usbslave启动。如果要使用该模式,使用前一定要加载pc/host端的usbslave的驱动才能正常使用
-D:进入debug模式,用于处理在下载过程中遇到问题时,能过通过该模式完成下载失败的问题的定位。当前主要用于当传输模式为su时,如果下载失败,可通过配合该选项去获取调试信息
-h:显示帮助信息
-H:会显示更加详细的使用方法和使用例程
-v:显示bootx版本信息
-V:显示bootx的changelog
四、使用例程
下载命令:
- serialdown(需要传输模式-t为s)
下载download.bin到flash的0x0地址处
bootx -m leo -t s -c serialdown 0x0 download.bin
- usbslavedown(需要传输模式-t为u/su)
下载download.bin到flash的0x0地址处,以-t为u的情况举例如下
bootx -m leo -t u -c usbslavedown 0x0 download.bin
dump命令:
- serialdump(需要传输模式-t为s)
从flash中读取起始地址为0长度为0x100000的数据到当前目录的dump.bin文件中
bootx -m leo -t s -c serialdump 0 0x100000 dump.bin
- usbslavedump(需要传输模式-t为u/su)
从flash中读取起始地址为0长度为0x100000的数据到当前目录的dump.bin文件中,以-t为u的情况举例如下
bootx-mleo-tu-cusbslavedump00x100000dump.bin
flash擦除
- 部分擦除:
将flash上地址为0x0长度为0x100的数据擦除,实际上将会以64KB为单位进行擦除
bootx -m leo -c flash erase 0x0 0x10000
- 全部擦除:
bootx -m leo -c flash eraseall
一次使用多组命令的方法:
将-c后的所有命令使用双引号引起来,每一组完整的命令以分号结尾,最后一组命令不必加分号
先将flash上数据全部擦除,然后将download.bin下载到flash起始地址处
bootx -m leo -c "flash eraseall;serialdown 0 gxscpu.bin"