System Architecture
The Texas Instruments TMS320F28379D Delfino™ is a dual-core 32-bit C28x microcontroller. This project programmes it over a single serial link: the host talks to CPU1, and CPU1 brings up CPU2.
Block diagram
Core processing engines
- CPU1 and CPU2: two independent 200 MHz C28x 32-bit cores.
- Trigonometric math units (TMU): hardware sine, cosine, arctan and 1/x.
- VCU-II: Viterbi, complex-math and CRC accelerators.
- Control law accelerators (CLA): two 32-bit floating-point co-processors running asynchronously.
Memory architecture and flash banks
The device carries 1024 KB of onboard flash in two physical banks, which is what makes a live update possible:
| Bank | Partition | Role |
|---|---|---|
| Bank 0 | sectors A to N | the bank the device executes from |
| Bank 1 | mirror partition | holds the staged image during a live update |
A new image is written to the inactive bank while the active core keeps running, and the device switches banks on the next reset. See Hardware for the device resources, and Synchronized dual-core flashing for the switch itself.
Inter-processor communication (IPC)
CPU2 has no external SCI boot pins, so the host flasher cannot reach it directly. CPU1 coordinates:
- CPU1 receives the kernel and the application binaries over SCI-A.
- CPU1 copies the CPU2 flash kernel into the shared message RAM using the IPC registers.
- CPU1 raises an IPC interrupt, and CPU2 boots and programmes its own sectors.