样板使用了1.5V电源,boost升压到1.8V供MCU使用,因此IO通信的电平需要注意:
不能使用常用的5V、3.3V的jlink进行调试,类似的uart通信也一样。
BRD4001A底板的jlink如何使用?
参考开发板套件的说明文档《ug551-brd4194a-user-guide-EFR32xG27.pdf》
最后一种接口是BRD4002A底板才有,所以看前三种。debug in是外部jlink调试核心板,这种场景是有病??不过原理图上可知,外部jlink并不需要转换电平,因为板子上已经加了电平转换到3V3:
DEBUG_TMS_SWDIO_IN往后看: |
接到了底板的主控MCU,STM32F407IGH6上……这玩意儿是用外部jlink调试主控F407?
继续查找可知,并非连接到PA13和PA14的调试口上!感觉这像是要经过407来中转?!?可以说匪夷所思了,这绕一圈的必要性?
结论:
最后,应该还有另一种调试外部板子的方法,就是使用蓝牙核心板的调试口引出的P16和P18。不过涉及到电平问题,还有上图线路中的路由的开关,未必可用。
只能选择Debug OUT模式,使用开发板的jlink调试外部设备,有一个优势是参考电压可以外部输入。不过这个jlink在jflash中有版权问题,不能擦除下载程序,所以只局限于ssv5中使用。
如何配置底板为Debug OUT模式?说明文档ug551也已说明:
插上jlink,进入launcher标签,看到识别到的jlink设备,点击start:
点击change
修改模式即可
为什么依然无法连接目标板?
将debug接口中的resert引出接到开发板,可解决。
原因是,空片下载程序时,不需要jlink控制芯片复位,但是下载的第一个程序没有对swio和swclk进行初始化,所以后续无法在线调试、下载。BG27默认的软件工具生成的代码不会默认配置调试口,这也是与其他芯片和开发工具的差别,例如st,不去主动修改调试口它就是默认可用。
当然,这只需要在开发中注意,发布的版本,不再需要jlink调试口。
为什么debug时候下载运行成功,但是调试界面启动失败?
不清楚!多试一次也不是问题。