Development environment
- Software and hardware tools supports the programming of general-purpose processors.
- Two processors in ES development are:
- The development processor, on which we write and debug our program. This processor is part of our desktop computer.
- The other processor is the target processor, to which we will send our program and which will form part of our ES’s implementation.
- For example, we may develop our system on a Pentium processor, but use a Motorola 68HC11 as our target processor.
- Sometimes the two processors are same.
- Assemblers translate assembly instructions to binary machine instructions.
- An assembler may also translate symbolic labels into actual addresses.
- The mapping of assembly instructions to machine instructions is one-to-one.
- A linker is a software tool that creates an executable file.
- Compilers translate structured programs into machine (or assembly) programs.
- Cross-compilers are extremely common in embedded system development.
- Debuggers help programmers evaluate and correct their programs.
- A source-level debugger enables step-by-step execution.
- Device programmers download a binary machine program from the development processor’s memory into the target processor’s memory.
- Emulators support debugging of the program while it executes on the target processor.
- An emulator typically consists of a debugger coupled with a board connected to the desktop processor via a cable.
- In-circuit emulator enables one to control and monitor the program’s execution.
- In circuit emulators are available in ES itself.
- The availability of low-cost or high-quality development environments for a processor influences the choice of a processor.
