Firefly开源社区

FireBLE QN902x SWD JATG 调试不了 解决贴

151

积分

0

威望

0

贡献

技术小白

积分
151
发表于 2015-6-4 14:37:12     
本帖最后由 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 仿真调试。
回复

使用道具 举报

发表于 2015-6-5 14:49:01     
支持原创
暴走的创客!
回复

使用道具 举报

179

积分

0

威望

0

贡献

技术小白

积分
179
发表于 2015-6-5 15:17:01     
恩,学习了。
回复

使用道具 举报

74

积分

0

威望

0

贡献

技术小白

积分
74
QQ
发表于 2015-8-21 14:56:28     
比之前那个帖子讲解jink要好!
回复

使用道具 举报

93

积分

2

威望

0

贡献

技术小白

积分
93
发表于 2016-3-22 11:07:51     
楼主,为什么在FireBLE提供的源码下面,没有在use_config.h中搜索到CFG_SWD,FB_SWD,只找到CFG_SW_DEBUG宏,求解。PS,不管QBLUE或者bitbucket下面都没有
回复

使用道具 举报

93

积分

2

威望

0

贡献

技术小白

积分
93
发表于 2016-3-23 09:19:23     
Goshawk 发表于 2016-3-22 11:07
楼主,为什么在FireBLE提供的源码下面,没有在use_config.h中搜索到CFG_SWD,FB_SWD,只找到CFG_SW_DEBUG宏, ...

已经解决
回复

使用道具 举报

23

积分

0

威望

0

贡献

游客

积分
23
发表于 2016-3-31 13:23:44     
在FireBLE 板子上,LED2 LED3 复用了P06 P07 ,\src\qnevb\led.h有说明。
回复

使用道具 举报

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

本版积分规则

Copyright © 2014-2022 中山市天启智能科技有限公司 粤ICP备14022046号
快速回复 返回顶部 返回列表