Skip to main content

CC3200 development on Linux

Submitted by mcfish on Sun, 04/12/2016 - 19:53

This article shows how to compile and install NuttX real-time OS to CC3200 launchpad using Fedora (24) Linux.

--

Link between Linux and CC3200:

Connecting the board to usb port on stock kernel (4.2.6) produces this:

[ 399.346845] usb 1-2: new full-speed USB device number 3 using xhci_hcd
[ 399.515958] usb 1-2: New USB device found, idVendor=0451, idProduct=c32a
[ 399.515962] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 399.515964] usb 1-2: Product: USB <-> JTAG/SWD
[ 399.515966] usb 1-2: Manufacturer: FTDI
[ 399.515968] usb 1-2: SerialNumber: cc3101

to make linux spit out usable serial devices, run these commands as root:

modprobe ftdi_sio
echo 0451 c32a > /sys/bus/usb-serial/drivers/ftdi_sio/new_id

and you should get this:

[ 1254.414028] usbcore: registered new interface driver ftdi_sio
[ 1254.414054] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 1254.415363] ftdi_sio 1-2:1.0: FTDI USB Serial Device converter detected
[ 1254.415455] usb 1-2: Detected FT2232C
[ 1254.416315] usb 1-2: FTDI USB Serial Device converter now attached to ttyUSB0
[ 1254.416376] ftdi_sio 1-2:1.1: FTDI USB Serial Device converter detected
[ 1254.416428] usb 1-2: Detected FT2232C
[ 1254.416678] usb 1-2: FTDI USB Serial Device converter now attached to ttyUSB1

Installing development packages:

OpenOCD 0.9 / Arm compiler + gdb debugger / apps to compile utilities

dnf install openocd arm-none-eabi-gdb arm-none-eabi-gcc-cs gperf flex bison ncurses-devel minicom

Install kconf tools:

git clone https://bitbucket.org/nuttx/tools.git tools
cd tools/kconfig-frontends
./configure --enable-mconf
make
sudo make install

Install Energia for Linux:

  • Download and extract latest energia Linux package
  • Start energia ide, and open board manager from tools/board menu
  • Install CC3200 support from board manager, then close energia ide

Download and compile NuttX:

Download latest stable version (you need both packages):

https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.17.tar.gz

https://bitbucket.org/nuttx/nuttx/downloads/apps-7.17.tar.gz

Extract packages, then move apps package inside nuttx folder:

tar xf ~/nuttx-7.17.tar.gz
tar xf ~/apps-7.17.tar.gz
mv apps-7.17 nuttx/

After you have packages downloaded and extracted, you can compile the nuttx:

cd nuttx-7.17/tools
./configure.sh -a apps-7.17 cc3200-launchpad/nsh
cd ..
make menuconfig
make

Here are some places to visit while in menuconfig section:

  • RTOS Features / Clocks and Timers
    • Set today as start year/month/day

Programming NuttX to board:

To program cc3200 board, you need to remove jumper from TCK (and from SOP if there's any jumpers):

--

and connect wire from SOP pin to TCK pin like so (note: In the picture below, I do have jumper on TCK pin, but only so I don't lose the jumper. It's not connected to anything):

--

Now you need to find cc3200prog executable from you home folder. With energia 18, the file should be in folder:

~/.energia15/packages/energia/tools/cc3200prog/1.1.4/cc3200prog

but if it isn't there, check that you have installed cc3200 tools from energia board manager, then use find command to locate the executable:

find ~ -type file -iname "cc3200prog"

After you locate the executable, you should be able to install nuttx using the following command:

cd ~/.energia15/packages/energia/tools/cc3200prog/1.1.4/
sudo ./cc3200prog /dev/ttyUSB1 /path/to/nuttx-7.17/nuttx.bin

if you get error "failed to trigger bootloader", try pressing reset button, and right after that run cc3200prog command. Result should look something like this:

--

Now reset the board and connect to NuttX using minicom:

minicom -o -D /dev/ttyUSB1

If everything works, you should be greeted with screen like this:

But if nothing happens, visit minicom settings (press "Ctrl+a" then right after "o"-letter, and select serial port setup) and make sure you have settings like these:

--

Changes to the article:

  • 29.1.2016 - Updated article to use nuttx 7.14 (from 7.12) and Energia 17 (from 16)
  • 13.9.2016 - Updated article to use nuttx 7.17, Fedora 24 and Energia 18

Add new comment

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
CAPTCHA This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
2 + 4 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.