使用JLINK在Eclipse IDE for ModusToolbox™ 3.4环境下调试CYT4BB,配置是难点。总结一下在IDE中配置JLINK调试中遇到的坑,以及如何一步一步解决遇到的问题。
1. JFLASH能够正常下载程序
首先要保证通过JFLASH(我使用的J-Flash V7.88c版本)能够通过JLINK(我使用的V12高配)正常下载程序,这保证了JLINK和CYT4BB的接线没有问题,芯片型号选择没有问题。(我就在这遇到过坑,我使用的是CYT4BB7CEB,然而我在JFLASH中配置的是CYT4BB7CEA,这导致了我擦除和烧录大概率是失败的,偶尔才能成功一次。)
2. 配置GDB Server
在IDE的Debug Configurations中找到Debugger配置C:\Program_User\JLink\JLinkGDBServerCL.exe
配置之前,在窗口命令行中输入命令
bash
C:\Program_User\JLink\JLinkGDBServerCL.exe -device CYT4BB7CEB_M7_0 -if SWD -speed 1000 -port 2331
并能够正确响应,如图:

这样就确保了GDB Server是正常的。
否则会出现如下的报错:
3. 配置GDB Client
使用编译环境默认的C:\Users\<用户名>\ModusToolbox\tools_3.4\gcc\bin\arm-none-eabi-gdb.exe
在自己安装的路径下找到这个文件,按实际的路径填写即可。

4. Debugger中的其他配置
Device Name我使用的是CYT4BB7CEB_M7_0,这个很重要,不要填错了。
其他的GDB port 2331,SWO port 2332,Telnet port 2333按默认填写。
附Debugger配置的完整截图:

另外,GDB Server的路径最好是英文,且路径中不能有空格 !
5. Main配置
在Main配置中选择好待调试的elf文件。

6. Startup配置
在Run/Restart reset中输入
bash
monitor reset halt
load
break main
continue
Set program counter at (hex)设置了1008085c(这个值是在.map文件中找到main函数的地址的)

如果不设置 Set program counter at (hex)设置了1008085c,会报错,目前还没找到好的方法
7. Make配置
在Make文件中设置编译器优化等级为0。
bash
CFLAGS += -g -O0
8. 开始调试
经过上述的步骤后,就可以使用JLINK进行单步调试了。
