Bootloader em microcontroladores
Num microcontrolador comum, o pograma compilado por nós é programado no chip através de um circuito especial (firmware) compatível, conhecido por programador. No entanto, isto implica que é preciso tirar o microcontrolador do PCB e pô-lo no programador. Repetindo este cenário muita vezes pode danificar os pinos do micontrolador bem como o PCB. Daí existir uma outra alternativa de programar os nossos microcontroladores: explorar a funcionalidade RS232 dos nossos chips e transferir o programa compilado pela porta série, on-chip (sem a necessidade de remover o micro do PCB). Para que isso seja possível, é previamente programado no microcontrolador um pequeno programa (inferior a 200 palavras) que controla a comunicação com o PC e que transfere a informação recebida para a memória de programa do micontrolador. Este programa é designado por “bootloader“.

O seu princípio de funcionamento é simples. Sempre que o microcontrolador for ligado, inicia-se a execução do bootloader. Este começa por perguntar ao PC sobre o que fazer. Se este não disser nada num determinado prazo e se existir um programa na memória do chip, o bootloader executa-o. Caso receba informações do PC, é iniciado o processo de transferência e armazenamento do novo programa. Convém referir que o bootloader tem de funcionar em conjunto com um programa que corre no PC (exemplo de programas: TinyPIC, WinPIC Loader, Pic Downloader).
Já existem inúmeros microcontroladores com o bootloader instalado, alguns da família PIC16 e PIC18 da Microchip, alguns da ATMEL e AVR e mesmo o Arduino.
O circuito de interface com o PC é a configuração típica de quem quer comunicar via porta série:

Fonte Southafrikanse
Deseja manter-se informado dos últimos artigos do Tugatrónica? Então basta adicionar o nosso Feed ao seu leitor de Feeds ou até mesmo nos seus favoritos.







September 9th, 2008 às 1:39 am e a usar Mozilla Firefox 3.0.1 no Linux
Pessoal… TODOS os microcontroladores modernos (ou 99% deles) podem ser programados directamente no circuito. E mais… até podem fazer debug no circuito (in-circuit programming/debug). Para isso existem interfaces como JTAG por exemplo: http://en.wikipedia.org/wiki/JTAG
Os bootloaders são usados apenas em situações muito concretas onde é necessário alterar o firmware sem desactivar a máquina como se faz quando se altera o firmware de um telemóvel por exemplo.
September 21st, 2008 às 1:48 pm e a usar Mozilla Firefox 3.0.1 no Windows XP
Já agora.. um pequeno aparte que pode deixar induzir muita gente em erro.. o PIC16F84 representado no esquema não pode ser utilizado com bootloader porque não tem a capacidade de auto-escrita (self-write), ou seja, o PIC16F84 não consegue escrever na sua própria memória de programa. Penso que o PIC mais parecido ao 16F84 que suporta self-write é o PIC16F88.. Podem consultar estas informações no site da Microchip