上一章介绍了搭建软件编译环境,并生成了目标文件。本章节介绍使用EVK烧写工具将目标文件写入到目标板中。
1 烧写文件
烧写步骤如下:
- 打开Telink Burning and Debugging Tool 软件,连接EVK烧写板和PC。
- 连接EVK板和目标板。GND-GND, SWM(EVK板)-SWS(目标板),3V3-电源。
- EVK连接PC后,可以在软件左下角看到"evk device:ok"。
- 点击菜单栏"File" -> "Open" ,选择需要烧写的目标文件。
- 选择需要烧写的芯片型号"8258" or "8255" , 8251和8258使用同一个型号,两个芯片只是ram不同,其他均相同。
- 点击Activate,界面提示"Activate OK!" ,该动作会将芯片前面4K flash全部擦除。
- Download按钮,会将目标文件写入flash中。该动作会根据目标文件大小先擦除flash(4K对齐),然后写入。
- Erase按钮,会将全部flash擦除。
- 烧写完成后,点击Reset,会复位芯片,启动程序运行。
- 也可以选择Setting按钮,输入对应的flash地址和擦除大小,进行烧写和擦除对应区域。
2 EVK调试程序
用户可以使用EVK板调试目标板运行状况,具体流程如下:
- 点击"File" -> "Open" ,选择烧写的目标文件。注意,目标文件需要和对应的.lst文件需要在一个目录下。例如8258_ble_remote.bin需要和8258_ble_remote.lst需要在同一目录。因为调试是读取.lst内容。
- 选择BDT软件的Tdebug栏,界面左边右键点击Refresh。可以看到程序中的变量和数组。
- 点击short by name可以根据name排序。
- 点击refresh可以刷新变量和buffer内容。
- 访问数组内容,可以双击数组名字对应的Value。
- 修改变量内容,可以点击变量名字对应的Value,然后回车。
以前不知道串口调试方法,只能通过该方法调试程序,局限性特别大,现在不使用该方法调试了,哈哈。
3 EVK其他使用
EVK还可以读取某块flash,从flash读出内容到文件,读某个ram内容,多地址烧写。
3.1 命令行使用
- 点击"help" -> "Command line",打印支持的命令。
- 点击"Tool" -> "Cmdline Input",打开命令行输入。
- 输入命令,回车,即可执行对应的命令。例如读flash。
读flash的命令:8258 rf 0 -s 128
0-表示读flash的起始地址,可以修改
128 -表示读flash的长度,如果读4096字节,可以写4k。
读flash超过4K大小,会保存到bin文件。默认保存到BDT usr目录下。
3.2 Memory Access
访问ram/flash 方法:
- 点击"Tool" -> "Memory Access"。
- 选择芯片类型,EVK方式
- 如果读/写 ram,选择CORE方式;如果读/写 flash,选择FLASH。
- 读写ram/flash大小,选择/输入大小。
- 地址可以在addr栏输入,十六进制
- 读ram/flash,使用table按键。
- 写ram/flash,在data栏中输入value,然后回车。
3.3 多地址烧写
如果需要烧写多个flash地址,可以使用多地址烧写方式。
- 点击"Tool" -> "Multi-address download",弹出下载框。
- Add按钮,添加输入框。
- start Address可以输入需要烧写的flash地址。
- File按钮,可以选择需要烧写的目标文件。
- Cal.按钮,可以计算目标文件的大小。
- 选择多个文件后,点击Download按钮,会自动将选择的文件写入对应的flash。