The TI C2000 family is TI’s real-time control line: the MCUs inside motor drives, solar inverters, EV chargers and digital power supplies. wolfCrypt now drives the hardware AES accelerator on the LAUNCHXL-F28P55X (TMS320F28P550SJ), a 150 MHz C28x DSP with 133 KB RAM and 1088 KB flash.
The F28P550SJ carries an on-chip AESA block, a TI EIP-120t supporting ECB, CBC, CTR, CFB, GCM and CCM at 128, 192 and 256-bit key lengths. wolfCrypt drives it through the crypto-callback framework rather than replacing aes.c. Software AES stays compiled in, and a context opts into hardware simply by passing a device ID to wc_AesInit(). Anything the block cannot do returns CRYPTOCB_UNAVAILABLE and falls back to software automatically. The reference example runs the same NIST vectors through both paths in a single image, which is how the port is validated.
Enable it with WOLFSSL_C2000_AES. The example in wolfSSL Examples turns it on with make HWAES=1. The port ships in wolfSSL PR #11202.
AES throughput at 150 MHz
| Operation | Software | AESA | Speedup |
|---|---|---|---|
| AES-128-ECB encrypt | 471 KiB/s | 2.39 MiB/s | 5.2x |
| AES-256-ECB encrypt | 377 KiB/s | 2.34 MiB/s | 6.3x |
| AES-128-CBC encrypt | 405 KiB/s | 2.37 MiB/s | 6.0x |
| AES-128-CBC decrypt | 388 KiB/s | 2.36 MiB/s | 6.2x |
| AES-256-CBC encrypt | 333 KiB/s | 2.32 MiB/s | 7.1x |
| AES-256-CBC decrypt | 322 KiB/s | 2.29 MiB/s | 7.3x |
| AES-128-CTR | 408 KiB/s | 1.45 MiB/s | 3.6x |
| AES-256-CTR | 335 KiB/s | 1.45 MiB/s | 4.4x |
Hardware throughput is essentially key-length independent. The speedup therefore grows with key size, because software pays for the extra rounds while the accelerator does not.
Questions about wolfCrypt on TI C2000, or about a port to your own hardware? Email facts@wolfssl.com or call us at +1 425 245 8247.
Download wolfSSL Now

