Firefly开源社区

打印 上一主题 下一主题

FireBLE QN902x SWD JATG 调试不了 解决贴

151

积分

0

威望

0

贡献

技术小白

积分
151

FireBLE QN902x SWD JATG 调试不了 解决贴

发表于 2015-6-4 14:37:12      浏览:9060 | 回复:6        打印     [复制链接] 楼主
本帖最后由 FireBLE_blue 于 2015-6-4 14:41 编辑

不少用FireBLE 的用户以及网络上的用户都遇到一个问题,jlink,stlink等JTAG仿真器连接QN902x 的FireBLE开发板上是不能识别,导致不能单步调试。
如果你也遇到同样的问题,别认为你把板子搞废了,或者板子本身有问题,请尝试本帖方式解决。

遇到JTAG不能识别的问题,一般都是JTAG 口复用的问题,由于QN902x 本身IO 口并不多,很多情况下会选择IO复用,如果你前面的烧录的bin把JTAG 功能的SWD接口所占用的IO口复用成了其他功能,那么就会导致JTAG不能识别,导致不能仿真。所以对症下药,如果你需要仿真功能,那么就应该把JTAG 所对应的IO 复用为JTAG 功能。

QN902x 的JTAG使用的是SWD接口,只有2个信号线,分别为SWDIO/P0_6、SWCLK/P0_7.要把它们都配置为SWD所用,QN902x 所供的SDK 其实是提供了宏作为开关 在usr_config.h下:

  1. #define  CFG_SWD
复制代码
追踪 CFG_SWD

  1. #if (defined(CFG_SWD))               
  2.         #define        FB_SWD                        1
  3. #else
  4.         #define        FB_SWD                        0
  5. #endif
复制代码
全局搜索 FB_SWD 可得配置code 如下

  1. #if !(FB_SWD)
  2.         | P06_GPIO_6_PIN_CTRL
  3.         | P07_GPIO_7_PIN_CTRL
  4. #else
  5.         | P06_SW_DAT_PIN_CTRL
  6.         | P07_SW_CLK_PIN_CTRL
  7. #endif
复制代码

在确定 P06、P07 的复用都配置为SWD 之后重新编译,通过ISP重新下载后即可使用JTAG 仿真调试。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表