文件名称:CC3000 user guide
文件大小:780KB
文件格式:PDF
更新时间:2016-06-13 09:12:20
wifi
CC3000 Host Programming Guide Return to CC3000 Main page This wiki addresses the software package that is provided by TI for an external microcontroller that acts as a host processor. The software package implements the CC3000 host driver and a demonstration application. Assumptions Familiarity with: • Standard SPI operation • Quick Start application CC3000 Host Driver Architecture Overview Overview The CC3000 device is designed to be a WLAN peripheral, which is simple to integrate and easy to use. For this purpose, the CC3000 integrates a fully-featured 802.11 protocol stack, personal security supplicant for 802.11, and an internet protocol (IP) networking stack. The host driver is designed to enable access to the CC3000 hardware with minimal burden to the host platform. The key properties of the CC3000's host driver are: • Modular: allows easy configuration and adjustment of the host driver content to meet required functionality and capabilities while minimizing its footprint • Readable: the source code is well documented. • Portable: minimal platform and operating system (OS) dependencies System Block Diagram The figure below shows the CC3000 host driver modules Description The system has two demarcation lines: • CC3000 user application programming interfaces (APIs) • Transport layer APIs This document focuses on the user APIs and architecture and the serial peripheral interface (SPI). The CC3000 user APIs define interfaces (I/Fs) exposed to the end user that allow interaction with the CC3000 device. Interaction with the device occurs over an SPI transport layer according to the device-specific APIs. APIs reside on top of an encapsulation layer called the host controlled interface (HCI). APIs are defined in a manner that is agnostic to the SPI layer. CC3000 Host Programming Guide 2 The user APIs are organized into four silos to reflect the four different entities that correspond within the device (see figure below). These are: • WLAN APIs, which interact with the underlying entity that is responsible for 802.11 protocol implementation • Network stacks APIs, which interact with the embedded network stack. These APIs comply with the well-known Berkeley socket APIs and are easy to use. • Embedded network application APIs, which interact with the embedded networking application delivered as a complementary part of the on-chip content. These include basic networking applications that the user can leverage (for example, ping utility and DNS). • Nonvolatile memory (NVMEM) APIs, which configure the external CC3000 device EEPROM, where most of the configuration is store. Each