Where Are We?

In this chapter, we looked at the problem of cross-platform development and the all too common scarcity of hardware. We discussed the need to isolating hardware dependencies. The more successful we are at that, the longer the useful life you can expect from your code and your tests. If you let hardware dependencies permeate the code, hardware evolution (and obsolescence) will accelerate the aging of your code and shorten its useful life. It may also shorten your life through the stress of keeping an aging code base alive.

We looked at the embedded TDD cycle and how to keep the pace of development unencumbered by cross development issues. We looked at the advantages of dual-targeting and how to contain the risk of testing off the target.

Often, the foremost question on the embedded developer’s mind is how to apply TDD effectively in a cross development environment. But there are other issues, too. In the next chapter, we’ll look at some of the other common concerns of embedded developers as they think of how to apply TDD to their development efforts.