Hardware / Special jobs: radar and motors
LAUNCHXL-F28P65X (TMS320F28P650DK9)
The TMS320F28P650DK9 is a microcontroller in TI's C2000 family: 200 MHz C28x, 1.2 MB of flash, 248 kB of RAM.
Quick facts
| Board | LAUNCHXL-F28P65X |
|---|---|
| Chip | TMS320F28P650DK9 |
| Core | C28x |
| Clock | 200 MHz |
| Flash | 1.2 MB |
| RAM | 248 kB |
| Radio | None |
| Notable peripherals | CAN-FD, SCI (TI's UART), SPI, FSI, EtherCAT, two eQEP encoder inputs, 12-bit and 16-bit ADC headers; no camera interface, no video hardware |
| On-board debug probe | XDS110, on the board. Debug link is 4-pin JTAG by default; probe firmware 3.0.0.43 for CCStudio 21.0.1. A hand-written connection file needs a line this chip's dual-core, CLA-equipped design adds (see the FAQ) |
| Toolchains that ran | TI compilers |
Get it running
First blink: Works; TI's blink example builds in 8.6 s.
Build the LED example.
c2000-launchpad/tools/c2kbuild_f28p65x.sh <example folder> RAMLoad it and read the LED pin.
/Applications/ti/ccs2101/ccs/scripting/run.sh c2000-launchpad/tools/c2krun_f28p65x.js <prog>.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 GPIO12 (LED4) and prints the readings.
What works
- CoreMark: 258.86 (1.294 per MHz) (TI C2000 compiler, from RAM; 200 MHz)
- Interrupt latency, pend to first handler line: 30 cycles (bare metal, from RAM; 200 MHz; 50 runs)
- GPIO toggle: 1.56 cycles (200 MHz)
- Room-occupancy AI model, one inference: 0.893 ms (from RAM; 200 MHz; 5 runs)
- Dhrystone 2.1: 0.444 DMIPS/MHz (TI C2000 compiler, -O3, from RAM; 200 MHz)
Download every result for this board (CSV), or compare it on this board on the Benchmarks page.
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.
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-f28p65x.md, data/results/f28p65x.csv, site/data/portfolio.json.