Cc3200 Sdk For Mac

Cc3200 Sdk For Mac Rating: 9,1/10 8286 votes
Cc3200 Sdk For Mac

Texas Instuments offers an evaluation kit for it's Single-Chip Wireless MCU CC3200: CC3200-LaunchXL

Citing from TI's Description:

The SimpleLink™ Wi-Fi® CC3200 LaunchPad evaluation kit is a development platform for the CC3200 wireless microcontroller (MCU), the industry’s first single-chip programmable MCU with built-in Wi-Fi connectivity. The board features on-board emulation using FTDI device.

Sdk

The HTTP Web Client is used to perform HTTP GET and POST requests, the current version that comes with CC3200 SDK 1.1.0 needs to be updated with the ones found in the Resources folder of this repository. Now to the software issues. I have two computers: a Mac and a PC. I only have Energia on my Mac, but my PC has the following: IAR Embedded Workbench for ARM 7.40, Code Composer Studio 6.1.0, and CCS UniFlash - CC3xxx edition 3.2.0. CCS UniFlash is the only program on my PC that is able to connect to the CC3200 and I can put it into AP mode.

This LaunchPad comes with driver support and a software development kit (SDK) with 40+ applications for Wi-Fi protocols, internet applications, and MCU peripheral examples.

Android

The CC3200 MCU features a 802.11 b/g/n Station and Access Point, roles with fully integrated radio, baseband, and MAC Standards-based Wi-Fi solution Single-chip Wi-Fi MCU: Wi-Fi network processor + ARM® Cortex®-M4 MCU integrated into one chip including RF reference design.

This page will document my experiences with the CC3200-LaunchXL using Linux as development platform.

Index

Cc3200 Sdk For Mac Installer

Getting the SDK from Texas Instruments

For downloading the SimpleLink Wi-Fi CC3200 Software Development Kit (SDK) you need a 'myTI' account which you may create for free.

The SDK is a Windows executable which simply installs all the files needed for development on a Windows platform. To be able to use the files on Linux you may either run the SDK installer on a Windows box and copy the directory tree to your Linux system, or you may run the installer with wine directly under Linux.

Running the installer on Windows creates a directory tree under C:tiCC3200SDK_1.0.0.

As stated above, you may run the SDK installer under Linux with wine:

Running the installer with wine creates a directory tree under ~/.wine/drive_c/ti/CC3200SDK_1.0.0.
I symlinked ~/.wine/drive_c/ti/CC3200SDK_1.0.0/cc3200-sdk to ~/cc3200-sdk and used this in the examples below.

The CC3200 Software Development Kit consists of a collection of hardware and software documenting pdfs, a collection of example program sources, the sources of the hardware driver library/application development framework and some tools to support development with serveral IDEs and tool chains.
Of course the GNU toolchain (gcc) is the one interesting me.

Configuring the LaunchXL JTAG Debug Interface

The debug interface is provided by an FTDI FT2232 chip with custom vendor and product IDs. To make it accessible for the Linux system, there is an udev rule (from here) needed:
/etc/udev/rules.d/99-tiftdi.rules

(in kernel versions newer than 3.12 this doesn't work anymore, see here)

With the ftdi-sio module loaded (by the above udev rule or otherwise), I get two /dev/ttyUSBx devices when the Launchpad is plugged in.

In my setup, OpenOCD seems to write access /dev/bus/usb/<bus_num>/<node_num> which is owned by root:root. This ownership is not changed by a GROUP:='dialout' statement in the above udev rule.

So I had to add an additional rule to change group ownership of this device file.
My /etc/udev/rules.d/99-tiftdi.rules looks like this:

/usr/local/ftdi_chown.sh is a tiny script getting bus id and node id from udev via environment and changes the group ownership of the respective device file.

Running gdb/openocd as described below will remove the first of the two /dev/ttyUSB* for use as the debug interface.
The second /dev/ttyUSB* may be used as a serial console by the target program.

Build and install openOCD (Open On-Chip Debugger)

Building and installing openOCD is the standard './configure; make; sudo make install' procedure.

Make shure the ./configure run reports

Using OpenOCD in version 0.8.0, the configuration file for the debug interface needs to be changed.
(same has been successfully tried with OpenOCD version 0.9.0)

In ~/cc3200-sdk/tools/gcc_scripts/cc3200.cfg replace the following few lines

by

Starting OpenOCD with the following command:

shows the following message:

Stop OpenOCD by pressing Ctrl-C. In the future it will get started from the gdb debugger.

arm-none-eabi Cross Tool Chain

Download the prebuilt binaries of thearm-none-eabi cross tool chain for Linux from launchpad.net. Unpack it to an appropriate directory and add the bin/ directory to the execution path.

You may want to add the last line from above to ~/.bashrc to have the path to the arm tool chain binaries available in every future shell.

Mac

Compile one of the examples from the CC3200 SDK:

This should produce blinky.axf in ~/cc3200-sdk/example/blinky/gcc/exe/.

To be able to upload, run and debug the compiled binary for the CC3200, you may need to move the jumper from P58-VCC to SOP2.
The jumpers should be set like in the picture below.

For

Edit the OpenOCD start command in ~/cc3200-sdk/tools/gcc_scripts/gdbinit to make shure OpenOCD finds it's appropriate configuration file.
Mine looks like this:

Run a gdb session

The gdb should upload the blinky binary to the CC3200 and print something like below:

Pressing 'c' (for continue), then 'enter' should run the uploaded program and you should see blinking the three LEDs D5 - D7 one after another in a one second interval.

Links

Cc3200 Sdk For Mac Windows 10

TI Manuals as PDFs

Hardware Examples

Cc3200 Sdk For Mac High Sierra

This site maintained by:
lukas.zimmermann@unibas.ch
My public PGP key
last updated: 2014-05-08