Tip No. 6: Software and hardware know-how are equally important
When developing a complex embedded application not only pure hardware or software specialists are required. At least one developer on the team should additionally also be very familiar with hardware-related software and possess appropriate knowledge of on-chip diagnosis capabilities. With this knowledge, this developer can support the entire team with the efficient use of the debugger. Furthermore, it is also advisable to procure at least one evaluation board, if available, to learn the architecture.
Tip No. 7: Consider the complete runtime of the application
The debug interface not only plays an important role during development, but also in the production and diagnosis in the field. Unfortunately, this is still far too seldom taken into account during the application development. Typical consequences of this forgetfulness are that the production of the assembly is possible only with a a needle adapter and software updates can only be carried out directly by the manufacturer. Tools that cover the entire life cycle from debugger for the development, production flasher and service flasher to the diagnosis tool in the field can ultimately help save a lot of trouble and costs.
Tip No. 8: Is monitor-based debugging out of date?
Even in the age of standardized debug and trace interfaces, monitor-based debugging still continues to have its justification. The most popular is certainly the gdb server for Linux application debugging. But also in the hardware-related area, there are applications where a dedicated interface on a finished device can not be made available to the outside and debugging must be realized, for example, via