Bbruno
General de Pijama
Registrado
3.2K Mensagens
102 Curtidas
Fergo
Highlander
Registrado
9.3K Mensagens
1.1K Curtidas
É perfeitamente possível usar o AVR-GCC:
http://www.javiervalcarce.eu/wiki/Program_Arduino_with_AVR-GCC
Porém meio que quebra a utilidade do Arduino. Se for partir para o AVR-GCC é melhor simplesmente comprar o AtMega328P standalone e usar um gravador pra AVR. No tutorial que eu mandei ele ainda usa o Arduino e o seu bootloader, o que permite gravar o software via USB, sem precisa de um gravador específico.
ripongao
Veterano
Registrado
755 Mensagens
94 Curtidas
sempre ou até então, tudo que for feito em assembly para qualquer coisa poderá ser feito usando-se um editor de textos bem vagabundo, uma tradução dos cabeçalhos disponíveis (caso existam, por exemplo .h disponíveis ou tradução das portas, constantes, macros para chavear modos de operação) para o assembler em questão (include algo.inc) e o processo de compilar (montar e vincular - assemble e link) feito por linha de comandos.
Muito radical? então outra forma é sair catando valores hexadecimais e ir montando o quebra-cabeça,digo, ignorando o uso do montador e vinculador, inicialmente colocando endereços fictícios (label - rótulos) para após pronto recalculá-los e ao mesmo tempo estruturando a saída para o arquivo compatível necessário.
Só fui saber o que era IDE depois de muito tempo programando usando o edit do ms-dos, editores hexadecimais e montadores na unha, fiquei maravilhado na hora ao ver o uso de uma IDE, agregava quase tudo numa única ferramenta, muito massa, um botão é é montado o projeto, outro e é vinculado, outro e é feito o backup com diferenças entre versões, outro e é compilado, executado e invocado o depurador, ao escrevermos o começo das funções o recurso autocomplete aparece nos fornecendo uma ajudinha nos parâmetros, cores diferentes para diferenciar instruções de funções/parâmetros, aperto um botão e um editor de recursos (ambientes visuais) nos aparece para desenharmos quadrados (controles) sem precisar calcular nada sobre a tela, quanta facilidade, mas na hora dos problemas eu sabia me virar tranquilamente pois sabia que era só salvar o texto em questão e montar; enquanto outros cruzavam os braços e procuravam por bugs nas IDE's enquanto as vezes o bug estava no montador ou uma simples variável do ambiente que não estava setada, caminho não encontrado,... .
o senhor é dos meus, conhecer as coisas na unha. Infelizmente não brinquei com atmel, mas suponho que seria desse jeito pois com z80 foi assim, x86 foi assim, usando emulador arm e pic foi assim.
Desliguei-me do fórum. Conta canelada.
felipexp8
Super Participante
Registrado
555 Mensagens
23 Curtidas
Ok, deu certo, obrigado.
.
Utilizei o Atmel Studio 6.0 para gerar o .hex, ele já vem com o AVR-GCC e ainda tem a opção de programar direto em assembly.
Depois eu peguei o .hex e aproveitei o programa de command line AVRDude que tinha no kit do Arduino para enviar os bytes pela UART, até montei um arquivo .bat pra automatizar.
O Arduino Nano tem uma interface ISP para receber o novo programa na flash via UART, assim não precisa de gravador. Utilizar o AtMega328p standalone seria o mais ideal para um TCC de engenharia, porém terei que fazer um placa de circuito impresso e não poderei usar encaixe DIP no microcontrolador (a não ser que eu consiga um Atmel com menos pinos, 10 pinos GPIO já é o suficiente) por causa das especificações do meu TCC, o projeto é em miniatura para portar num pulseira.
Vou pesquisar... vou ver onde tem para comprar o uC Atmega e um gravador ou kit JTAG, porque lá na 24 de maio não vai ter estas coisas. Por enquanto, na fase de testes, farei na placa do Arduino, depois, o próximo passo: integrar no kit zigbee para fazer a comunicação sem fio.
Fergo
Highlander
Registrado
9.3K Mensagens
1.1K Curtidas
felipexp8
Super Participante
Registrado
555 Mensagens
23 Curtidas
LOL, é assim mesmo, eletrônica na veia, eu já fiz isso usando 8051 em assembly, tinha que levar em consideração todo o mapeamento de memória, pra não gravar nada no lugar errado e perder o software monitor que usava pra depurar.
Já fiz até mais low-level ainda, num projeto de FPGA, fiz uma calculadora de operações básicas, daí queria automatizar com uma sequencia se operações para representar uma formula matemática, aí coloquei instruções em binário, representando os chaveamentos dos blocos de aritmética e barramentos, foi bom fazer um projeto insano assim porque revisei todos os conceitos de circuitos digitais e aprendi como uma FPGA funciona.
felipexp8
Super Participante
Registrado
555 Mensagens
23 Curtidas
Bem pensado
. Assim vai facilitar muito. No meu caso, não preciso de muito processamento, basta 8bits, 8Mhz e mais menos 10 pinos GPIO. Assim fica fácil para ligar no outro bloco do meu projeto do kit zigbee.