High Speed on Bare Metal

We needed a 35KHz sample rate, 96 I/O, with custom logic. Python in Linux user space? Not a chance.

We could try using an RTOS, but a bare metal library has everything we need. TI’s StarterWare didn’t disappoint.

Working closely with the hardware designer, we wrote this application in C on BeagleBone hardware (AM335x Cortex-A8/M3).

  • Bare metal: no operating system.
  • Debugged through UART output and the oscilloscope. (JTAG not helpful here.)
  • Boots from the SD.
  • UDP/IP stack with DHCP from the StarterWare library.
  • Rock solid performance. Of course! High speed. Ultra low latency.

Hint: enabling all the caching makes a huge difference. Even though you think you’ve found all the caching settings, you may not have.