Arduino
O Arduino foi criado em 2005 por um grupo de 5 pesquisadores : Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino e David Mellis. O objetivo era elaborar um dispositivo que fosse ao mesmo tempo barato, funcional e fácil de programar, sendo dessa forma acessível a estudantes e projetistas amadores. Além disso, foi adotado o conceito de hardware livre, o que significa que qualquer um pode montar, modificar, melhorar e personalizar o Arduino, partindo do mesmo hardware básico.
Bootloader Arduino
O bootloader funciona dessa forma: ele verifica se a porta serial recebe uma determinada sequencia de bits que sinaliza a gravação de um novo programa na memória do arduino, caso não receba essa mensagem ele receba essa mensagem ele continua com seu processo de inicialização com o que ja esta salvo na memória.
Adquação a pinagem com o bootloader
O Arduino é um micro-controlador com varios modelos e caracteriscas proprias em cada qual, as suas adquações de hardware são realizadas de acordo com as portas seriais (UARTS), onde acontecerá a seleção em código. O hardware será selecionado de acordo com a sua UARTS, como o atmega128 tem 2 portas seriais(UARTS), dois pinos sao usados para entrar no bootloaders e selecionar a UART, ou o atmega1280 tem 4 portas seriais mas apenas usa a RXD0 para receber o codigo BL0 = UART0, BL1 = UART1.
A UART: O que é e como funciona?
O controlador UART (Universal Asynchronous Receiver / Transmitter) é o componente chave do subsistema de comunicação serial de um computador. O UART pega bytes de dados e transmite os bits individuais de forma seqüencial. No destino, um segundo UART reúne os bits em bytes completos. Existem duas formas primárias de transmissão serial: Síncrona e Assíncrona. Dependendo dos modos suportados pelo hardware, o nome do subsistema de comunicação geralmente incluirá um A se ele suportar comunicações assíncronas, e um S se ele suportar Comunicações síncronas. Ambas as formas são descritas abaixo. Sua siglas comuns UART Universal Asynchronous Receiver/Transmitter, USART Universal Synchronous-Asynchronous Receiver/Transmitter, (Receptor / Transmissor Assíncrono Universal UART), (Receptor / Transmissor Síncrono-Assíncrono Universal USART).