由于项目需要,学习了一下蓝牙4.0的协议栈开发,其实也就是TI公司做好的协议栈的基础上进行修改,不是太难,现在资料也很多。
我是个新手,所以对于新手来说,我的经验应该很有帮助,但文章细节不全,最好是查阅了网上其他资料,有个基础再看,否则你看不懂吧。
先来开发环境的搭建吧。
(1)cc2541芯片外围电路
这个TI官方,或者网上都能百度到。我是直接购买别人的cc2541核心板,覆盖别人的固件来开发的,网上基本所有厂商的蓝牙4.0模块,只要基于TI2541,外围电路应该都是一样的,也就是说:硬件各个厂商都一样,唯一的不同只是各个厂商的协议栈不同。所有在网上随便购买一款核心板就行。建议(亲测可用):jdy-08,bt-05
(2)开发所需硬件
你需要购买cc debugger,山寨就行,电路都是按照TI官方的做的,没区别。
usb转串口模块
(3)开发所需软件环境
TI的官方协议栈是基于IAR的(非keil,不过编辑器嘛,用着都差不多,基本功能都能实现)。
需要注意:协议栈和IAR是有对应关系的,你需要根据你的协议栈下载安装你的IAR。
我的协议栈是BLE-CC254x-1.4.0.exe,IAR是for 8051 8.20。
烧写程序需要:TI公司的SmartRF Flash Programmer,下载版本V1就好,尽量不要下载V2,网上它的使用资料较少,毕竟只要能用就行。
(4)硬件线路连接
********************************************************这是重点*****************************************************
1.cc2541引脚分布图
引脚如图咯,我用的是带底板的,这里面DD和DC是cc2541模块和cc debugger连接的接口,RX和TX当然是usart0串口了,cc2541有两个串口(具体参考芯片datasheet,一般这两个口作为串口用的多)
2.cc debugger的接口
上图是cc debugger的引脚分别,主要分清楚引脚的分布,不要插错了就好。看到我画的大红圈了吗,代表这种10针插口的卡口。
3.他们之间的连接
首先,利用usb转串口模块给芯片供电(GND和VCC),同时把RX和TX脚接好(我想开发协议栈应该有单片机的基础吧)。
其次,通过下图连接cc debugger.
这里采用的是芯片单独供电的方式,首先把cc debugger的GND,DC,DD和RESET与芯片那边连好,然后cc debugger的2引脚接3.3V电源,这是电压检测引脚,电平不稳则cc debugger检测不到cc2541芯片。
最后都插到电脑上,cc debugger亮绿灯则可以正常烧录,cc debugger的reset按键也可以复位cc2541芯片(只要连接好了)
4.Flash Programmer烧写
5.IAR编译方式
IAR该怎么配置什么的,参考网上其他资源吧。