1Development Chain

This chapter is focused on the software development chain for a microprocessor-based system. The different steps and their associated tools, including the first, the assembler, are examined. The debugging and testing aspects have taken on greater importance as hardware and software have grown more complex and become embedded in systems. These software and hardware tools are then described in detail. At first conceived to be used at the printed circuit level, they must be integrated progressively. To conclude, assembly language, a first level symbolic language, will be surveyed. The reader who is interested in a specific processor should refer to documentation from the relevant manufacturer. In addition, we will not here make a distinction between microprocessor and microcontroller because, in the latter case, we will only examine the “computation” component, that is, the processor, without addressing the other two subsystems, which are Input/Output (I/O) and RAM/ROM (Random Access/Read-Only Memory), including programmable memory, as relates to the latter type.

NOTE.– An understanding of the concepts of data representation and arithmetic operations in a computer is assumed. Otherwise, cf. Darche (2000). This will also be the case for logical operators. On this subject, cf. Darche (2002).

1.1. Layers of languages, stages of development and tools

The processor uses two-state logic. Instruction codes and data are therefore expressed in binary. This is machine ...

Get Microprocessor 5 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.