NXP BLE QN902x 之开发环境搭建
0赞BLE是个很火热的东西,它广泛应用在各种可穿戴设备中。目前市场上生产BLE芯片的公司也有很多,比如
TI:CC2540、CC2541;CC2640
CSR:CSR1010、CSR1011;
Nordic:nRF8001、nRF51822;nRF51832
Dialog:DA14580,DA16580
Broadcom:BCM20732;
EM:EM9301、EM9601;
Cypress:CYBL10161-56
等等。。
本篇博客的主角不是以上芯片,而是NXP的BLE 芯片QN902x,包括QN9020和QN9012两款芯片,该芯片的datasheet在:http://cache.nxp.com/documents/data_sheet/QN902X.pdf?fpsp=1&WT_TYPE=Data%20Sheets&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation&fileExt=.pdf
可以下载到。QN9020和QN9021的主要区别是封装不同,QN9020为QFN48(6x6mm),QN9021为QFN32(5x5mm)。QN902x的主要技术参数如下:
》Cortex- M0内核
》支持BLE4.1
》96Kb ROM,128Kb SPI Flash ,64Kb RAM 代码在RAM中执行
》最高工作频率32Mhz
》输出功率:-20~4dBm;接收灵敏度:-95dBm
》功耗:接收电流:9.25mA,发送电流:8.8mA ,sleep mode:3uA
所谓工欲善其事,必先利其器,想学习或者开发QN902x需要哪些东西呢?
1)开发板
该开发板自带Jlink调试器,同时还配套有个USB BLE dongle,用来在PC机抓包使用。网上售价是42美元。
另外我发现在淘宝上还有一款价格便宜一点99元的开发板:https://item.taobao.com/item.htm?spm=a230r.1.14.1.zLgDgG&id=44438460336&ns=1&abbucket=8#detail
我就买了此款开发板,后续也以该开发板为基础做介绍。
2)软件
i) Keil 或者 IAR
ii)PL2303 驱动,板子上的USB转UART驱动。
iii)SDK:官方安装包,里面包括官方开发板的源代码和相关工具、文档。下载地址:http://pan.baidu.com/s/1mgkQF2K#path=%252FFireBLE%252FSource
iv)FireFly代码(P.s 这个代码是在官方SDK代码中修改的,如果使用的官方开发板则不需要这个)
以上资料到附件下载
工具准备完毕后,下面介绍如何搭建开发环境,我们完成的目标是将LDE灯的代码下载到板子中。
1)将开发板通过USB线连接电脑,保证驱动正确安装。
2)安装SDK QBlue-1.3.5b.exe
安装到最后一步时,需要安装Device Database,需要选择好正确的Keil和IAR路径,这样Keil和IAR 就会支持QN9020 器件。
3)打开FireBLE\Driver\gpio 工程,这里以Keil为例,我们可以看到Device里已经包含了QN9020器件
然后编译一下,会生成gpio.bin文件
此芯片支持UART下载或者SWD下载,这里先介绍UART下载
4)双击桌面的Qblue 软件,弹出如下窗口
之后点击QnISPStudio ,会出现如下界面,我们选择好COM口和上一步生成的bin文件,然后点Start按钮
这时提示你需要按下板子的复位键
按下复位键之后程序就会下载进去了
P.s 关于下载也可参考:http://wiki.t-firefly.com/index.php/FireBLE/Firmware_upgrade
下载完成之后 我们就会发现D1灯在不断的闪烁。
http://www.21ic.com/eva/MCU/201606/678628.htm 偶然间看到这个文章,更加详细的介绍了如何入门QN902x