Gary Stringham
The hardware/firmware interface is where the hardware engineering and firmware engineering disciplines meet. Sometimes the meeting does not happen very smoothly. Their respective design environments are different in the way they code the design, test it, and produce their product. Often the hardware is almost done before firmware efforts ramp up. Plus, the hardware and firmware teams may be in different location, countries, and/or companies, making it challenging to get the hardware and firmware working well together for the embedded systems product.
This paper presents an analysis of many large and small hardware/firmware interface problems that revealed some common threads. It uncovered seven principles of hardware/firmware interface design, which, if followed, will either eliminate or mitigate many of the problems faced by hardware and firmware engineers. They are: collaborate on the design; set standards; balance the load; design for version independence; anticipate the impacts; design for contingencies; and plan ahead. Understanding and applying these principles helps produce embedded products in a shorter amount of time with a higher quality level and with less cost.
|