45 Comentários

Primeiros passos com Atmel Studio

Atmel Studio

Atmel Studio é a plataforma de desenvolvimento disponibilizada gratuitamente pela Microchip para desenvolver projetos com seus microcontroladores. Suporta tanto os Atmel AVR quanto os Atmel ARM Cortex. Nesta ferramenta é possível desenvolver projetos em C/C++ ou Assembly, além de depurar o programa tanto com ferramentas externas como em um simulador integrado. Além do Atmel Studio existem outras ferramentas que auxiliam o desenvolvimento com microcontroladores Atmel AVR, entre elas podemos citar o compilador AVR GCC e o programador por linha de comando AVRDUDE, ambos open-source.

Nesse artigo vamos exibir os primeiros passos para se criar um projeto em linguagem C utilizando o Atmel Studio e como enviar o programa para a placa Arduino UNO utilizando o avrdude.

Atmel Studio

Ante de mais nada é necessário fazer o download do Atmel Studio. Você pode baixar diretamente do site da Microchip. É interessante notar que o Atmel Studio, além de possuir um ótimo editor de código com vários recursos, inclui o compilador GCC C e C++, Assembler e um simulador, e interfaces contínuas com depuradores e programadores no sistema para tornar o desenvolvimento dos códigos mais fácil. Outro ponto a ser notado é que a ferramenta é baseada no Visual Studio da Microsoft, portanto só é possível usar a mesma no Windows.

Após o download é só instalar seguindo os passos do assistente de instalação no Windows.

O AVRDUDE

O AVRDUDE é um programador em linha de comando muito popular para linha de microcontroladores Atmel AVR. É um projeto open-source e também é utilizado para upload dos programas na plataforma Arduino.

Para este tutorial você pode fazer o download do AVRDUDE que será integrado ao Atmel Studio mais à frente

Criando um projeto com o Atmel Studio

Para criar um novo projeto no Atmel Studio acesse File > New > Project, conforme exibido na figura 1:

Figura 1 - Iniciando um projeto no ATMEL Studio
Figura 1 - Iniciando um projeto no ATMEL Studio

Será aberta uma janela para configuração do projeto. Nela é possível escolher o compilador, além do nome e do caminho da pasta onde o projeto será armazenado, conforme exibido na figura 2:

Figura 2 - Configurando um novo projeto
Figura 2 - Configurando um novo projeto

A seguir será apresentada uma janela para escolha do microcontrolador alvo. Neste caso foi escolhido o ATmega328P, microcontrolador da Arduino UNO, conforme exibido na figura 3:

Figura 3 - Escolhendo o microcontrolador
Figura 3 - Escolhendo o microcontrolador

Pronto, o projeto foi criado! Além disso também foi criado o código fonte com a função main() já inserida, pronto para digitar o código da aplicação, conforme exibido na figura 4:

Figura 4 - Projeto criado no Atmel Studio
Figura 4 - Projeto criado no Atmel Studio

Para testar, vamos inserir um código para piscar o LED no pino PB5, que é o pino 13 da placa Arduino UNO. Digite o código a seguir:

O código apresentado é relativamente simples e os comentários explicam detalhadamente cada linha do programa. Para construir o projeto, você pode acessar Build > Build Solution, conforme exibido na figura 5:

Figura 5 - Compilando o projeto
Figura 5 - Compilando o projeto

Durante a construção do projeto, na janela Output são exibidas algumas informações desse processo além de detalhes do uso de memória e status final do processo, conforme exibido na figura 6 a seguir:

Resultado da Compilação
Figura 6 - Resultado da Compilação

A partir desse ponto já foi criado o arquivo .hex e o mesmo está pronto para ser gravado na memória flash do microcontrolador. Para esse processo vamos utilizar o gravador AVRDUDE junto com o bootloader presente na placa Arduino UNO. Dessa forma não será necessária uma ferramenta de gravação.

Configurando o AVRDUDE no Atmel Studio

Após o download do programa é necessário configurar o mesmo dentro do Atmel Studio para agilizar o processo de upload do .hex para a placa. Inicialmente é interessante criar uma pasta no diretório C:\ com o nome avrdude contendo o executável do programa e os demais arquivos que vieram juntos no download. Próximo passo é configurar dentro do Atmel Studio, para isso acesse Tools > External Tool…, conforme exibido na figura 7:

Adicionando uma ferramenta externa
Figura 7 - Adicionando uma ferramenta externa

Será aberta uma janela para configuração de uma ferramenta externa. Configure o avrdude, conforme  exibido na figura 8:

 Configurando o avrdude
Figura 8 - Configurando o avrdude

O parâmetro Arguments deve ficar da seguinte forma, para interface com a placa Arduino UNO:

Dica do leitor :Luís Fernando Chavier

"Dessa forma dá para usar diferentes configurações de build (ex. "Debug", "Release", etc.) que ele já busca o executável no lugar certo."

