购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第二章

系统开发环境和软件开发套件

2.1 集成开发环境CCS

CCS(Code Composer Studio)是一种支持TI公司微控制器和嵌入式处理器系列产品的集成开发环境,由一系列用于开发和调试嵌入式应用的工具组成,包括C/C++编译器、源代码编辑器、项目编译环境、调试器、分析器,以及许多其他组件和工具。CCS提供了直观的单个用户界面,可引导用户高效地完成应用程序开发流程的每个步骤。CCS综合了Eclipse软件框架的优势,以及TI高级嵌入式调试功能,从而为嵌入式开发人员提供一种功能丰富的开发环境。本书中关于CC3200 的代码均采用CCS集成开发环境进行开发。采用V9.1.0 版本的CCS集成开发环境如图 2.1。

图 2.1 CCS集成开发环境

关于在CCS集成开发环境下使用CC3200-LAUNCHXL开发板平台,请参见文档CC3200 SimpleLink Wi-Fi and IoT Solution With MCU LaunchPad Getting Started Guide 【5】

2.2 编程软件CCS UniFlash

CCS UniFlash是一个独立的工具,用于对TI系列处理器片上闪存以及用于Sitara处理器的板载闪存进行编程。UniFlash具有GUI,命令行和脚本界面。采用V3.4.1 版本的UniFlash如图2.2。

图 2.2 编程软件CCS UniFlash V3.4.1

2.3 软件开发套件SDK

CC3200 SimpleLink软件开发套件(Software Development Kit , SDK)是驱动程序、堆栈和代码示例的完整集合,使工程师能够采用与Wi-Fi网络连接的处理器或控制器开发创新和独特的应用程序 【6】 。SDK通过将基本软件组件和易于使用的示例打包到一个全面的软件包中,提供了全面而一致的应用体验。CC3200 SDK给用户或开发者创建应用提供了一个统一的软件开发平台。CC3200 SDK提供了快速实现应用开发的坚实基础,设计了采用工业标准的应用程序接口、驱动和操作系统,简化了在行业广泛连接的MCU产品组合间的移植,提供了基于客户需求和连接标准要求的产品组合的灵活性。CC3200 SDK集成在集成开发环境中,实现了更易于访问的高级调试功能。与CCS和UniFlash相同,CC3200 软件开发套件也需要从TI官方网址下载,然后在本地环境中安装在合适目录。

CC3200 SDK使用户专注于应用,无须创建协议栈或开发底层驱动。CC3200 基础软件开发套件有两个主要的构建模块:Wi-Fi网络库提供连接功能的应用程序接口(ApplicationProgramming Interface, API),外围驱动库提供访问MCU外围设备的应用程序接口API。CC3200 SDK外围驱动库API提供CC3200 专用硬件驱动功能,实现对各种外围设备更轻便、功能丰富的访问,例如ADC、SPI、PWM和GPIO等。有关API编程信息,请参见CC3200Peripheral Driver Library User's Guide 【9】 和CC3200 SimpleLink Driver Programmers Guide 【10】

驱动建立在硬件抽象层之上,提供设备的全功能访问。借助于驱动对硬件抽象层的完全操作,用户可以通过硬件抽象层或采用寄存器级编程访问微处理器的方式实现应用的进一步优化。操作系统内核提供例如定时、调度等实时、多任务服务。CC3200 Wi-Fi网络模块组成如图 2.3。

图 2.3 CC3200 Wi-Fi网络模块组成

SimpleLink SDK是POSIX兼容的,预装了TI-RTOS,支持其他可选的RTOS内核,例如FreeRTOS。RTOS内核运行在硬件抽象层和芯片外围的一系列功能驱动之上。开发者根据需求可以优化应用的功耗、性能、以及代码量。POSIX是实现操作系统间兼容的IEEE工业标准,在典型应用中需要少于 2KB代码。POSIX层抽象了用于应用的RTOS内核功能。POSIX层实现了代码和应用在不同操作系统内容间的移植和重复使用。POSIX兼容性还允许用户连接SimpleLink SDK,以增加对其操作系统内核的支持。POSIX层的使用是可选的。

中间件在驱动之上增加系统功能。通信协议栈和图形库是中间件的两个案例。CC3200SimpleLink SDK包含了Wi-Fi中间件,更快更方便地实现了应用中Wi-Fi功能集成。

硬件抽象层(Hardware Abstraction Layer, HAL)由抽象了读写硬件寄存器的C程序函数组成。驱动和操作系统内核内置采用HAL操作硬件。HAL建立在特定于设备的头文件之上,它遵循ARM CMSIS标准,简化了对寄存器级别以外的设备模块的访问。通过使用DriverLib HAL访问,开发人员可以剥离驱动层,以更好地控制其应用程序,或增强用于外围设备和特定设备优化的软件。

SDK插件实现Wi-Fi网络设备功能扩展,例如,用于互连的蓝牙插件和Wi-Fi插件,以及传感器、执行器、显示等等。采用这些模块软件,可以快速高效地建立复杂的系统。

SimpleLink框架提供一系列功能,包括通过无线网络配置进行的基本设备管理、BSD套接字服务等。为了更好地应用该框架,将这些功能分割到各个独立的模块,每个模块分布表示SimpleLink框架不同的功能或能力,如表 2.1。

表 2.1 CC3200 Wi-Fi网络模块及功能

CC3200 ROM包含外围设备驱动库(Peripheral Driver Library, DriverLib)和引导加载程序。应用程序可以使用DriverLib以减少闪存占用空间,从而可以将闪存(或RAM)用于其他目的(例如应用程序中的其他功能)。DriverLib支持如下模块的API:ADC、AES/DES/SHA、摄像头、CRC、闪存、GPIO、I2C、I2S、中断、PRCM、SD Host、SPI、Systick、UART、µDMA、WDT等。

CC3200 SDK提供了CC3200 嵌入式处理器的驱动程序,40 多个通用的示例和基于RTOS内核的示例,以及对应的文档和项目文件。SDK中的所有示例应用均可应用于采用CCS集成开发环境的ARM Cortex™-M4 处理器平台。参考应用时软件开发套件的一部分,用于示例CC3200LAUNCHXL开发板的关键特性及其外围设备。CC3200 软件开发套件中的应用示例可分为片上网络示例、Wi-Fi示例和处理器外围设备示例。片上网络示例包括基于Wi-Fi网络的邮件系统、从网络获取时间和天气的信息中心、基于Wi-Fi的HTTP服务器及网页、基于XMPP的及时通信客户端、无线串行通信等;Wi-Fi示例包括Wi-Fi配置、站点及AP模式、TCP/UDP通信、安全配置(WPA2 企业/个人,TLS/SSL)、电压管理(深度睡眠、休眠等);处理器外围设备示例包括外围摄像头、I2S音频、SDMMC、模数转换、SPI、UART、I2C、PWM等等。

关于软件开发的相关内容,请参见软件开发套件安装目录内的编程指导、驱动库用户手册,以及相关文档、参考书籍 【15】 、案例、驱动以及源代码等。 cOF/Qo07ynoge56xehHOzb2nKMDt33seliuSfEMy1fT+hymyPtRfh+lgScZI5YLL

点击中间区域
呼出菜单
上一章
目录
下一章
×