In System Programming Vs In Application Programming
Flashing new firmware in the microcontroller can be done in two ways: 1. In System Programming: The process in which a device can be flashed without removing the chip from the board.. E.g. Flashing the PIC Microcontroller using PICKit In order to perform ISP operation, the microcontroller is powered up in a special mode: "ISP Mode". ISP mode allows the microcontroller to communicate with an external host device through the serial port such as PC or terminal. Microcontroller receives commands, data over the serial from host, erases and reprograms the code memory.. Once ISP operations has been completed, the device is reconfigured so that it will operate normally the next time it is reset or power removed and reapplied. Microcontroller by default gets factory shipped by a bootloader. This bootloader will check the state of the pin on boot, and depending on it will either start the user program or will wait for downloading firmware over UART. 2. In Application Progra