基于eclipse+gcc+jlink组合开发调试mcu, 除调试外解决独立擦写flash问题

使用eclipse mbedded cdt作为嵌入式IDE来开发嵌入式程序是很多开发人员的选项之一, 但是eclipse并不完美, 有一些功能没有按钮或者选项来实现, 比如在非调试状态下的下载程序, 擦除flash(sector erase 或者 chip erase)等功能

这里提供一种实现以上功能的方式.

如图, 点击下拉箭头选择External Tools Configurations...

然后建立一个新的配置, 如图, 右键Program, 选择New Configuration

跳出如下界面, 在name栏里填写该配置的功能名, 如erase, 在Location:里添加外部工具的路径, 这里我们借助JLink工具来实现erase, 然后在Arguments里面加入命令行参数, 如图所示

其中-if为swd, swd即调试接口, 可选Jtag, 根据实际情况选择

其中-device为YTM32B1MD14G0MLLT, 这是云途半导体的一款车规芯片, 如果是其他芯片, 那么需要保证JLink中有该芯片的下载算法文件, 因为erase或者program需要调用下载算法来执行操作, 如果没有, 则需要在JLink中添加对应芯片的下载算法, 以及相应的内容, 具体可参考JLink添加device支持, https://wiki.segger.com/J-Link_Device_Support_Kit

其中-commandscript为erase.jlinkscript, 该脚本里是jlink的一些命令行, 如果实现chip erase, 那么脚本里就是一句erase, 如果是要烧写image, 那么就是 loadfile {srec_file}或者loadbin {bin_file}
如下图是erase的脚本内容

其中workspace_locproject_name是eclipse的内部变量, 表示workspace(打开软件默认会弹出窗口选择workspace的目录)和工程目录

完成后会有一个erase的按钮, 点击它即可实现相应的功能

至此erase或者program功能就完成了.

posted @ 2023-07-05 00:45  乔治是只猪  阅读(156)  评论(0编辑  收藏  举报