Why are we still manually defining messages and bitfields to communicate
with memory-mapped registers, I2C devices and SPI devices? Manually writing
device drivers to just get basic chip operations? Performing detailed design
including marshaling and unmarshaling? Each time we design a driver for a
existing chip, we as an industry are repeating ourselves. This session looks
at the current state of the art including register specification
(usually ASIC focused) and interface definition languages
(usually network application focused). We examine how shifting to data driven
code generation could simplify the software design for everything from
hardware interfaces to network protocols.
This presentation was given at EELive! 2014 in San Jose, California.