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.