µ[micro]electronics info

A weblog focused on interesting circuits, ideas, schematics and other information about microelectronics and microcontrollers.

E-books

Google

Disclaimer

Because I have not tested all electronic circuits mentioned on this pages, I cannot attest to their accuracy; therefore, I do not provide a warranty of any kind and cannot be held responsible in any manner.

My e-mail

My website

Tiny PIC bootloader

This is a bootloader for the Microchip PIC microcontrollers.It is the smallest bootloader, taking less than 100 words of program space and Supports families of PIC devices: 16F, 18F, dsPIC30.

A bootloader is a program that stays in the microcontroller and communicates with the PC (usually through the serial interface). The bootloader receives a user program from the PC and writes it in the flash memory, then launches this program in execution. Bootloaders can only be used with those microcontrollers that can write their flash memory through software. The bootloader itself must be written into the flash memory with an external programmer. In order for the bootloader to be launched after each reset, a "goto bootloader" instruction must exist somewhere in the first 4 instructions.

Features of the firmware

* Size of only 100 words; (all versions, for 16F,18F,dsPIC occupy less than 100 words);
* Can write flash, eeprom and configuration bytes(18F);
* On reset, waits 1 second (adjustable) for a message from the PC, if not received, launch user application;
* The .asm file can be easily modified and adapted for any frequency (or baudrate);

Features of the PC software

* Can upload programs into flash (in current version eeprom and cfg bytes can be modified only manually, depending on the device type);
* Works with PIC16F,PIC18F and dsPIC types; automatically detects HEX content and PIC model;
* Remembers last settings;
* In case of errors, performs retransmissions or tries to resynchronize with pic;
* The communication settings are editable so you can write any COM number or desired baud;
* If a filename is specified as a command line parameter, it will automatically try to write it;

Powered by Drupal - Design by Artinet