本帖最后由 hello、C 于 2021-1-30 11:37 编辑
#申请原创#
由于自己比较关注Bootloader的开发技术,
因此今天来评测下东软载波 ES-PDS-ES32F369x-V1.3原型系统开发板 支持的应用Bootloader.
①在路径ES32_SDK_V1.09\Projects\ES32F36xx\Applications\Bootloader下有三个文件夹
01_uart_1k_xmode
02_usb_dev_fatfs
03_usb_host_fatfs
②UART很常用,所以我们选择01_uart_1k_xmode这种方式。
我们需要一个工具,超级终端-hypertrm,搜索一下很容易就能下载到这个软件。
至于超级终端的使用详见 百度经验 超级终端怎么用?说说我遇到的几个问题:
a.新开连接时,会提示填入区号什么的,对应填上,有些随便填就可以了。
b.COM口连接了,才有COM口的下拉连接选项,不然只能选TCP/IP选项。
③我们查看01_uart_1k_xmode工程中的程序文件,设置好超级终端。波特率为:115200,数据位宽:8,校验方式:无,停止位宽:1,硬件流控制:无。
④将01_uart_1k_xmode Keil MDK工程下的程序编译链接下载到开发板中(Erase chip before download)。
连接超级端口后将看到如下的结果:提示当前开发板上没有应用程序,需要先进行更新。
⑤我们在搜索了一番01_uart_1k_xmode文件夹下的文件后,发现有个Test_bin的文件夹
Test_bin文件夹下有两个文件:Test_bin/run_in_flash.bin Test_bin/run_in_sram.bin.
再配合阅读ReadMe.txt的解释,一切豁然开朗了,东软官方为我们准备了两份APP来测试Bootloader.我们选择Test_bin/run_in_flash.bin.
⑥在超级终端下,es#后输入cmd,随便输入了几个字符,显示:es#CC
Unkonw cmd: CC
es#C
Unkonw cmd: C
es#A
Unkonw cmd: A
在主程序粗略读了下并追踪到 boot_shell.c 的 shell_task_func 的函数后,
尝试使用了下 Tab 按键,出来了如下几个可选菜单:
es#
reboot run_flash run_sram update
version
输入version
es#version
Bootload: 01-00-00-00
输入reboot,显示乱码,然后界面卡死了
按下开发板的复位键,恢复正常
输入update,重复尝试连接此时为10次
输入run_flash, 检测到没有App
输入run_sram, 出现乱码,应该是执行了sram
⑦在超级终端下,按下开发板复位按钮,
复位后,输入update cmd,开发板发出连接的C字符,
然后我们用鼠标点击 传送 -> 选择 发送文件,
在弹出的对话框中浏览选择 run_in_flash.bin 文件,协议:选择 1K Xmode,
点击 发送,
超级终端正在发送,
超级终端显示更新成功。
⑧按下开发板复位按钮,在超级终端下,
三秒内,没有按键操作,将自动运行App,将看到输出的计数值。
在有任何按键的情况下,将会锁定在bootloader的CMD界面,
可以执行 run_flash run_sram update 等指令。
在输入run_flash后,将运行App,将看到输出的计数值。
在输出计数值后,按下开发板复位按钮复位开发板后,会出现乱码,可能多次连续出现。
总结:
a.在常用的电子产品嵌入官方提供的bootloader程序还是不错的,用起来很方便,有些小问题,但不影响使用。
b.模块封装得还比较好,需要深入了解的话,需要仔细阅读源程序文件,并结合Bootloader的帮助文档。
c.想要学习原型开发系统并了解一些分层思想的话,上海东软载波提供的东西还是很不错的。值得参考。
d.虽然源文件的注释少了点,结合帮助文档来理解,应该是没有什么问题的。
后面可能不定期更新下........
|