第三篇 蓝牙工程样例模板

来源:互联网 发布:上海古籍出版社 知乎 编辑:程序博客网 时间:2024/06/03 12:41
如何使用nRF8122来开发蓝牙应用呢?

实际上在安装了Keil的nRF8122软件支持包之后,在Keil目录下,有蓝牙开发的模板示例程序,目录为:
C:\Keil\ARM\Device\Nordic\nrf51822\Board\nrf6310\s110\ble_app_template

这个程序是Nordic为蓝牙开发者提供的一个模板程序,这个程序是能够直接编译成功的。先Down一个蓝牙协议栈,再Down这个程序,打开手机的蓝牙,可以搜索到"Nordic_Template"这个蓝牙设备。

开发自己的蓝牙应用的话可以基于这个模板程序。

但是这里为什么不赞成用这个模板程序呢,主要原因是这个工程只能在这个目录下才能编译成功,换一个目录,添加的库文件就找不到了,不能编译了。

好在青风电子也提供了一个蓝牙模板程序,这个模板程序主要修改点有两点:
1. 把工程依赖的文件全都拷贝到工程的目录中,编译不会出现问题。
2. 根据青云蓝牙开发板做了一下适配(主要是led灯)。

后面开发蓝牙应用可以基于这个模板程序。

当然这个工程编译是没有问题的,但是也需要稍微配置一下JLink,不知道是不是跟Keil版本有关系,当然这个都是小问题。

注意,如果自己要建一个蓝牙应用开发的工程,Keil中有个地方需要特别配置一下:

nRF8122QFAA这个芯片的Rom大小是256K,Ram大小是16K。而我们自己开发的蓝牙应用同蓝牙协议栈是分开存储,分开下载的,协议栈是由Nordic开发的,并且不开源的,所以在开发蓝牙应用时需要为协议栈预留80K的Rom、8K的Ram,留给蓝牙应用这边只有176K的Ram、8K的Ram,所以这里配置Rom的基地址是0x14000,大小是0x2B000(为什么不是0x2C000),Ram基地址是0x20002000,大小是0x2000。

后面再讲解这个蓝牙模板程序。