1- # Build Instructions for the CC3200
1+ MicroPython port to CC3200 WiFi SoC
2+ ===================================
23
3- Currently the CC3200 port of MicroPython builds under Linux and OSX ** but not under Windows** .
4+ This is a MicroPython port to Texas Instruments CC3200 WiFi SoC (ARM Cortex-M4
5+ architecture). This port supports 2 boards: WiPy and TI CC3200-LAUNCHXL.
46
5- The tool chain required for the build can be found at < https://launchpad.net/gcc-arm-embedded > .
7+ ## Build Instructions for the CC3200
68
7- In order to download the image to the CC3200 you will need the CCS_Uniflash tool from TI, which at this
8- moment is only available for Windows, so, you need Linux/OSX to build and Windows to flash the image .
9+ Currently the CC3200 port of MicroPython builds under Linux and OSX,
10+ but not under Windows.
911
10- ## To build an image suitable for debugging:
12+ The toolchain required for the build can be found at
13+ < https://launchpad.net/gcc-arm-embedded > .
14+
15+ In order to flash the image to the CC3200 you will need the
16+ [ cc3200tool] ( https://github.com/ALLTERCO/cc3200tool ) . An alternative is
17+ to use CCS_Uniflash tool from TI, which works only under Windows, and all
18+ support is provided by TI itself.
19+
20+ Building the bootloader:
21+
22+ ```
23+ make BTARGET=bootloader BTYPE=release BOARD=LAUNCHXL
24+ ```
25+
26+ Building the "release" image:
1127
12- In order to debug the port specific code, optimizations need to be disabled on the
13- port file (check the Makefile for specific details). You can use CCS from TI.
14- Use the CC3200.ccxml file supplied with this distribution for the debuuger configuration.
15- ``` bash
16- make BTARGET=application BTYPE=debug BOARD=LAUNCHXL
1728```
18- ## To build an image suitable to be flashed to the device:
19- ``` bash
2029make BTARGET=application BTYPE=release BOARD=LAUNCHXL
2130```
22- ## Building the bootloader
23- ``` bash
24- make BTARGET=bootloader BTYPE=release BOARD=LAUNCHXL
31+
32+ To build an image suitable for debugging:
33+
34+ In order to debug the port specific code, optimizations need to be disabled on the
35+ port file (check the Makefile for specific details). You can use CCS from TI.
36+ Use the CC3200.ccxml file supplied with this distribution for the debuuger configuration.
37+
38+ ```
39+ make BTARGET=application BTYPE=debug BOARD=LAUNCHXL
2540```
2641
27- ## Regarding old revisions of the CC3200-LAUNCHXL
28- First silicon (pre-release) revisions of the CC3200 had issues with the ram blocks, and MicroPython cannot run
29- there. Make sure to use a ** v4.1 (or higer) LAUNCHXL board** when trying this port, otherwise it won't work.
42+ ## Flashing the CC3200-LAUNCHXL
43+
44+ Note that WiPy comes factory programmed with a default version of MicroPython,
45+ it cannot be programmed via serial, and can be upgraded only with OTA (see
46+ below).
3047
31- ## Flashing the CC3200
3248- Make sure that you have built both the * bootloader* and the * application* in ** release** mode.
3349- Make sure the SOP2 jumper is in position.
50+ - Make sure you Linux system recognized the board and created ` ttyUSB* `
51+ devices (see below for configuration of ` ftdi_sio ` driver).
52+ - Run "make erase" and immediately press Reset button on the device.
53+ - Wait few seconds.
54+ - Run "make deploy" and immediately press Reset button on the device.
55+ - You are recommended to install the latest vendor WiFi firmware
56+ servicepack from http://www.ti.com/tool/cc3200sdk . Download
57+ CC3200SDK-SERVICEPACK package, install it, and locate ` ota_*.ucf `
58+ and ` ota_*.ucf.signed.bin ` files. Copy them to the port's directory
59+ and run "make servicepack", with immediate press of Reset button.
60+ - Remove the SOP2 jumper and reset the board.
61+
62+ Flashing process using TI Uniflash:
63+
3464- Open CCS_Uniflash and connect to the board (by default on port 22).
3565- Format the serial flash (select 1MB size in case of the CC3200-LAUNCHXL, 2MB in case of the WiPy, leave the rest unchecked).
3666- Mark the following files for erasing: ` /cert/ca.pem ` , ` /cert/client.pem ` , ` /cert/private.key ` and ` /tmp/pac.bin ` .
@@ -44,14 +74,14 @@ there. Make sure to use a **v4.1 (or higer) LAUNCHXL board** when trying this po
4474
4575Once the software is running, you have two options to access the MicroPython REPL:
4676
47- - Through telnet.
77+ - Through telnet.
4878 * Connect to the network created by the board (as boots up in AP mode), ** ssid = "wipy-wlan", key = "www.wipy.io"** .
4979 * You can also reinitialize the WLAN in station mode and connect to another AP, or in AP mode but with a
5080 different ssid and/or key.
5181 * Use your favourite telnet client with the following settings: ** host = 192.168.1.1, port = 23.**
5282 * Log in with ** user = "micro" and password = "python"**
5383
54- - Thru UART (serial).
84+ - Through UART (serial).
5585 * This is enabled by default in the standard configuration, for UART0 (speed 115200).
5686 * For CC3200-LAUNCHXL, you will need to configure Linux ` ftdi_sio ` driver as described
5787 in the [ blog post] ( http://www.achanceofbrainshowers.com/blog/tech/2014/8/19/cc3200-development-under-linux/ ) .
@@ -72,15 +102,19 @@ SD cards are also supported, you can connect any SD card and configure the pinou
72102To upload your MicroPython scripts to the FTP server, open your FTP client of choice and connect to:
73103** ftp://192.168.1.1, user = "micro", password = "python"**
74104
75- I have tested the FTP server with ** FileZilla, FireFTP, FireFox, IE and Chrome,** other clients should work as well, but I am
76- not 100% sure of it.
105+ Tested FTP clients are: FileZilla, FireFTP, FireFox, IE and Chrome. Other
106+ clients should work as well, but you may need to configure them to use a
107+ single connection (this should be the default for any compliant FTP client).
77108
78- ## Upgrading the firmware Over The Air:
109+ ## Upgrading the firmware Over The Air (OTA)
79110
80- OTA software updates can be performed through the FTP server. After building a new ** mcuimg.bin** in release mode, upload it to:
81- ` /flash/sys/mcuimg.bin ` it will take around 6s (The TI simplelink file system is quite slow because every file is mirrored for
82- safety). You won't see the file being stored inside ` /flash/sys/ ` because it's actually saved bypassing FatFS, but rest assured that
83- the file was successfully transferred, and it has been signed with a MD5 checksum to verify its integrity.
111+ OTA software updates can be performed through the builtin FTP server. After
112+ building a new ` mcuimg.bin ` in release mode, upload it to:
113+ ` /flash/sys/mcuimg.bin ` . It will take around 6s (The TI SimpleLink file
114+ system is quite slow because every file is mirrored for safety). You won't
115+ see the file being stored inside ` /flash/sys/ ` because it's actually saved
116+ bypassing FatFS, but rest assured that the file was successfully transferred,
117+ and it has been signed with a MD5 checksum to verify its integrity.
84118Now, reset the MCU by pressing the switch on the board, or by typing:
85119
86120``` python
@@ -98,10 +132,17 @@ make BTARGET=application BTYPE=release BOARD=LAUNCHXL WIPY_IP=192.168.1.1 WIPY_U
98132
99133If ` WIPY_IP ` , ` WIPY_USER ` or ` WIPY_PWD ` are omitted the default values (the ones shown above) will be used.
100134
101- ### Note regarding FileZilla:
135+
136+ ## Notes and known issues
137+
138+ ## Regarding old revisions of the CC3200-LAUNCHXL
139+
140+ First silicon (pre-release) revisions of the CC3200 had issues with the ram blocks, and MicroPython cannot run
141+ there. Make sure to use a ** v4.1 (or higer) LAUNCHXL board** when trying this port, otherwise it won't work.
142+
143+ ### Note regarding FileZilla
102144
103145Do not use the quick connect button, instead, open the site manager and create a new configuration. In the "General" tab make
104146sure that encryption is set to: "Only use plain FTP (insecure)". In the Transfer Settings tab limit the max number of connections
105147to one, otherwise FileZilla will try to open a second command connection when retrieving and saving files, and for simplicity and
106148to reduce code size, only one command and one data connections are possible.
107-
0 commit comments