Obs: Será necessário mudar a COM9, conforme a porta que o Arduino foi conectada.

Após a configuração, a ferramenta estará disponível no menu Tools. Com o projeto já compilado, para iniciar o processo de gravação basta acessar o menu Tools e clicar no nome dado à ferramenta de programação, conforme exibido na figura 9:

Iniciando o avrdude para programação
Figura 9 - Iniciando o avrdude para programação

O status da programação aparecerá na janela de saída e caso ocorra com sucesso aparecerá a mensagem exibida na figura 10:

Resultado da programação com avrdude
Figura 10 - Resultado da programação com avrdude

Após isso o LED L da placa Arduino UNO começará a piscar em intervalos de 1 seg.

E você leitor, que esta acostumado a programar o microcontrolador Atmega328 com o uso da plataforma Arduino, o que acha de começar a explorar os recursos dos Atmel AVR utilizando as ferramentas apresentadas?

Saiba mais

Arduino UNO

Programe o Arduino UNO com o CodeVisionAVR

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Arduino » Primeiros passos com Atmel Studio
Comentários:
Notificações
Notificar
guest
45 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Joao Candido
joao candido
07/12/2019 15:08

muito bom conprei um usbasp mais nao tava conseguindo a conecção ja tava desistindo do avr para estudar o pic mais agora com esse seu artigo deu certo vou continuar com o avr , obrigado

Ulisses Freitas
Ulisses Freitas
05/06/2019 11:58

se eu usar o atmel studio para aprender a programar em C ou assembly
o meu arduino ainda poderá ser programado pela IDE dele normalmente?

Juliano
Juliano
01/04/2019 22:00

boa noite, eu gostaria de saber se o ATMega328p, tem um divisor de frequência, igual ao 8051, que divide o clock? se sim é por quanto?

Wagner Ricardo Alves dos Santos
wagner Ricardo Alves dos Santos
26/03/2019 10:12

Bom dia Fabio gostei do artigo gostaria de saber se esse procedimento apresentado serve para outras placas arduino como Atmega .

Grato

Eron Almeida
Eron
03/08/2018 11:28

É possivel alterar a tensão de trabalho de um atmega 328 ou um 168 para trabalhar com 3.3 V e mesmo assim rodar com a plataforma arduino?

Mateus Lima
Mateus L. Fonseca
28/06/2018 10:11

Olá pessoal estou com um problema , atualmente estou trabalhando SparkFun Geiger Counter e estou usando o Atmel porém estou com alguns erros , alguém pode dar uma força?

Daniel Fernandes
Daniel Fernandes
15/05/2018 23:41

Saudações Fábio!
Tenho um projeto pronto que baixei pela internet aqui: https://www.youtube.com/watch?v=-XuD8idesZo e, dentro de uma pasta, existem vários arquivos como 'Makefile', 'main.c', entre outros; portanto, gostaria de saber qual ou quais arquivos devo usar para gravar no microcontrolador como um ATmega328-P; Obrigado

Mateus Lima
Reply to  Fábio Souza
29/06/2018 10:58

Fábio , me tira uma duvida é possivel rodar o sparkfun geiger counter no atmel ? Ou essa IDE só roda microcontroladores da atmel?

Joel
Joel
21/02/2018 09:18

Como posso usa-lo com o STM32? o STM estará na World Skills e ainda não o aprendi.

William Ferreira
William Ferreira
18/01/2018 15:00

Então, como nesse exemplo não é utilizado as bibliotecas do Arduino, as Creative Commons do Arduino não se aplicam? Caso você tenha uma placa desenvolvida com base em uma placa do arduino e utiliza outro método para programar a sua placa você não precisa deixar o seu Hardware aberto?

zezao
zezao
08/03/2016 16:37

Fábio, dessa maneira eu consigo utilizar o microcontrolador da forma "pura" ou ele precisaria do bootloader do Arduino?
Digo, utilizar a placa apenas para fazer o upload do código ao microcontrolador e para facilitar a prototipagem.

Fabio_Souza_Embarcados
Fabio_Souza_Embarcados
Reply to  zezao
08/03/2016 17:23

Olá, dessa forma você consegue programar sem as camadas do Arduino. Você pode usar as funções da ARV LIBC: http://www.nongnu.org/avr-libc/ e a liguagem C com acesso ao baixo nível do microcontrolador. Porém é interessante manter o bootloader do Arduino para facilitar o upload do código sem a necessidade de uma ferramenta externa.

Ai a vantagem da placa e bootloder do arduino que facilitam o upload e prototipação. Essa é uma forma excelente para aprender microcontroladores e fazer aplicações. Vale muito a pena estudar assim. Qualquer dúvida entre em contato. abraços

Talvez você goste:

Séries

Menu

WEBINAR
 
Debugging
em Linux embarcado

 

Data: 30/09 às 19:30h - Apoio: Mouser Elecctronics
 
INSCREVA-SE AGORA »



 
close-link