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.
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.
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.
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.
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 |