Linux 下烧录指南

优质
小牛编辑
123浏览
2023-12-01

一、烧录步骤

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"