GitHub

Fox Red Labs / Builds / Tools and languages

Build and flash a TI example from one terminal

One make line builds TI's example and one flash line puts it on the board. There is no window to click, so you can run it from a terminal.

EasyNo wiring5 min once the tools are installed (12 GB, once)

Parts and steps

Your board

You need

Set up your computer once: 1 step. Done already? Start at step 2.
  1. Install the tools once, all free: CCStudio 21.0.1 from TI's CCStudio download page (1.9 GB download, 8.1 GB installed, free myTI login) (it brings TI Arm Clang 5.1.1), the MSPM0 SDK 2.11.00.07 from TI's MSPM0 SDK download page (0.4 GB download, 2.2 GB installed), SysConfig 1.26.3 (TI's SysConfig page, 0.96 GB installed), and xPack OpenOCD 0.12.0-7 from its GitHub release page (2 MB; the file xpack-openocd-0.12.0-7-darwin-x64.tar.gz on an Intel Mac, xpack-openocd-0.12.0-7-darwin-arm64.tar.gz on Apple Silicon).TERMINAL

    Then clone this repository into <repository folder> for the helper scripts sdkmake.sh and tools/ocd.sh. SysConfig 1.26.3, the version this repo's scripts point at, came with the SimpleLink Wi-Fi SDK installer on the test Mac (it put it in /Applications/ti/sysconfig_1.26.3); CCStudio 21.0.1 carries its own 1.28.1, which this repo's scripts do not point at.

    You should see: /Applications/ti/ccs2101/ccs/tools/compiler/ti-cgt-armllvm_5.1.1.LTS/bin/tiarmclang --version prints 5.1.1.

  1. Plug the board into the Mac with a micro-USB data cable.BENCH

    It shows up as an XDS110 probe with two serial ports; there is no driver to install. Read your probe's serial number from the port names.

    ls /dev/cu.usbmodem*

    You should see: Two ports named /dev/cu.usbmodem<serial>1 and ...4. The part between usbmodem and the last digit is your probe's serial number.

  2. From the mspm0l1306 folder of this repository, copy one of TI's examples out of the SDK and build it with one make line.TERMINAL

    Any example folder works the same way; the blink is the one that was timed.

    Replace <repository folder> before you run this.

    cd <repository folder>/mspm0l1306 cp -R /Applications/ti/mspm0_sdk_2_11_00_07/examples/nortos/LP_MSPM0L1306/driverlib/gpio_toggle_output . ../mspm0g3507/mcu-bench/sdk-common/sdkmake.sh gpio_toggle_output/ticlang

    You should see: A build with no errors that leaves gpio_toggle_output/ticlang/gpio_toggle_output.out. It took 3.3 s for the blink. 167 of the board's 170 SDK examples build this way.

  3. Flash it with OpenOCD. tools/ocd.sh picks the probe by serial number and refuses to run if it is missing; set PROBE to your serial first (<probe serial> below stands for it).TERMINAL

    To find yours, run /Applications/ti/ccs2101/ccs/ccs_base/common/uscif/xds110/xdsdfu -e if you have CCStudio (it prints Serial Num:), else system_profiler SPUSBDataType | grep -A3 XDS110. Run it from the same folder as the build step.

    Replace <probe serial> before you run this.

    export PROBE=<probe serial> tools/ocd.sh "reset halt" "program gpio_toggle_output/ticlang/gpio_toggle_output.out verify" "reset run"

    You should see: OpenOCD ends with ** Verified OK ** in about 0.6 s, and the RGB LED cycles.

Or hand it to a coding assistant

Paste this in a terminal. It hands off to an AI assistant.

git clone --depth 1 --filter=blob:none https://github.com/Fox-Red-Labs/fox-red-labs.git && cd fox-red-labs ./start.sh mspm0l1306 build-from-terminal --assistant claude

It runs the steps above and reports what it saw.

Not Claude Code? Copy this prompt instead.
Clone https://github.com/Fox-Red-Labs/fox-red-labs and read mspm0l1306/AGENTS.md first. Then run Build and flash from the terminal in one command on my LP-MSPM0L1306, following docs/builds/build-from-terminal.md. Tell me when to plug in a board and what you saw at each step.

If something goes wrong

Your tools live somewhere other than /Applications/tiEdit the paths at the top of mspm0g3507/mcu-bench/sdk-common/sdkmake.sh.
Nothing appearsTry another cable; a charge-only cable looks the same.
The build cannot find SysConfig or the compilerThe paths in sdkmake.sh do not match your install (step 1).
OpenOCD prints `ErrorChecksum mismatch - attempting binary compare` first; that is normal, and the next line is the real result.

Every fix for this board: the FAQ.

What to build next

Every build. The code for all of them is in the GitHub repository.

Evidence and limitsOne command builds TI's examples with no window: 262 of 270 on the G3507. Ran on 3 boards. Results, sources, timing and limits.

MSPM0 LaunchPad: make and OpenOCD

Expected result: One build line and one flash line take TI's example from the SDK to a running program on the board in under 5 seconds of machine time. No window, nothing to click.

What this shows

  • TI's example builds with one make line and flashes with one OpenOCD line on the MSPM0 L1306: 3.3 s and 0.6 s for the blink, and the RGB LED cycled.
  • 167 of 170 of the board's SDK examples build from the terminal, and all 148 that do not write the boot configuration were flashed and run by script without losing the debugger.
What this does not establish, and limits

What this does not establish

  • That an AI assistant can type these lines. The route was timed with a script and by hand, not with an assistant.
  • That the 3 examples that do not build are the chip's fault: their causes were not all traced.
  • That every example does something you can see: many need extra wiring to show they work.

Limits to keep in mind

  • The helper scripts hard-code the Mac paths in step 1.
  • tools/ocd.sh refuses to run until PROBE is set to your probe's serial number.

Sources

Why this board

Its debugger is on the board and OpenOCD flashes it in under a second, so the whole route is two commands. The MSPM0 G3507 builds 262 of 270 examples from the terminal.

Versions, sizes and timing

Blink build and flashbuild 3.3 s, OpenOCD program and verify 0.6 s (UniFlash's command line takes 15.0 s for the same image)README notes
Examples that build167 of 170 SDK examples build from the terminal
ToolsMSPM0 SDK 2.11.00.07, TI Arm Clang 5.1.1.LTS, SysConfig 1.26.3, xPack OpenOCD 0.12.0-7, Intel Mac on macOS 15.7.9README notes

Evidence

  • On the MSPM0 L1306 on 2026-10-06, TI's blink example built in 3.3 s and flashed in 0.6 s with OpenOCD from a Mac terminal, and the RGB LED cycled. 167 of the board's 170 SDK examples build with one make. README notes
  • The sweep builds and flashes SDK examples by script on this board; none of the 148 that do not write the boot configuration crashed.

Other boards

What the status words mean

Works ran here and did what it shouldCould work some of it ran; real porting effort is left; hover for whatNot for this chip the chip or its vendor software cannot; hover for why

SimpleLink LaunchPad: make and UniFlash

Expected result: A build of about 22 seconds and a flash of about 7 seconds put TI's blink on the board, and the red LED toggles once a second, from a terminal and with no window.

What this shows

  • TI's blink for the CC2340R5 builds with one make line and flashes with one UniFlash line from a Mac terminal, and the host saw the red LED blink.
  • The gotchas are known and written down: probe seating, the connection file, the SDK's build paths and the verify mismatch.
What this does not establish, and limits

What this does not establish

  • A typical first-time duration: the 9 minutes included 8 of probe trouble, and the board was used, not sealed.
  • That verify works: with -v UniFlash reports a mismatch in the boot configuration area on every image flashed, cause unknown.
  • That an AI assistant can type these lines unaided; one in VS Code did them in a recorded run.

Limits to keep in mind

  • The probe is a second board to buy; the CC2340R5 cannot be powered or flashed without one.
  • UniFlash's command line needs a connection file that no TI command-line tool writes; step 3 uses CCStudio to make it.

Sources

Versions, sizes and timing

Build22 s, TI Arm Clang 5.1.1.LTS, SimpleLink Low Power F3 SDK 9.21.00.36 LTS, SysConfig 1.26.3README notes
Flash7 s with UniFlash 9.6.0 and the XDS110 probe; verify (-v) reports one mismatch at 0x4E020750 in the CCFG user recordREADME notes
Whole runabout 3 min hands-on and 9 min machine time, board in hand to blinking LED, 8 of them a probe connection problem

Evidence

  • On 2026-10-05 on an Intel Mac, TI's drivers/empty built with make in 22 s and flashed with UniFlash in 7 s once the probe was seated; most of the 9 minutes of machine time went to a probe connection error that cleared when the probe was pulled off and pressed back on. The host confirmed the red LED.
  • The commands, the three tool paths and the eight gotchas are written in the board folder's README. README notes

Other boards

What the status words mean

Works ran here and did what it shouldCould work some of it ran; real porting effort is left; hover for whatNot for this chip the chip or its vendor software cannot; hover for why

C2000 LaunchPad: scripted build and load

Expected result: A build of under 5 seconds and a RAM load of under 5 seconds, then the LED pin toggling, all from a terminal. A flash image needs the FLASH build and was not timed for the blink.

What this shows

  • TI's blink example for the LAUNCHXL-F2800137 builds from a Mac terminal in 4.6 s and runs from RAM in 3.9 s, with the LED pin seen toggling.
  • 138 of 139 C2000Ware examples for the chip build by script with TI's own flags plus three additions the projects do not list.
What this does not establish, and limits

What this does not establish

  • A flash write of the blink: the timed load was to RAM. The flash route is described but the blink was not timed from flash.
  • That a person watched the LED: the pin was sampled by the script.
  • Anything about Apple Silicon or CCStudio's window.

Limits to keep in mind

  • The probe may need a firmware update before TI's tools connect.
  • 4-pin JTAG does not work on the board as shipped; the connection file must use 2-pin cJTAG.
  • The route needs CCStudio's scripting runner because UniFlash's command-line calls each reconnect.

Sources

Versions, sizes and timing

Blink4.6 s build and 3.9 s RAM load (observed 2026-10-06, not saved); the sweep recorded a 4.1 s loadREADME notes
Examples that build138 of 139 C2000Ware examples for this chip, by scriptREADME notes
ToolsCCStudio 21.0.1, C2000 compiler 25.11.1.LTS, SysConfig 1.28.1, UniFlash 9.6.0, C2000Ware 26.02.00.00 LTS coreREADME notes

Evidence

  • On 2026-10-06 on an Intel Mac, TI's led_ex1_blinky built from a terminal in 4.6 s and loaded to RAM in 3.9 s with the GPIO20 pin seen toggling; 138 of 139 C2000Ware examples for this chip build by script. README notes
  • In the sweep a 4.1 s load and the LED pin seen toggling were recorded for the blink.

Other boards

What the status words mean

Works ran here and did what it shouldCould work some of it ran; real porting effort is left; hover for whatNot for this chip the chip or its vendor software cannot; hover for why

Result grid

Project
LP-MSPM0G3507MSPM0G3507 chip
LP-MSPM0L1306MSPM0L1306 chip
LP-EM-CC2340R5CC2340R52 chip
LAUNCHXL-F2800137TMS320F2800137 chip
Build and flash from the terminal in one command
LP-MSPM0G3507Works262 of 270 TI examples build from the terminal; 7.8 s median
LP-MSPM0L1306Works167 of 170 TI examples build from the terminal; the blink in 3.3 s
LP-EM-CC2340R5WorksTI's example builds with make in 22 s README
LAUNCHXL-F2800137WorksBlink builds with one script, 4.6 s README

Works ran here and did what it shouldShould work it builds; only naming, packaging or build glue is in the way; hover for whichCould work some of it ran; real porting effort is left; hover for whatNot for this chip the chip or its vendor software cannot; hover for why

Experiments (6)

StatusWhat was triedResult
WorksCan you change TI LP-EM-CC2340R5 radio settings without the SysConfig GUI?
CC2340R5, 2026-10-05
Four settings changed as text and verified on the board; three more built and booted; one was silently ignored and needed C.
WorksCan a TI LP-EM-CC35X1 be built, activated, programmed and read over serial from a Mac terminal, with no Windows step?
CC35X1, 2026-10-08
A Mac terminal does everything the CC35X1 needs with no Windows step: build, sign, activate, program, serial and reset. Edit to blinking LED took 60 s; programming alone takes 20 s.
Could workCan a board with no debug probe give every battery number, and which does it not reach?
Raspberry Pi Pico 2 H, 2026-10-11
Almost all: speed, size and model rows come back over USB serial. Not reached without extra hardware: RAM reads after a crash, power, and the two loopback tests that need wires.
Can upstream OpenOCD flash a TI LP-EM-CC2340R5 or LP-EM-CC2755P10 through the XDS110, the way it flashes an MSPM0?
CC2340R5, CC2755P10, 2026-10-18
On the CC2340R5, upstream OpenOCD with the new cc23xx driver programmed and verified TI's blink in 0.37 s and the LED pin toggled; a 511 kB image took 10.5 s to write and read back identical. An SDK hex fails...
Can a reader flash every TI family on the bench with an open tool instead of CCStudio, UniFlash or the Toolbox?
MSPM0 G3519, AM13E230, MSPM33 C321A, MSPM0 C1104, CC2340R5, CC35X1, LAUNCHXL-F2800137, AM263P, 2026-10-18
An open tool programmed TI's blink on the MSPM0 G3519 (upstream OpenOCD, 0.95 s) and the CC2340R5 (TI's own OpenOCD fork, 6.2 s, verify step broken); the AM13E230 and MSPM33 C321A were read byte for byte...
WorksWhy does an LP-MSPM0C1104 stop answering its debugger after a flash write that stops short, and how do you bring it back?
MSPM0 C1104, 2026-10-19
A program cut off 40 bytes short faulted before main, so the chip reset in a loop and hid its core; TI's wait-for-debug hold on the power access port stopped the core, and the out-of-box image went back and read...

Source files

  • README (CC2340R5): setup and build steps
  • README (LAUNCHXL-F2800137): setup and build steps

Code brought from elsewhere

This project uses code that was written for other chips or tools. Each links to how to get it running.

Start with your code, and the prompt to port your own

Get the code and tell us how it wentThe clone command, the board folder with its AGENTS.md, reports from others, and the three report forms.

Get the code

Clone the repository and open the board's folder below. AGENTS.md is a plain text file of notes for AI coding assistants, and llms.txt at the root indexes the site for one.

git clone https://github.com/Fox-Red-Labs/fox-red-labs.git

Code is BSD-3-Clause, writing is CC BY 4.0; third-party folders keep their own licenses.

Built it? Tell us

Built this, or got stuck? Report it on GitHub with a few short answers. Your report shows here in your words, marked as yours. A failure that repeats on the bench gets its fix here.