Introducing TinyMultiBootLoaderPlus

What is TinyMultiBootLoaderPlus?

It is a bootloader for microcontrollers

A Bootloader is a firmware running in the PIC device which allows the user to send it’s own firmware without the need of a programmer.

TinyMultiBootLoaderPlus Bootloader is

Firmwares for many microcontrollers including PICs and AVR devices. This microconroller firmware is needed to be send to the microcontroler flash memory with a programmer, only once.

a PC software which communicates, via serial connection (only, except for PIC32 for which an USB firmware exists), with the bootloader firmware in the microcontroler device and send it the user’s program.

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;

Development program

This bootloader is based on the original works by "Tiny PIC Bootloader" see http://www.etc.ugal.ro/cchiculita/software/picbootloader.htm by Claudiu Chiculita. We thank his great works.

The Windows Operating System software is based on "Tiny Pic Bootloader for GNU/Linux" writen in python by Ferezvi and has been ported to Visual Studio.

TinyMultiBootLoaderPlus capabilities

TinyMultiBootLoaderPlus supports the following microconrtollers: Atmel: ATtiny ATmega NXP ARM Cortex-M0+ Microchip: PIC10 PIC12 PIC16 PIC18 PIC24 dsPIC30 dsPIC33 PIC32

And:

with light modifications to the Bootloader firmware for new devices without having to modify something: neither your code, nor the linker script, nor remap reset/interrupts vectors to new locations, etc…​ via GUI or command line with automatic Reset on RTS serial pin with autodetect of the right COM port and baud rate (only if automatic Reset on RTS serial pin is enabled and correctly connected to PIC device) with HEX code verification to avoid to send a program from a different device family in your PIC (for example: prevent to program a PIC16 ".hex" in a PIC18 device) with debug messages capabilities

Licencing

This software is under "Creative Commons Attribution Non-Commercial License": you can use it at home for free you can use it at work for free you can share it for free, but this licence must remain the same you can modify it as you want, but this licence must remain the same you CAN’T sell it, even if you have modified it