目录
开发环境搭建
首先安装ADK4.1(由于我当前使用的是adk4.1,可根据自己的需要安装其他版本)和InstallBlueSuite2.6(csr系列芯片的工具集)。ADK4.1安装完成之后,目录结构如下图所示:
Apps放的是应用层的代码和工程,包括sink和source
Doc目录放的是开发文档,有pdf和html的链接
Firmware目录存放的是版本和pskey的介绍文档
Kalimba里面放的是dsp相关的工程
Src里面存放的是库相关的代码
Tools里面存放的是配置相关的工具,比如ADKConfigTool等
Xide里面存放的是开发集成工具xide
打开一个sink工程
在xide->bin文件夹下面,打开xide.exe(注:调试过程中发现,如果是从安装的adk4.1之后的桌面图标中打开,编译的时候会有些莫名错误,建议按照上述方法打开工程),如下图,然后选择打开一个已经存在的工程
这里以sink-speaker工程为例,选择apps->sink->speaker.xiw打开工程,打开之后可以进行属性配置,默认不修改也可以跑起来。
属性配置页如下图:
工程配置
有些芯片级与用户级的配置项,是不会直接定义在sdk中的,需要外部导入,如果没有这些配置,芯片无法正常启动。csr提供了一些配置文件,以sink工程为例,这些配置文件在apps->sink->configurations目录下,以.psr为文件名后缀,用户可根据自己的需要修改,然后通过PSTool工具,导入芯片中。
根据不同的芯片和不用的工程用途,也需要使用不同的配置文件。这里我用的是csr8670芯片,sink工程,speaker应用,所以选择,Speaker_with_TWS_CNS10001v4.psr和sink_system_csr8670.psr,如果不知道如何选择可以参考doc->support->adkdocs->vm ->application目录下的 ,CS-332640-UG.pdf和CS-236868-UG.pdf文档。
默认情况下,在烧录的过程中,这些配置文件是不是自动载入到芯片中,下面我提供两种方法,将这些配置载入到芯片中。
利用PSTool.exe工具
打开CSR BlueSuite2.6工具集,打开PSTool.exe(注:此时一定要保证板子与pc可以正常通讯,我这里使用的spi接口,连接接的时候根据自己实际的板子选择对应的通讯接口),选择file->Merge,然后选择上述的两个psr文件,进行merge,完了之后reset一下即可。
与固件一起烧录到芯片中
将下图中的两个文件拷贝到sink目录下,修改sink_system_csr8670.psr为sink.psr,修改Speaker_with_CNS10001v4.psr为speaker.psr,并将两个文件拷贝到sink目录下
修改makefile文件,现在以speaker工程为例,headset工程类似。在sink目录下打开speaker.mak文件,在文件末尾加上如下描述
keys ::
-$(pscli) $(SPI) -m sink.psr
完成之后保存退出,由于speaker.psr默认会载入,所以不用添加speaker的描述,至此,在烧录时即可将psr一起烧录到flash中。
编译及烧录
在xide中点击编译按钮编译,应该是不会有报错的,连接开发板,然后下载到开发板,首次烧录,最好用CSR BlueSuite2.6->BlueFlash工具擦除一下,然后再再xide中进行下载。下载完成之后,如果三个led灯常亮,则重新点击下载按钮再下载一次。
试用
此时,长按VREG(MFB)按键,即可启动开发板,led0与led1交替闪烁,即代表蓝牙在等待配对状态。用手机搜索可以找到csr-bc7的设备,连接即可开始使用蓝牙功能
开启在线调试功能
打开工程,在sink_debug.h中将下图两个宏末尾的x去掉,就可以开启main.c中的log,如果需要其他模块的调试信息,则可以把对应宏末尾的x去掉,但是最好不要全部打开,这样会导致目标太大而编译不通过,如下图所示:
相关资料,我已放到百度网盘的共享链接中,需要的请到我的博客<csr867x入门笔记(序)>最下面的网盘链接中下载!