Ola galera! Hoje iremos começar algumas configurações básicas na nossa beaglebone green!
Para quem já tem a mesma sejam bem vindos! Para que não possui ainda visitem wiki da beaglebone e vejam o que essa incrível placa é capaz.
Microcontroladores e embarcados, programação e desenvolvimento.
Ola galera! Hoje iremos começar algumas configurações básicas na nossa beaglebone green!
Para quem já tem a mesma sejam bem vindos! Para que não possui ainda visitem wiki da beaglebone e vejam o que essa incrível placa é capaz.
Olá pessoal!
Nesse novo artigo usaremos matemática com BITS, operadores lógicos e outros conceitos interessantes para manipular números inteiros.
Olá pessoal!
Nem todo mundo está familiarizado com o que é um microcontrolador.Do que se trata? Quais são seus componentes? e aonde é usado?.
Olá pessoal meu nome é Filipe e venho dar aos amigos uma pequena dica para agilizar a compilação e gravação do seu código.
Olá amigos meu nome é Filipe e hoje irei apresentar um amigo antigo o AVRDUDE.
O AVRDUDE é um utilitário para realizar download/upload/manipular a memória FLASH e EEPROM de microcontroladores AVR ou seja será ele que usaremos para gravar nossos programas nos chips.
Olá galera, meu nome é Filipe e hoje iremos analisar o avr-objcopy.
Topicos a serem analisados de acordo minha pessoa são:
1 – Para que serve?
2 – O que siguinifica cada parametro?
Olá pessoal hoje, juntos, iremos estudar um pouco mais sobre o avr-gcc.
Um dos motivos de minha pessoa gostar da marca atmel se chama avr-gcc. Não é difícil de virar fã quando algum hardware ou linguagem é suportado pela GNU Compiler Collection.
É fácil encontrar IDEs que contem o mesmo, como o codeblocks:
Pois é pessoal, uma IDE prontinha para ser usada para programar AVR, grátis, open e linda.
Porem iremos dar uma olhada mais de perto.Porem infelizmente contemplando só os argumentos principais pois um artigo mais detalhado seria inviável pois o manual do GCC possui mais de 20000 linhas!
No Linux é fácil ter acesso ao manual do GCC:
man gcc
O interessante é que o que vos fala perdeu um tempo considerável procurando pelo manual do avr-gcc porem esta tudo incluído no manual do GCC.
No meu primeiro artigo utilizamos o seguinte comando para compilar o código fonte em C:
avr-gcc -Os -mmcu=atmega328p blink.c -o blink.out
O “avr-gcc” o herói da historia é o programa que ira ler nosso fonte e traduzi-lo para um arquivo objeto.
A flag “-Os” significa “optimization for size”, força o compilador a reduzir o máximo o tamanho do código gerado bem como deixa-lo mais rápido.
A flag é importante para a compilação de programas que usam a biblioteca delay.h pois sem a flag as funções contidas na lib irão apresentar comportamento errático então deixe a flag como está e se esquecer da mesma e tiver usando a delay.h ira receber a seguinte saida:
# warning "Compiler optimizations disabled; functions from won't work as designed"
Outras opções de otimização bem como a descrição das mesmas estão aqui Optimize-Options
avr-gcc -Os -mmcu=atmega328p blink.c -o blink.out
A terceira flag “-mmcu” está no manual como um item de uma lista chamada AVR Options.
AVR Options:
-mmcu=mcu
-maccumulate-args
-mbranch-cost=cost
-mcall-prologues
-mint8
-mn_flash=size
-mno-interrupts
-mrelax
-mrmw
-mstrict-X
-mtiny-stack
-nodevicelib
-Waddr-space-convert
-mmcu=mcu
Nessa opção iremos especificar qual microcontrolador iremos utilizar. Nessa caso o ATMEGA328p que equipa os arduinos UNO r3. mas podemos ter outros exemplos como:
avr-gcc -Os -mmcu=attiny85 blink.c -o blink.out
avr-gcc -Os -mmcu=atmega2560 blink.c -o blink.out
Para a lista completa dos dispositivos suportados: avr-lib:manual do usuário
As outras opções são para um uso mais avançado e especifico portanto deixaremos as mesmas para uma próxima abordagem.
-o file : O avr-gcc salvara sua saída em um arquivo file que o usuário especificar. No nosso caso o blink.out. Se nada for especificado a saída será salva automaticamente em um arquivo de nome “a.out”.
-v : Printa no terminal os comandos e erros durante o processo do avr-gcc.
Bom e para concluir minha experiência: O GCC é enorme, poderoso e complexo, não tendo como simplificar os seus atributos em um único artigo. Então iremos seguir em frente, sempre explorando o que podemos daqui para frente.
Obrigado pessoal
Fontes:
http://www.atmel.com/webdoc/AVRLibcReferenceManual/using_tools_1using_avr_gcc_mach_opt.html
https://gcc.gnu.org/
http://www.nongnu.org/avr-libc/
Ola pessoal!
Meu nome é Filipe e hoje irei mostrar como preparar um ambiente basico para programação de microcontroladores atmel AVR-8bits.