【CC2640】CC2640软件开发从入门到专家的注意点

来源:互联网 发布:网络消费者品牌形象 编辑:程序博客网 时间:2024/05/19 23:14

CC2640和CC2640R2F的软件在内部的ROM和内部Flash怎么存放的?

软件由存放ROM的代码和基于Flash的代码两部分组成。

CC2640上,ROM的部分存放TI-RTOS内核和部分的BLE协议栈,而在CC2640R2F上更多的BLE协议栈被放进了ROM,这些放到ROM的资源是不需要占用Flash空间,因此CC2640R2F提供了更大的Flash空间供上层应用程序使用。

Flash的部分,上层应用程序&BLE Porfiles&TI RTOS都是以源码的方式提供,BLE Protocal协议栈以库的方式提供,通过API函数接口访问。

可以使用CCS或者IAR作为编译器来开发或者调试软件,在编译的时候,应用程序和BLE协议栈是分开的编译的,这样做的好处是在无线升级软件的时候,可以根据需要只升级应用程序的部分或者同时升级应用程序和协议栈,从而提高了无线升级的效率,降低整个应用系统的使用功耗。

TI-RTOS介绍:

协议栈和应用程序都基于TI-RTOS开发,是一个实时操作系统,支持抢占式的多线程,具有确定性的调度机制,使用专门为低功耗定制的内核,可以0延时配置和响应中断,包括各种定时器、软件层的时钟(精度可以达到为妙级别)。同时TI-RTOS集成了非常多软件功能模块,比如用于不同任务之间时序调度的信号量,外设接口的驱动程序,以及对电源功耗管理的模块。上层应用程序可以直接调用这些模块的相对应的API函数接口,从而简单快速的完成对应的操作,而不需要另外再重新编程,特别是功耗管理模块已经在BLE协议栈集成,上层应用程序只需要完成自己的应用需求开发,系统会自动根据软件应用情况控制整个设备运行在能够满足应用的最低功耗状态。

在软件开发历程介绍:

在软件开发方面,TI提供了非常丰富的例程以及多样的上手方式,不同的开发方式,涵盖了从简单版到进阶版的所有阶段。

首先最简单的CCSCloud+ProjectZero的方式,不需要安装任何软件开发包,只需要一块LaunchPad和一块连接到互联网的浏览器,在浏览器中打开云服务器的例程,就可以在线编译或者烧录你的LaunchPad,对于需要的例程也可以从云服务器下载到本地。

进阶版的SimpleLink Academy是一个学习例程的非常好的工具,在这个工具基于几个典型的例程分别完成不同的功能和任务。工具列出完成不同功能需要做出的代码的修改,并解释为什么要做这样的修改以及不同的语句的作用,最后还有互动问答以及帮助理解。在整个StepByStep的教学过程中,用户可以学到TI-RTOS自定义BLE服务开发、BLE网络处理器、SensorController等等BLE相关的知识。

最难模式,直接使用BLE协议栈开发包和Github,协议栈开发包包含了对SDK定义好的一些通用的BLEProfile使用示例,同时也包含很多TI自定义Profile的的例程,可以很容易的基于这些例程进行修改或者搭建自己的BLE设备应用程序,同时GitHubTI:github.com/ti-simplelink 还提供了一些不断添加在新的开发包上,包含一些新的例程,比如:主从设备的一体化,网络处理器的应用,从串口打印应用调试信息等,都是最先从Github上发布的;

CCSCloud+ProjectZero使用介绍:

SimpleLink Academy使用介绍:

这是一个非常棒的学习例程的工具,这个工具可以通过在线的方法访问,也可以下载本地安装文件,安装之后,我们就可以CCS中直接访问到。SimpleLink Academy中的例子和任务是根据CC2640/CC2640R2软件的发展不断更新,今天我们同样在Academy中找到基于ProjectZero的教程。比如打开SimpleLink Academy,在BLE的最基础教程中,我们可以知道ProjectZero如何使用,如何建立自己的环境,需要什么样的开发板,需要下载什么样的软件包,以及有介绍使用CCSCloud的方法,然后编译发现不同的Services如何使用Notification,到最后如何自定义自己的应用程序。

除了基于BLE协议栈的教程,SimpleLink Academy同样也提供了对TI-RTOS的课程,通过课程可以了解到可以了解TI-RTOS几个重要的组成部分,例如:任务、信号量、中断处理流程等。

在完成了基础教程之后,SimpleLink Academy又提供了进阶版的任务,例如如何使用SIG组织发布的使用图形界面的开发工具Bluetooth Developer Studio(BDS)在定义和开发自己的BLE协议;又例如如何添加红外信号的驱动;这些进阶的教程,可以帮助你一步步学习深入了解更多的平台知识。

在完成了进阶版的教程之后,相信可以满足大多数的应用开发的需要。但是SimpleLink Academy还开始了提高班,在提高班里,你可以学习到更多工具的使用,帮助你完成一些定制化和一些有差异性的功能的开发,比如如何使用SensorController进一步优化系统的功耗;又比如如何把CC2640只作为BLE的网络传输芯片,外部添加一个MCU来完成更加复杂的应用需求。

TI的PC端的调试工具的介绍:

TI提供了一些PC端的调试工具帮助自己调试程序。BToolBLE Device Monitor都可以在PC端模拟一个BLE centre设备。

BTool可以测试所有可能的BLE操作,更倾向于对BLE协议栈的调试

BLE Device Monitor提供更加直观的图形化界面,主要偏向于自定义BLE服务和属性的调试

SmartRF Protocol PacketSniffer是一个分析空中数据包的工具

SmartRF Flash Programmer则是烧录工具

0 0
原创粉丝点击