Hardware / Special jobs: radar and motors / Step 3 of 4
LAUNCHXL-F2800137 (TMS320F2800137)
The TMS320F2800137 is a microcontroller in TI's C2000 family: 120 MHz C28x, 256 kB of flash, 36 kB of RAM.
Quick facts
| Board | LAUNCHXL-F2800137 |
|---|---|
| Chip | TMS320F2800137 |
| Core | C28x with FPU and TMU (trig and divide hardware) |
| Clock | 120 MHz |
| Flash | 256 kB |
| RAM | 36 kB |
| Radio | None |
| Notable peripherals | 14 PWM channels; 2 x 12-bit ADC; 4 comparators; 1 encoder input, 2 capture inputs; 3 UART, 1 SPI, 2 I2C, 1 CAN; 38 GPIO pins |
| On-board debug probe | Built into the board |
| Where to buy | TI.com |
| Toolchains that ran | TI compilers |
Get it running
First blink: Works, 4.6 s to build TI's example from a terminal.
Build the LED example.
cp -R /Applications/ti/c2000ware_core_26_02_00_00/driverlib/f280013x/examples/led /tmp/led_ex1_blinky c2000-launchpad/tools/c2kbuild.sh /tmp/led_ex1_blinky RAMLoad it and read the LED pin.
/Applications/ti/ccs2101/ccs/scripting/run.sh c2000-launchpad/tools/c2krun.js /tmp/led_ex1_blinky/build-RAM-Ooff/led_ex1_blinky.out blink
Replace the parts in angle brackets. Run it from the terminal in VS Code, CCStudio or any IDE.
You should see: the runner samples GPIO20 eight times and prints the readings.
What works
- CoreMark: 155.31 (1.294 per MHz) (TI C2000 compiler, from RAM; 120 MHz)
- Interrupt latency, pend to first handler line: 30 cycles (bare metal; 120 MHz)
- GPIO toggle: 1.56 cycles (120 MHz)
- Blink image size: 8.4 kB of flash, 1.5 kB of RAM (bare metal)
- Room-occupancy AI model, one inference: 1.114 ms (from RAM; 120 MHz; 5 runs)
- Control loop, trigger to new PWM value: 2.15 µs (from flash; 120 MHz; 1000 runs)
- 256-point complex FFT: 0.106 ms (from flash; 120 MHz; 5 runs)
- AES-128: 395.35 cycles/B in software (TI Arm Clang, from RAM; 120 MHz)
- Fastest ADC with DMA: 3.98 Msps (same with a 9-cycle sample window; 120 MHz)
- Vendor examples that build from a terminal: 100%
Download every result for this board (CSV), or compare it on this board on the Benchmarks page.
Projects and ports that ran here
- Blink an LED: 4.6 s to build TI's example from a terminal
- Run a small AI model on the chip: 1.1 to 30.8 ms per answer, fastest build on this chip
- Recognize handwriting with Edge AI: 21.3 ms to read one digit
- Measure how fast a chip reacts: 30 to 32 cycles from interrupt to first instruction
- Build and flash from the terminal: 4.6 s TI examples built
- BitNetMCU on a C2000 control chip (LAUNCHXL-F2800137) Works: BitNetMCU's 64-wide CNN reads all 10 test digits right on the LAUNCHXL-F2800137.
- C2000 current-loop code on the LP-AM13E230 Works: The same current-loop step, trigger to new PWM, runs about twice as fast on the AM13E230 as on the LAUNCHXL-F2800137.
- ESP32-BLE-Gamepad (a Bluetooth HID gamepad library) on TI, ST and C2000 boards Works: The ESP32-BLE-Gamepad descriptor and reports match the library's output byte for byte on four boards, and 15 of 15 button changes from the CC2340R5 reached a Mac as gamepad reports.
- CC1407P host driver on the LAUNCHXL-F2800137 Could work: The CC1407P driver files compile for the LAUNCHXL-F2800137 with a compatibility header, and a field-by-field packer gives the same 315 octets as an Arm host.
Want wireless? Try the LP-EM-CC2340R5 for Bluetooth, Zigbee or Thread or the LP-EM-CC35X1 for Wi-Fi.
Fixes
- If you see
error #20: identifier "uint8_t" is undefined, puttypedef unsigned char uint8_t;before the library's headers. - If you see
error #145: a value of type "char [772]" cannot be used to initialize an entity of type "const uint8_t [772]"(u8g2), use theunsigned chartypedef, not theuint16_tone. - If you see
warning #64-D: shift count is too large, write1UL << n(1L << shiftin BitNetMCU). - If you see
ERROR: ee_u16 is not a 16b datatype!, use this repo's three-change patch; the score is then unofficial. - If you see
unresolved symbols remainnamingcode_start(F2800137), addf280013x_codestartbranch.asm,--abi=eabiand every.cSysConfig writes. - If you see
unresolved symbols remainnamingTransferRingBuffer_init, addutilities/transfer/source/transfer_ringbuffer.c. - If you see
Operation was aborted on 'C28xx_CPU1'onlpm_ex3_standbywake_gpioorlpm_ex5_haltwake_gpio, press the wake-up button or reset. - If you see
(Error -261 @ 0x0) Invalid response was received from the XDS110, retry the load.
How long an AI assistant took here
1 jobs timed with an AI coding assistant on this board, given the board's notes. Time is the median of the runs; passed means a person or a script checked the result. No spend or token counts here.
| Job | Assistant | Notes given | Time | Passed |
|---|---|---|---|---|
| port gamepad | Sonnet 5.5 | with the board's notes | 9.9 min | not checked |
For AI assistants
Point your assistant at this board's AGENTS.md (build, flash and fix notes), this board's llms-full.txt (every page for the board in one file) and the repository's llms.txt (the index).
Sources: c2000-launchpad/README.md, c2000-launchpad/AGENTS.md, c2000-launchpad/FAQ.md, data/results/f2800137.csv, site/data/portfolio.json, site/data/projects.json, site/data/ports.json.