芯科蓝牙BG27开发笔记10-BG27样板调试

硬件连接

样板使用了1.5V电源,boost升压到1.8V供MCU使用,因此IO通信的电平需要注意:

芯科蓝牙BG27开发笔记10-BG27样板调试_第1张图片

不能使用常用的5V、3.3V的jlink进行调试,类似的uart通信也一样。

BRD4001A底板的jlink如何使用?

参考开发板套件的说明文档《ug551-brd4194a-user-guide-EFR32xG27.pdf》

芯科蓝牙BG27开发笔记10-BG27样板调试_第2张图片最后一种接口是BRD4002A底板才有,所以看前三种。debug in是外部jlink调试核心板,这种场景是有病??不过原理图上可知,外部jlink并不需要转换电平,因为板子上已经加了电平转换到3V3:

芯科蓝牙BG27开发笔记10-BG27样板调试_第3张图片

DEBUG_TMS_SWDIO_IN往后看:

接到了底板的主控MCU,STM32F407IGH6上……这玩意儿是用外部jlink调试主控F407?

继续查找可知,并非连接到PA13和PA14的调试口上!感觉这像是要经过407来中转?!?可以说匪夷所思了,这绕一圈的必要性?

芯科蓝牙BG27开发笔记10-BG27样板调试_第4张图片

结论:

芯科蓝牙BG27开发笔记10-BG27样板调试_第5张图片

最后,应该还有另一种调试外部板子的方法,就是使用蓝牙核心板的调试口引出的P16和P18。不过涉及到电平问题,还有上图线路中的路由的开关,未必可用。

只能选择Debug OUT模式,使用开发板的jlink调试外部设备,有一个优势是参考电压可以外部输入。不过这个jlink在jflash中有版权问题,不能擦除下载程序,所以只局限于ssv5中使用。

如何配置底板为Debug OUT模式?说明文档ug551也已说明:

插上jlink,进入launcher标签,看到识别到的jlink设备,点击start:

芯科蓝牙BG27开发笔记10-BG27样板调试_第6张图片

点击change

芯科蓝牙BG27开发笔记10-BG27样板调试_第7张图片

修改模式即可

芯科蓝牙BG27开发笔记10-BG27样板调试_第8张图片

为什么依然无法连接目标板?

将debug接口中的resert引出接到开发板,可解决。

原因是,空片下载程序时,不需要jlink控制芯片复位,但是下载的第一个程序没有对swio和swclk进行初始化,所以后续无法在线调试、下载。BG27默认的软件工具生成的代码不会默认配置调试口,这也是与其他芯片和开发工具的差别,例如st,不去主动修改调试口它就是默认可用。

芯科蓝牙BG27开发笔记10-BG27样板调试_第9张图片

当然,这只需要在开发中注意,发布的版本,不再需要jlink调试口。

为什么debug时候下载运行成功,但是调试界面启动失败?

芯科蓝牙BG27开发笔记10-BG27样板调试_第10张图片

不清楚!多试一次也不是问题。

关于Bootloader

每个官方例程的readme都说明了boot的问题:

1. 去掉app中的boot组件

2. 新建boo工程,编译烧录

3. 直接使用Demo的预编译例程,烧录镜像中包含了boot,不过目前BG27没有可用Demo

之前的工程,都使用去掉boot组件的方式。现在可以在launcher中新建一个“Bluetooth AppLoader OTA DFU”例程。暂不需配置直接编译运行下载。

详细内容参考资料:

《UG489: Silicon Labs Gecko Bootloader User's Guide for GSDK 4.0 and Higher》

你可能感兴趣的:(Silicon,labs蓝牙开发,笔记,1024程序员节)