烧录调试工具BDT CMD
该工具开发与测试在 Ubuntu 20.04.3 LTS, 64-bit 操作系统. 在macos X64,AARACH64系列进行编译测试。
版本v1.4,使用前请更新burning EVK固件版本到V3.6.
介绍
功能支持, 主要支持evk模式, 部分芯片支持usb模式,如下表。后续详细用例里面有说明。
evk mode | usb mode | |
---|---|---|
read/write flash (rf, wf) | support | only 826x support |
read/write sram (rc, wc) | support | only 82xx support |
read/wirte analog (ra, wa) | support | only 82xx support |
download in flash | support | not support |
download in core | support | only 82xx support |
erase in flash/core | support | only 82xx support |
check pc (pc) | support | only 82xx support |
check global parameters (var) | support | only 82xx support |
reset in flash or sram | support | only 82xx support |
sws | support | not support |
run step stop | support, B91and B92 not support | only 82xx support |
ac | support | not support |
lsusb | support | support |
up | not support | support |
芯片型号参数
B92 9518 B80 B85 B87 B89_A1 8232 8266 8267 8269 8366 8368 8367_i 8367_e 8369_i 8369_e
命令使用示例
命令选项介绍
-u: 表示使用usb模式,未使用-u默认为evk模式.
-s: 需要操作的字节数量,数量跟在-s后面. eg: -s 16; -s 1k.
-e: 表示擦除操作,常用于flash,core擦除.
-c: 表示core,常用reset命令.
-i: 指定输入文件,后面紧跟文件路径,常用于指定下载文件. eg: -i /home/8258_gpio.bin.
-o: 指定输出文件,后面紧跟文件路径,常用于将读取二进制数据保存到文件. eg: -o /home/readflash.bin
-p: 表示打印具体过程,常用于flash操作.
-b,-d: usb设备的bus, devid,存在多个usb设备时候需要使用该参数.
支持usb 模式的功能, 在命令后面添加-u选项即可。
假如存在多个evk设备,由于evk设备vid、pid都是相同的,可以通过指定evk设备的bus,devid控制指定设备。
假如使用usb模式的调试方式,也需要通过指定bus,devid的方式控制设备。
示例,在命令的后面添加-b:bus -d:devid
./bdt 8258 sws -b 1 -d 1
./bdt 8258 sws -b 1 -d 2
./bdt 8258 sws -b 1 -d 1 -u
./bdt 8258 sws -b 1 -d 2 -u
sws
设置通讯速率,以及检测evk于目标板连接是否正常.
# 设置指定的sws值.
# b0:地址 10:速率参数值.前两个(b0 10)为设置evk swire clk值;后两个(b0 10)是目标开发板swire clk值.
./bdt 8258 sws b0 10 b0 10
# 如果没有指定值,sws值默认为b0 10 b0 10.
./bdt 8258 sws
写入sws值必须跟在sws命令参数后面.
activate
唤醒设备,程序处于深度睡眠的时候,使用该命令.
./bdt 8258 ac
reset
重新启动, 程序从flash或者sram启动.
# 重启后从flash启动
./bdt 8258 reset
# 重启后从sram启动
./bdt 8258 reset -c
read/write flash
read flash(rf)
读取数量小于1kb, 读取数据将打印; 大于1kb将会保存到默认文件.
默认文件名称实例: save1020-11294102.bin
# 读取flash地址0x00 16字节数据
./bdt 8258 rf 0x00 -s 16
./bdt 8258 rf 0x00 -s 1k
# 将读取数据输出到制定文件readflash.bin
./bdt 8258 rf 0x00 -s 16 -o readflash.bin
write flash(wf)
flash 在写入之前需要先进行擦除, 擦除的默认单位是4k.
# 写入4字节数据到flash 0x00.
./bdt 8258 wf 0x00 01 02 03 04 -s 4
# 先擦除,再写入数据.
./bdt 8258 wf 0x00 01 02 03 04 -s 4 -e
# 写入一个文件到flash,下载功能.
# 写入文件不用选项-e -s.
./bdt 8258 wf 0x00 -i bin/USB_Demo.bin
read/write core
read core(rc)
读取数量小于1kb, 读取数据将打印; 大于1kb不将会保存到默认文件.
默认文件名称实例: save1020-11294102.bin
# 读取sram地址0x40000 16字节数据.
./bdt 8258 rc 0x40000 -s 16
./bdt 8258 rc 0x40000 -s 1k
# 将读取数据输出到制定文件readsram.bin.
./bdt 8258 rc 0x40000 -s 16 -o readsram.bin
write core(wc)
# 写入4字节数据到sram 0x40000
./bdt 8258 wc 0x40000 01 02 03 44 -s 4
# 写入一个文件到sram,下载功能
# 写入文件不用选项-e -s
./bdt 8258 wc 0x40000 -i bin/USB_Demo.bin
read/wirte analog
read analog(ra)
# 读取analog数据, 起始地址0x00 16字节.
./bdt 8258 ra 0x00 -s 16
write analog(wa)
# 写入4字节数据到analog 0x00.
./bdt 8258 wa 0x00 01 02 03 44 -s 4
check pc/parameter
查看pc指针值, 全局参数表(var).
需要查看pc指针值, 参数具体含义,需要配置.lst文件
# 打印当前pc指针值.
./bdt 8258 pc
# 打印当前pc指针值,详细说明.
./bdt 8258 pc -i USB_PRINT_LOG.lst
# 打印当前程序参数列表(地址,长度,值).
/bdt 8258 var -i USB_PRINT_LOG.lst
run stop
运行,停止程序执行
# 开始运行.
./bdt 8258 run
# 停止运行.
./bdt 8258 stop
step
单步运行程序.
./bdt 8258 step
up
更新evk固件, usb连接evk设备
-i : 指定需要更新的固件文件夹
-v : 查询当前evk版本号
# evk芯片为8266
./bdt 8266 up -i fw/Firmware_v3.4.bin
./bdt 8266 up -i fw/Firmware_v3.4.bin -ev
./bdt 8266 up -ev
lsusb
查看已经电脑usb设备列表,-v选项可以查看usb 描述符字符串。
./bdt lsusb
./bdt lsusb -v