so the advantage is an easy way to update firmware in products, or an easy way to develop software and reprogram without ISP.... cool... > Actually, a bootloader is a piece of code which resides on the PIC, and is the > first thing that runs when turned on. Upon boot-up of the PIC it checks a pin > and based on whether the pin is high or low, it goes into a special programming > mode where you can program the rest of the PIC through the UART, or it runs the > program already stored. This eliminates the need for a programmer or ICSP(in > circuit serial programming) or could be considered a form of ICSP. No high > (+13.5) programming voltages are needed. > > This has really only come up now (in the world of PICs) with the widespread use > of the flash chips 16f8xx which can write to their own program flash. > > Bootloaders were (and are) widely used on other architechtures where the program > and data memory are not seperate (8051, 68k, etc). The ROM of such a device > might have the bootloader, which loads a program from a serial port into the > memory, and then starts program operation at that point in memory. This isn't > something new to the world, only to the PIC line of uControllers. > > -Adam