124 lines
3.8 KiB
Plaintext
Executable File
124 lines
3.8 KiB
Plaintext
Executable File
README
|
|
======
|
|
|
|
This is the README file for the port of NuttX to the TI CC3200 Launchpad.
|
|
|
|
OpenOCD for Windows
|
|
===================
|
|
|
|
Get the CC3200 SDK
|
|
------------------
|
|
Get this from the TI web site. Also get "CC3200 SimpleLink™ Wi-Fi® and
|
|
IoT Solution With MCU LaunchPad™ Getting Started Guide" (SWRU376A)
|
|
|
|
Get OpenOCD
|
|
------------
|
|
The OpenOCD project is here: http://openocd.sourceforge.net/
|
|
|
|
I use the pre-built binaries provided by Freddie Chopin that can b
|
|
downloaded here: http://www.freddiechopin.info/
|
|
|
|
I used version 0.8.0 which available here:
|
|
http://www.freddiechopin.info/en/articles/34-news/92-openocd-w-wersji-080
|
|
|
|
Other versions are available here:
|
|
http://www.freddiechopin.info/en/download/category/4-openocd
|
|
|
|
Get Zadig
|
|
---------
|
|
Unless you are very clever with Windows drivers, then I also recommend
|
|
that you download and install Zadig: http://zadig.akeo.ie/
|
|
|
|
Other Stuff
|
|
-----------
|
|
USB Cable, your favorite serial terminal program, NuttX build with
|
|
one of the CC3200 configurations in this diretory.
|
|
|
|
Installing
|
|
----------
|
|
Install the TI CC3200 SDK and OpenOCD. Zadig is just an binary so there
|
|
is no installation. Plug in the CC3200 via the USB cable. You should see
|
|
two new devices in the Windows Device Manager, both called:
|
|
|
|
USB <-> JTAG/SWD
|
|
|
|
There will be indications on the driver icon that no driver is installed.
|
|
|
|
Follow the instructions in the paragraph "Install USB Driver" to install
|
|
the TI USB drivers. You need to do this twice, once for each device. Now
|
|
you will have two devices with different names:
|
|
|
|
CC3200CP JTAG Port A, and
|
|
CC3200CP UART Port B
|
|
|
|
OpenOCD cannot use the TI JTAG drivers. So we need to replace that port
|
|
(ONLY) with the libusb driver. Use Zadig to install the libusb driver
|
|
replacing the TI driver for "CC3200CP JTAG Port A". Now you should have
|
|
the following under "Ports (COM & LPT)":
|
|
|
|
CC3200 UART Port B
|
|
|
|
And under "Universal Serial Bus Devices", again:
|
|
|
|
USB <-> JTAG/SWD
|
|
|
|
But this time without the indication that a driver is needed.
|
|
|
|
Starting OpenOCD
|
|
----------------
|
|
These instructions assume that (1) you are using a terminal with a Bash
|
|
shell under Cygwin, (2) that you installed OpenOCD at C:\openocd-0.8.0,
|
|
and (3) you are using a 64-bit windows version. You will need to make
|
|
minor changes if any of these are not true.
|
|
|
|
The script to use with OpenOCD 0.8.0 is provided in
|
|
nuttx/configs/cc3200-launchpad/tools. Go there and start OpenOCd as
|
|
follow:
|
|
|
|
$ cd configs/cc3200-launchpad/tools
|
|
$ /cygdrive/c/openocd-0.8.0/bin-x64/openocd-x64-0.8.0.exe --file cc3200.cfg
|
|
|
|
And you should see something like:
|
|
|
|
Open On-Chip Debugger 0.8.0 (2014-04-28-08:42)
|
|
Licensed under GNU GPL v2
|
|
For bug reports, read
|
|
http://openocd.sourceforge.net/doc/doxygen/bugs.html
|
|
Info : only one transport option; autoselect 'jtag'
|
|
adapter speed: 1000 kHz
|
|
Info : clock speed 1000 kHz
|
|
Info : JTAG tap: cc3200.jrc tap/device found: 0x0b97c02f (mfg: 0x017, part: 0xb97c, ver: 0x0)
|
|
Info : JTAG tap: cc3200.dap enabled
|
|
Info : cc3200.cpu: hardware has 6 breakpoints, 4 watchpoints
|
|
|
|
Open the Serial Terminal
|
|
------------------------
|
|
Connect the CC3200 board via the USB cabale. Open the serial terminal
|
|
program using the libusb COM device. For me this is usually COM6 but
|
|
could be anything. If you are unsure, remove the CC3200 and see which
|
|
one goes away.
|
|
|
|
The serial interface should be configured 115200 8N1.
|
|
|
|
Using GDB
|
|
---------
|
|
Start GDB and connect to OpenOCD:
|
|
|
|
$ arm-none-eabi-gdb
|
|
(gdb) target remote localhost:3333
|
|
|
|
Load and start the NuttX ELF file (nuttx):
|
|
|
|
(gdb) mon reset halt
|
|
(gdb) load nuttx
|
|
(gdb) cont
|
|
(gdb)
|
|
|
|
After entering cont(inue), you should see the NSH prompt in the serial
|
|
terminal window:
|
|
|
|
C3200 init
|
|
|
|
NuttShell (NSH)
|
|
nsh>
|