Firefly开源社区

打印 上一主题 下一主题

BLE核心模块FS-QN9021模块开发-linux版

6

积分

0

威望

0

贡献

游客

积分
6

BLE核心模块FS-QN9021模块开发-linux版

发表于 2016-1-10 11:15:20      浏览:8672 | 回复:1        打印      只看该作者   [复制链接] 楼主

这段时间又参与了一个新的小项目,简单概括为`蓝牙、智能、家居`吧,虽然时间有点紧,还是希望能把这一些东西记录下来。

<br>
####BLE
什么是BLE?参考这篇[文章](http://www.mianfeiwendang.com/doc/e5f0219633d14d7b2d6ac032)做如下总结。   
中文名称为蓝牙低功耗。主要特点为低成本、超低功耗、短距离、标准接口和可互操作性强,并且工作在免许可的2.4GHz ISM射频段,需要支持蓝牙4.0(系统为Android4.3及以上)的主机设备才能与其连接。   

目前生产BLE芯片的厂家主要有CSR、TI、Nodic和NXP(QN902x),各个厂家芯片对比如下图

!()

从如上图对比可以看出,NXP的QN902x在功耗方面比CSR和TI更省电,在接收灵敏度和模式方面比Nodic的胜一筹,它的从设备相比其它几家可以连接的更多,共有8个,这也算是蓝牙4.0的一大特色吧,并且NXP的芯片已经过了MFI认证,直接能与苹果设备相连接,因为这种认证也是挺贵的。   

因为BLE的低功耗、低成本及强大的处理能力,并且随着iPhone的设备支持蓝牙4.0,BLE的终端设备在我们的生活当中将会越来越多,在未来将会有爆发式增长。

<!--more-->
QN902X是一款内核为M0的蓝牙BLE SOC芯片,其SDK对蓝牙BLE的profile都有实现,并提供源码,SDK也提供很多工具以便使用芯片,比如引脚配置,NVDS读写,串口USB Dongle(配合上位机可以调试各profile,没有手机也可以调试),ISP下载等,但QN902X不提供数据手册,所有的外设操作都以库的方式提供,SDK说明比较全面但全是英文的。      

与NODRDIC的51822和TI的CC2540不同QN902X的架构是M0+ROM+FLASH+SRAM的方式,其中ROM放的是蓝牙协议和内部一个小的调度核,FLASH放的是用户程序和数据,RAM用于跑程序。其中ROM:96K,SRAM:64K,FLASH:64K/128K。因为QN902X程序是跑到SRAM中,所以它的深度睡眠电流比较大些。

<br>
####环境搭建
老生长谈,开发一款产品,第一步当然是搭建开发环境咯。

#####wine安装
由[这里](http://www.keil.com/demo/requirements.asp)可知,keil不支持linux环境,所以必须自己想办法了。这是在linux环境下运行windows的程序,本身使用windows的请自动忽略这一步。具体请看[官网](http://wiki.ubuntu.org.cn/Wine)/[博文](http://blog.csdn.net/ropai/article/details/19813767)。

```sh
~ $ sudo add-apt-repository ppa:ubuntu-wine/ppa
~ $ sudo apt-get update
# => 我的是64为的系统,所有安装64位版
~ $ sudo apt-get install wine1.8-amd64
# => 配置
~ $ winecfg
# => 中文路径:~/ .wine/drive_c/windows/Fonts/
~ $ winetricks corefonts
```

#####keil安装
首先得下载keil,可以自己去[官网](http://www.keil.com/download/)下载最新的,也可以直接点击[mdk5.17下载地址](http://www.keil.com/fid/1syem9w3 ... les/eval/mdk517.exe),参考这篇[博文](http://www.rationmcu.com/elecjc/1204.html)并实践做如下记录。

```sh
# => 进入下载目录安装
~ $ wine mdk473.exe
```
> `提示`:卸载程序可以用wine uninstaller

安装完成后,会弹出来一个安装器件(pack installer)如下的界面,也就是说,你要用它来开发哪个芯片(此项目可以忽略,后面步骤导入DB)。
![packin](/images/packin.png)

<br>
或者打开keil界面会看到如下图标
![packicon](/images/packicon.png)

<br>
要开发哪一款芯片,点击install即可,或者先网页端下载好在导入,具体参考上面提供的博文地址。

#####MCU DB库安装
下载Quintic最新的SDK[QBlue1.3.7](http://pan.baidu.com/s/1mgkQF2K#path=%252FFireBLE%252FSource),安装:

```sh
~ $ wine QBlue-1.3.7.exe
```
会弹出窗口如下,点击安装即可,或者打开桌面QBlue里的QN9020DevDBforIDE工具安装。

![sdk](/images/9021db.png)

#####keil使用
首先获取开源代码

```sh
~ $ cd
~ $ git clone git@bitbucket.org:T-Firefly/fireble.git
```
桌面打开keil,假如我们希望开始proxr工程:

1. 在keil的Project菜单中选择Open Project...
2. 弹出文件选择框中,打开/home/xxx/fireble/BLE/prj_proxr/keil/proxr.uvproj工程文件(linux可能在z磁盘里)
3. 配置DB如下,如果没发现库,请重启软件

        ![dbset](/images/nxpset.png)
4. 编译代码,成功后如下,具体配置选项请参考[这里](http://wiki.t-firefly.com/index. ... C.E9.85.8D.E7.BD.AE)

        ![compile](/images/compile.png)

<br>
####参考文档
- [QN9020快速入门](http://www.nxp.com/documents/application_note/AN11664.pdf)
- [QN902x周立功版](http://www.zlgmcu.com/NXP/Qn902x/pdf/QN902x_fast_um.pdf)
- [防丢器项目](http://blog.csdn.net/q562359345)
- [MDK-ARM PRO SET](http://www.myir-tech.com/faq.asp?nid=37)
- [总有“一道菜”适合你——BLE](http://www.qiuzhi5.com/13/2015/1222/200559.html)
- [【FireBLE试用体验】体验报告汇总](http://bbs.ickey.cn/index.php?app=group&ac=topic&id=56566)

回复

使用道具 举报

6

积分

0

威望

0

贡献

游客

积分
6
发表于 2016-1-10 11:17:39        只看该作者  沙发
回复

使用道具 举报

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

本版积分规则

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