Texas Instruments CC3200
This guide explains how to build a Kaa C SDK for Texas Instruments CC3200 LaunchPad (hereinafter, CC3200) and install Kaa applications on it.
Prerequisites
Prior to building Kaa C SDK for the CC3200 platform, install the prerequisites for your operating system.
NOTE: This guide is verified against:
- Host OS: Ubuntu 14.04 LTS Desktop 64-bit
- Device: TI CC3200 LaunchPad
- SDK version: CC3200 SDK v1.2.0 release
-
Install the GNU ARM toolchain gcc-arm-none-eabi.
wget https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q2-update/+download/gcc-arm-none-eabi-4_9-2015q2-20150609-linux.tar.bz2 tar -xjf gcc-arm-none-eabi-4_9-2015q2-20150609-linux.tar.bz2 sudo mkdir /opt/kaa sudo chown <username>:<usergroup> /opt/kaa mv gcc-arm-none-eabi-4_9-2015q2 /opt/kaa/gcc-arm-none-eabi
-
Install and configure OpenOCD required for running and debugging applications.
sudo apt-get install openocd
-
Add a rule file.
cd /etc/udev/rules.d/ sudo nano 98-usbftdi.rules
Write the following code into the added rule file and then save the file.
SUBSYSTEM=="usb", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="c32a", MODE="0660", GROUP="dialout", RUN+="/sbin/modprobe ftdi-sio" RUN+="/bin/sh -c '/bin/echo 0451 c32a > /sys/bus/usb-serial/drivers/ftdi_sio/new_id'"
-
Reload the rules.
sudo udevadm control --reload-rules
-
To use OpenOCD as a regular user, add yourself to the dialout group.
sudo usermod -a -G dialout <username>
Log out and log in to finish the process.
NOTE: The board must be enumerated as
/dev/ttyUSB{0,1}
. Use ttyUSB1 for UART. -
Install Wine.
sudo apt-get install wine
-
Download and unpack CC3200 SDK. Change the configuration file for debug interface.
In the
/opt/kaa/cc3200-sdk/tools/gcc_scripts/cc3200.cfg
file, replace the following lines:interface ft2232 ft2232_layout luminary_icdi ft2232_device_desc "USB <-> JTAG/SWD" ft2232_vid_pid 0x0451 0xc32a
with the ones below:
interface ftdi ftdi_device_desc "USB <-> JTAG/SWD" ftdi_vid_pid 0x0451 0xc32a ftdi_layout_init 0x00a8 0x00eb ftdi_layout_signal nSRST -noe 0x0020
-
Edit GDB configuration.
sed -i 's#-f cc3200.cfg#-f /opt/kaa/cc3200-sdk/tools/gcc_scripts/cc3200.cfg#g' /opt/kaa/cc3200-sdk/tools/gcc_scripts/gdbinit
- Install Cygwin with the following additional packages:
Archive/unzip
Archive/zip
Devel/autoconf
Devel/automake
Devel/libtool
Devel/subversion
(Note: if using TortoiseSVN/Windows7, skip this file)Devel/make
Devel/gcc-core
Devel/gcc-g++
Devel/mingw-gcc-core
Devel/mingw-gcc-g++
Devel/mingw-runtime
Refer to SO question page for details how to install packages on Cygwin.
-
Install the GNU ARM toolchain gcc-arm-none-eabi to the
opt\kaa
directory under the Cygwin root folder (default isC:\cygwin
). -
Install CC3200 SDK to the
opt\kaa
directory (if it doesn’t exist, create it) under the Cygwin root folder. - Install CMake and add its bin directory to the system environment.
To enable debugging for your CC3200 applications, you will also need to build OpenOCD as described in the official CC3200-Getting_Started_Guide (item 3.3.3).
Build C SDK
Before creating applications based on Kaa C SDK, download the C SDK from the Administration UI and extract the archive.
Change directory to where SDK was unpacked and run:
mkdir -p build
cd build
cmake -DKAA_PLATFORM=cc32xx -DCMAKE_TOOLCHAIN_FILE=../toolchains/cc32xx.cmake -DBUILD_TESTING=OFF ..
make
Refer to C SDK Linux page for more details.
Open the Cygwin terminal and run:
mkdir -p build
cd build
cmake.exe -G "Unix Makefiles" -DKAA_PLATFORM=cc32xx -DCC32XX_TOOLCHAIN_PATH=c:/cygwin/opt/kaa -DCMAKE_TOOLCHAIN_FILE=../toolchains/cc32xx.cmake -DBUILD_TESTING=OFF ..
make
Build Kaa application
To build and run your Kaa application on the CC3200 board, you can download one of the Kaa demo applications from Kaa Sandbox. It is recommended that you start with the Configuration Demo application.
Connect CC3200 LaunchPad to your PC using a micro-USB connector and run the following commands:
tar -xzf configuration_demo.tar.gz
cd CConfigurationDemo
tar -zxf libs/kaa/kaa-* -C libs/kaa
mkdir -p build
cd build
cmake -DKAA_PLATFORM=cc32xx -DCMAKE_TOOLCHAIN_FILE=../libs/kaa/toolchains/cc32xx.cmake ..
To launch the application, run:
/opt/kaa/gcc-arm-none-eabi/bin/arm-none-eabi-gdb -x /opt/kaa/cc3200-sdk/tools/gcc_scripts/gdbinit build/demo_client.afx
NOTE: If you want to see the debug output in the terminal, make sure to connect to
/dev/ttyUSB{0,1}.
Flashing
To flash the application to CC3200:
-
Connect the jumpers on your CC3200 board as follows.
-
Install UniFlash for Linux or Windows.
NOTE: UniFlash v3.4.1 or later is needed. Starting from v4.0.0 UniFlash doesn’t support CC32XX/CC31XX.
-
If you are using Linux, allow execution of the installation file.
chmod +x uniflash_setup_3.4.1.*.bin ./uniflash_setup_3.4.1.*.bin
-
To run the application, remove SOP2 and J8 jumpers, then connect J2 and J3 jumpers.
For more information, see UniFlash Quick Start Guide.