开启辅助访问
请
登录
后使用快捷导航
没有帐号?
立即注册
登录
|
注册
|
官方网站
官方网站
English Forum
内测申请
四格报告
机型投票
English
本版
帖子
用户
首页
社区精华
维基资料
板块列表
官方商城
Auction
资料下载
Firefly开源社区
›
技术交流
›
BlueSmart
›
FireBLE
›
BLE核心模块FS-QN9021模块开发-linux版
发表新贴
BLE核心模块FS-QN9021模块开发-linux版
来风
来风
当前离线
积分
6
来风
6
积分
0
威望
0
贡献
游客
积分
6
发消息
BLE核心模块FS-QN9021模块开发-linux版
发表于 2016-1-10 11:15:20
浏览:8725
|
回复: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
)
分享到:
QQ空间
新浪微博
腾讯微博
人人网
微信
收藏
回复
使用道具
举报
来风
来风
当前离线
积分
6
来风
6
积分
0
威望
0
贡献
游客
积分
6
发消息
发表于 2016-1-10 11:17:39
只看该作者
沙发
原文连接:
http://www.nephen.com/2016/01/BL ... %E5%BC%80%E5%8F%91/
[/url]
回复
支持
反对
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
友情链接 :
爱板网
电子发烧友论坛
云汉电子社区
粤ICP备14022046号-2
快速回复
返回顶部
返回列表