What would you consider "worst practices" to follow when developing an embedded system?
Some of my ideas of what not to do are:
Avoid abstracting the hardware layer, instead spreading hardware accesses throughout the code.
Not having any type of emulation environment, having only the actual hardware to exe/cute on.
Avoiding unit tests, perhaps due to the above two points
Not developing the system in a layered structure, so that higher up layers could depend on lower layers functionality debugged and working
Selecting hardware without considering the software & tools that will use it
Using hardware designed for easy debugging, e.g. no test points, no debug LEDs, no JTAG etc.
I'm sure there are plenty of good ideas out there on what not to do, let's hear them!
question from:
https://stackoverflow.com/questions/251413/embedded-systems-worst-practices 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…