Microcontroladores

Microcontroladores

Microcontroladores e embarcados, programação e desenvolvimento.

Configurando interface de rede no BeagleBone Green

1

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.

Algebra com BITs

0

Olá pessoal!

Nesse novo artigo usaremos matemática com BITS, operadores lógicos e outros conceitos interessantes para manipular números inteiros.

Microcontroladores 101. O inicio de uma grande jornada

1

Olá pessoal!

Nem todo mundo está familiarizado com o que é um microcontrolador.Do que se trata? Quais são seus componentes? e aonde é usado?.

Usando o AVRDUDE.

0

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.

“AVR-OBJCOPY” uma breve análise.

0

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?

Analisando o avr-gcc

0
http://savannah.nongnu.org/
http://savannah.nongnu.org/

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:

S2 codeblocks
S2 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/

Instalando a Toolchain para AVR no Debian

1

Ola pessoal!

Meu nome é Filipe e hoje irei mostrar como preparar um ambiente basico para programação de microcontroladores atmel AVR-8bits.