SimpleLink™ CC32xx SDK 2.30.00.05 Release Notes
Introduction
The SimpleLink™ Wi-Fi® CC32xx device is a single-chip microcontroller (MCU) with built-in Wi-Fi connectivity, created for the Internet of Things (IoT). The CC32xx device is a wireless MCU that integrates a high-performance ARM® Cortex®-M4 MCU, allowing customers to develop an entire application with a single IC.
The Texas Instruments royalty-free CC32xx Embedded Wi-Fi foundation software development kit (SDK) is a complete software platform for developing Wi-Fi applications. It is based on the CC3220, a complete Wi-Fi SoC (System-on-Chip) solution. The CC32xx family of devices comes in following variants:
- CC3220 – Base variant
- CC3220S – CC3220 and MCU security
- CC3220SF – CC3220S and internal flash
The SimpleLink™ Wi-Fi® CC3220 SDK contains drivers, libraries, example code for the CC3220 programmable MCU and documentation needed to use the solution. It also contains the flash programmer, a command line tool for flashing software, configuring network and software parameters (SSID, access point channel, network profile, etc.), system files, and user files (certificates, web pages, etc). This SDK can be used with TI’s SimpleLink Wi-Fi CC3220 LaunchPads.
The CC32xx solution combines a 2.4-GHz Wi-Fi PHY/MAC and TCP/IP networking engine with a microcontroller, up to 256-kB on-chip RAM, 1-MB internal flash (for CC32xx SF), and a comprehensive range of peripherals.
The SimpleLink™ MCU portfolio offers a single development environment that delivers flexible hardware, software and tool options for customers developing wired and wireless applications. With 100 percent code reuse across host MCUs, Wi-Fi™, Bluetooth® low energy, Sub-1GHz devices and more, choose the MCU or connectivity standard that fits your design. A one-time investment with the SimpleLink software development kit (SDK) allows you to reuse often, opening the door to create unlimited applications. For more information, visit www.ti.com/simplelink.
This is version 2_30_00_05 of the SimpleLink CC32xx SDK.
Documentation
What’s New
- SimpleLink™ host driver 3.0.1.41 enhancements
- SimpleLink host driver uses POSIX for all OS services
- Lock
- Signal
- Msg Queue
- Thread
- Application Layer Protocol Name - support generic input
- The Simplelink device supports the ALPN (Application Layer Protocol Name) protocol during an SSL/TLS connection using a fixed list of known protocols (http1.1, http2 etc.). This can be enabled using the sl_SetSockOpt command with SL_SO_SECURE_ALPN option, giving a bit mask of the requested protocols enumerations
- This release adds the ability to set a generic protocol name to the client hello ALPN extension during SSL/TLS connection. This provides the ability to negotiate proprietary application protocols during the SSL connection
- The protocol name can be set using the sl_SetSockOpt API with the new SL_SO_SECURE_ALPN_GENERAL and a char * string with the protocol name. In order to retrieve the negotiated protocol after successful connection, an sl_GetSockOpt with the above options needs to be issued. A length 0 indicates that the protocol was not picked
- For further information regarding ALPN please refer to the SimpleLink Host Driver documentation
- SimpleLink host driver uses POSIX for all OS services
- Vendor Certificate Catalog
- Every secured file that uses a signature and chain of trust to verify the authenticity of that file, must have its root CA in the device certificate catalog
- The official certificate catalog is signed by TI and cannot be changed
- The Vendor Certificate Catalog feature provides the ability for a vendor chain of trust and certificate catalog which are not signed by TI. This is achieved by doing the following:
- User creates a chain of trust
- Uniflash w/Image Creator is used to create a certificate catalog that holds it’s proprietary root CA list (can have up to 100 root CAs)
- User creates a private key and a certificate that holds the public key
- User creates a file called OTP that holds the public key from step 3 with Uniflash w/Image Creator and self signs it with that private key
- User signs the certificate catalog with the private key from step 3
- Uniflash w/Image Creator is used to program the OTP file to the device One Time Programming section of the attached serial flash
- Uniflash w/Image Creator is used to program the certificate catalog to the device (it will no longer be verified with the TI keys, but with the keys from step 3
User can sign files and the mcu image with the chain of trust from step 1 as the programmed catalog holds its root CA
Notes:
- All the root CA used for SSL handshake needs to be also included in the certificate catalog when created
- Please refer to document - swru547 for a full guide of the feature
- The feature currently works with the default CC3220 serial flash - MX25R3235FM1IH0
- Once the OTP section is programmed, it cannot be re-written or erased
- The feature requires SP 3.9.xx_2.0.0.0_2.2.0.6.bin (provided with this SDK)
- Once version greater than 3.9.x.x is used and the OTP section exists, the device cannot be downgraded to and older version of SP
- Sysconfig 1.0
- SysConfig is a data driven code generation tool. It is packaged and distributed as two separately install-able parts: the core tool, and one or more SDKs. The core tool includes the hardware database which consists of board, device, and SOC information including peripheral and pin data. SDKs provide software libraries, meta data, and templates to drive the code generation
- SysConfig provides an extensible meta content driven framework for configuration and code generation
- Added sysconfig_preview folder that contains all examples with sysconfig support
- For more information, see the README file included in the syscfg directory as well as the Wiki page located here
- Bug fixes
- Please refer to the Documentation Overview for the details about each SDK component.
- SimpleLink Platform level changes are available in SimpleLink Core SDK Release Notes
- SDK Change Log provides a list of all SDK component changes
Updating service-pack
It is recommended to update the service pack to the latest available, which can be found in the following path:
CC3220 Service pack - <SDK_INSTALL_DIR>/tools/cc32xx_tools/servicepack-cc3x20
CC3220 NWP Service Pack Release Notes.
For more information please follow the instructions in the Quick start Guide.
Upgrade and Compatibility Information
CC31xx SimpleLink Wi-Fi Network Processor and CC32xx SimpleLink Wireless MCU are the second generation devices in the SimpleLink Wi-Fi and Internet-of-Things family. The Migration Guide intends to guide users who already have experience with the CC31xx/CC32xx devices and need to port their software to the new CC31xx/CC32xx family of devices. The document describes the new SDK structure and highlights the software components that require attention including host driver, OS layers, board drivers, and external libraries.
Operating Systems Support
- Windows 7, Windows 8, Windows 10
- Ubuntu
- Mac OS X
Dependencies
This release was validated with the following components:
- Code Composer Studio 8.2.0
- ARM 18.1.3.LTS
- XDCTools 3.50.08.24
- GNU Code Generation Tools
- IAR Code Generation Tools
Device Support
- CC3220R: use CC3220S examples from CC3220S_LAUNCHXL folders (mcu image security steps not needed)
- CC3220S: use CC3220S examples from CC3220S_LAUNCHXL folders
- CC3220SF: use CC3220S examples from CC3220_LAUNCHXL folders
Known Issues
ID | Summary |
---|---|
CC3X20SDK-1423 | AT Commands: MDNS service is not advertised when flag is IPV6_IPV4_ONLY used, need to add IS_UNIQUE_BIT flag in order to make it advertise |
CC3X20SDK-1406 | SlNetIfWifi_getConnectionStatusI calles sl_wlanget with Size = 0 |
CC3X20SDK-601 | Rarely the MQTT Server internal bridging does not work from server to client |
CC3X20SDK-156 | Rarely the progress bar get stuck during OTA procedure |
CC3X20SDK-116 | Progress bar on Windows FireFox browser doesn't update process status on the fly |
Versioning
This product’s version follows a version format, M.mm.pp.bb, where M is a single digit Major number, mm is 2 digit minor number, pp is a 2 digit patch number, and b is an unrestricted set of digits used as an incrementing build counter.
M - Is incremented for the first release every year. 1 -> 2017, 2 -> 2018, and so on..
mm - indicates the specific quarter of the year the SDK was released. 10 -> Q1; 20 -> Q2; 30 -> Q3; 40 -> Q4