Boas!
Após ter lido este tópico
http://lusorobotica.com/index.php?topic=4571.0 fiquei ainda com algumas duvidas em relação ao modo como se procede para carregar o bootloader.
Material que disponho:
Arduino UNO
Chip PDIP Atmega644p 40 pinos
Breadboard
Ressonador 16MHz
Condensador de 0.1uF
R 560ohm e 10kohm
Objectivo: gravar o bootloader no Atmega, para utilizar numa placa sanguinololu
Procedimento:
1)Com o Arduino IDE 0023 carrego o sketch ISP para o arduino UNO;
2)Faço o esquema de ligações descrito em :
http://themakersworkbench.com/node/4311ªDuvida: Como é que sei se o chip Atmega está a usar o oscilador interno? Ou se tenho de usar um externo?
2ªDuvida: O que é o circuito minimo de um chip? Ou seja, de acordo com
http://avrprogrammers.com/atmega644bd.php eu preciso de ter um condensador entre GND(11) e AREF(32), isto será so para dar a referência dos +5V lógicos? Ou tem outra função?
3ªDuvida: Já li noutro post que é necessário utilizar uma resistência de pull-up de (+/-)560ohm, mas não percebi se era no Arduino UNO ou se é na breadbord com o Atmega644p.
Já tentei gravar através do Arduino IDE, mas dá me erro de sincronização no protocolo stk500, gostava de utilizar o WinAVR, mas como nunca utilizei ainda tenho algumas duvidas nos comandos. Apenas li o tópico já referido.
Agora a parte do Sanguino:
Em:
http://code.google.com/p/sanguino/downloads/list faço o download da versão 0023r4.
O ficheiro boards.txt tem a seguinte informação:
Anexo1
A pasta bootloaders tem os seguintes ficheiros:
Anexo2
4ªDuvida: Segundo esta imagem, tenho de “comentar” a linha 13 e “descomentar” a inha 14?
Na pagina do Sanguino dizem-nos para alterar o uploadspeed para 38400, porque é a velocidade recomendada para fazer upload de firmwares.
5ªDuvida: Ao usar o comando avrdude qual o baudrate a usar? Será 19200 ou é o valor que tenho definido no ficheiro boards?
6ªDuvida: Ao fazer upload do ficheiro *.hex preciso de dar apenas o caminho onde está o ficheiro AtmegaBOOT_644p.hex ou tenho de dar o directorio onde estão tambem AtmegaBOOT_644p.c; AtmegaBOOT_644p.elf; etc.?
7ªDuvida: Em que sítio do chip se deve gravar o bootloader? Pelo que li no datasheet, o processador tem vários espaços de memoria, mas qual é a zona onde devemos gravar? É na flash?(parametro –U a seguir).
Ou seja supondo este comando:
avrdude -c avrisp -p m644p -b 19200 -P COM3 -U flash:w:ATmegaBOOT_644P.hex
Tenho no disco C:\ uma pasta chamada avr (c:\avr) onde pus o ficheiro *.hex
O directorio onde estão os ficheiros *.hex devem ser abertos na linha de comandos antes de escrever o comando avrdude? Como está na imagem a seguir?
Anexo3