Wiki ADA

Projetos em Engenharia de Computação

Ferramentas do usuário

Ferramentas do site


gravacao-atmega328

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
gravacao-atmega328 [2019/01/21 21:47]
amador
gravacao-atmega328 [2019/01/31 14:38] (atual)
amador
Linha 59: Linha 59:
 =====Gravação Direta no Arduino===== =====Gravação Direta no Arduino=====
  
-Por este método, nós gravamos diretamente o ATmega presente no Arduino.+Por este método, nós gravamos diretamente o ATmega presente no Arduino. ​Para saber quais entradas e saídas do Arduino estamos usando com nosso código, usamos o mapeamento de pinos de ATmega para Arduino: 
 +{{:​mappingatmega.png|}}
  
 Para utilizá-lo,​ é preciso ter o arquivo .hex gerado pela compilação e conectar o Arduino ao computador. Então é usada a linha de comando no formato: Para utilizá-lo,​ é preciso ter o arquivo .hex gerado pela compilação e conectar o Arduino ao computador. Então é usada a linha de comando no formato:
Linha 77: Linha 78:
  
 =====Arduino como ISP===== =====Arduino como ISP=====
 +
 +Por este método, nós usamos um Arduino como ISP (In System Programming) para programar um ATmega avulso.
 +Para isso, montamos o Arduino e o chip avulso da seguinte forma: ​
 +[(arduinoISPsite>>​
 +title     : Arduino as ISP and Arduino Bootloaders
 +publisher : Arduino
 +url       : https://​www.arduino.cc/​en/​Tutorial/​ArduinoISP
 +)]
 +
 +{{:​arduinoisp.png|}}
 +
 +E gravamos no Arduino o código que o faz agir como uma ISP. Esse código pode ser encontrado na própria IDE do Arduino, conforme mostra a figura:
 +[(arduinoISPsite)]
 +{{:​arduinoispcodigo.png|}}
 +
 +
 +Então, depois de ter o arquivo .hex gerado pela compilação e conectar o Arduino ao computador, usamos a linha de comando no formato: ​
 +<​code>​avrdude -c avrisp -p m328 -P /​dev/​ttyUSB0 -b 19200 -U flash:​w:​codigoCompilado.hex</​code>​
 +
 +Nesta linha de comando, ''​-c avrisp''​ especifica que o programador utilizado é uma AVRISP (dispositivo que é simulado pelo Arduino), ''​-p m328''​ especifica que o microcontrolador sendo gravado é um ATmega328, ''​-P /​dev/​ttyUSB0''​ especifica que o dispositivo está no port /​dev/​ttyUSB0,​ ''​-b 19200''​ determina o baudrate usado na gravação (19200 é o usado para gravação usando um Arduino como ISP) e ''​-U flash:​w:​codigoCompilado.hex''​ determina que a gravação ocorrerá na memória flash do microcontrolador,​ que será uma operação de escrita (determinada pela letra w) e que o arquivo a ser gravado é o ''​códigoCompilado.hex''​. ​
 +[(optionsAVRDUDE)]
 +[(tutorialLadyada)]
 +----
 +=====Makefiles=====
 +Para facilitar a compilação e gravação de ATmegas, utilizamos Makefiles. Os Makefiles para gravações simples (apenas um arquivo de código fonte) para os dois métodos de gravação apresentados estão em {{ :​makefiles_atmega.zip | Makefiles ATmega}}. ​
 +
 +Para utilizá-los,​ é preciso deixar o nome do arquivo escolhido apenas como ''​Makefile''​ e então ajustar os parâmetros NAME (nome do arquivo fonte), MICRO (qual microcontrolador é usado) e OBJ (nome do arquivo fonte mais o ''​.o''​). Umas vez ajeitado, pelo terminal usa-se o comando
 +<​code>​make</​code>​ para compilar e o  comando <​code>​make upload</​code>​ para compilar e gravar.
  
  
gravacao-atmega328.1548114448.txt.gz · Última modificação: 2019/01/21 21:47 por amador