Firefly开源社区

打印 上一主题 下一主题

FireBLE关于JLink仿真的一些疑问解答

400

积分

0

威望

0

贡献

注册会员

Rank: 8Rank: 8

积分
400
QQ

FireBLE关于JLink仿真的一些疑问解答

发表于 2015-7-5 12:20:14      浏览:7474 | 回复:1        打印      只看该作者   [复制链接] 楼主
本帖最后由 安安 于 2016-3-22 16:02 编辑

关于使用JLink作为仿真的话,有可能会出现这么几种错误:
1.找不到仿真设备。


如上图,在右上方的方框内没有支持SWD的设备,这样的情况大多数是由于开发板没有开启SWD仿真导致的,因为QN902x系统官方并不公开寄存器描述,IO数目受限制,并且对于JLink仿真在协议栈内容调试上使用的非常不方便,所以开发板默认关闭了SWD仿真。有一些用户可能比较习惯JLink仿真调试定位问题关键所在,我们制作了一个宏定义,方便用户开启或者关闭SWD仿真。在usr_config.h中,#CFG_SWD作为开启和关闭SWD的宏开关,注释掉该宏定义,将关闭SWD仿真,否则就开启SWD仿真。(开启SWD仿真后,需要先串口烧录一遍修改过的程序到板子上,才能够在JLink发现设备,只编译不烧写还是无法发现设备的)。由于SWD仿真接口复用在了LED2和LED3、以及SPI协议的OLED上,所以在仿真调试中,采用SPI协议的OLED和LED2/LED3都无法正常使用。串口调试和仿真结合确实是最快捷找到问题的方法,我们建议,协议栈中使用串口调试,在运行异常的时候,采用JLink定位问题,JLink不必要保持开启,在需要使用的情况下再开启。
另外,如果开发板进入深度睡眠状态下,也是没有办法检测到SWD设备的,此时,只需要把MCU唤醒,使其进入广播模式或者链接模式,就可以识别到设备并且进行仿真了。

2.已经找到仿真设备,无法仿真。有可能的错误有:
1.未安装QN902x的DB库。解决方法:
安装QBlue并且打开,打开QnDevDBforDevelop工具,安装QN902xDB库,默认库中只有QN9020,实际上与QN9021通用。



2.未安装keil兼容包,解决方法,按照下面网址下载兼容包并且安装。


3.Flash地址配置错误,解决方法:按照如下方法配置Flash




回复

使用道具 举报

151

积分

0

威望

0

贡献

技术小白

积分
151
发表于 2015-7-6 08:51:15        只看该作者  推荐
治标不治本,治标又治本的是应该了解pin 复用的关系,在每个prj中设置复用关系,不过话又说回来,在跑协议栈时,单步调试作用并不大。
回复

使用道具 举报

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

本版积分规则

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