For embedded system application you have a dedicated intelligent semiconductor chip which is capable to execute a software program, and behave at input and output data pins as per software instructions. These chips are called a processor and a processor can be microcontroller, microprocessor, DSP, etc.
The software for such embedded system processor generally is written in the laptop or PC, compiled (or assembled) using a cross-compiler tool (called cross compiler because program is written in PC and executed in embedded processor). Compiler (or assembler) generate executable file for the particular processor and this program should be inserted (saved) in processor's non-volatile memory (internal or external).
Programming the processors's nonvolatile memory is itself a tough task. In earlier days practice was to remove processors or its external memory from target board and place it in a specific programming device. Even today many people program processor in same way. But a new and convenient way is to program the processor or its memory while remaining in the target board. It is called in system programming.
What you need for in system programming?
- Hardware interface from you PC, so that the executable program can be transferred from PC / Laptop. This interface can be DB-9 connector, USB or parallel (printer) port.
- Software running in the PC which can control the data sending on hardware interface port. Generally this software are Flash tools like Flash magic, or IDEs like TI's code composer studio, Microchip's MPLAB, etc
- A specific hardware which would recieve data from the PC and transfer it to target board using a special hardware interface like SPI (serial programming interface), JTAG, Microchip's ICD, etc. Here JTAG and ICD have additional capability for debugging.
- Sometime, the hardware interface mentioned in last point is not used. But the target processor itself have BOOTLOADER software programmed or pre-programmed in it. Bootloader is a software in the program memory executes when processor resets. It give use a option to either run the existing application software or receive a new application software from PC using a serial interface. Generally PC transfer data using RS-232 (DB-9 connector) and MAX 232 IC convert it to UART (Rx, Tx) data. This self programming capablity using boot loader provides excellent convenience and low cost. But it need a boot loader in the processor and UART compability.
No comments:
Post a Comment