【开篇叨叨几句,提前拿到FireBLE板卡,把玩了两天,基本上手,接下来时间带大家一起把玩FireBLE,教程主要分三部分,第一部分讲解QN9021外围驱动,第二部分讲解蓝牙低功耗BLE相关操作,第三部分是综合所学,做一个小作品,以检查前期所学。近期论坛会开启FireBLE使用活动,请大家注意关注,拿到板卡第一时间速速跟蜗牛哥跑起来。】
一、相关工具
1.Keil MDK-ARM:编程环境
2.Quintic SDK:QN9021工具包
3.jlink:配合Keil进行板卡仿真调试
二、软件安装
1.Keil MDK-ARM
由于我电脑里已经安装了Keil,也安装了好多库,这里就不给大家演示了,keil教程很多,推荐5.0以上版本,支持比较齐全。
2.Quintic SDK
开始安装
同意协议
选择安装目录
安装进程
安装完成,自动安装Keil MCU DB库,会自动检测到Keil安装目录,自动安装
启动界面
工具包介绍
3.jlink keil设置
注意:
由于在CPU睡眠的时候仿真器无法识别开发板,所以在开发板处于工作的状态下才能发现设备。示例程序在开机后是直接进入睡眠模式的,所以需要把五向按键向上推来启动开发板发送广播,唤醒开发板的睡眠状态,然后才能进行实时仿真以及下载固件。需要注意的是,加入OTA功能后由于有额外的东西要烧录,所以只能用ISP串口烧录工具烧录。
开发板固件和核心板固件默认不开启SWD,如果需要开启SWD仿真,需要在相应例程usr_config.h文件中取消对CFG_SWD宏定义的注释。遇到JTAG不能识别的问题,一般都是JTAG 口复用的问题,由于QN902x 本身IO 口并不多,很多情况下会选择IO复用,如果你前面的烧录的bin把JTAG 功能的SWD接口所占用的IO口复用成了其他功能,那么就会导致JTAG不能识别,导致不能仿真。所以对症下药,如果你需要仿真功能,那么就应该把JTAG 所对应的IO 复用为JTAG 功能。QN902x 的JTAG使用的是SWD接口,只有2个信号线,分别为SWDIO/P0_6、SWCLK/P0_7.要把它们都配置为SWD所用。
#if (defined(CFG_SWD))
#define FB_SWD 1
#else
#define FB_SWD 0
#endif
原帖出处:http://bbs.ickey.cn/group-topic-id-53868.html
欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) | Powered by Discuz! X3.1 |