GitHub

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.

TMS320F28P650DK9200 MHzLAUNCHXL-F28P65X

Quick facts

BoardLAUNCHXL-F28P65X
ChipTMS320F28P650DK9
CoreC28x
Clock200 MHz
Flash1.2 MB
RAM248 kB
RadioNone
Notable peripheralsCAN-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 probeXDS110, 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 ranTI compilers

Get it running

  1. Build the LED example.

    c2000-launchpad/tools/c2kbuild_f28p65x.sh <example folder> RAM
  2. Load 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, put typedef 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 the unsigned char typedef, not the uint16_t one.
  • If you see warning #64-D: shift count is too large, write 1UL << n (1L << shift in 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 remain naming code_start (F2800137), add f280013x_codestartbranch.asm, --abi=eabi and every .c SysConfig writes.
  • If you see unresolved symbols remain naming TransferRingBuffer_init, add utilities/transfer/source/transfer_ringbuffer.c.
  • If you see Operation was aborted on 'C28xx_CPU1' on lpm_ex3_standbywake_gpio or lpm_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.

Every fix for this board, with the exact error text

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.