Flexible and Layered Embedded Firmware through Test Driven Development (TDD)
Recent years the software industry has developed different methodologies with camps to support them many of them claiming better quality of work and speed. Embedded real-time firmware due to it's challenges makes adoption of these tools more difficult as we need to test systems interacting with the hardware that have timing constraints. Not all methods work well or there is often the question if the effort is worth the benefit.
In this session we will discuss the application of TDD,
- what is TDD and the difference with unit testing,
- example application of the method,
- how we can model the hardware registers transparently,
- how to tackle challenges porting to different architectures,
- using object oriented techniques for configurability
- the benefits and pitfalls of the method,
The session will be based on actual application of the method on real medium scale bare-bones systems projects.