Pular para o conteúdo

Desenvolvendo para microcontroladores em GNU/Linux

Este artigo irá demonstrar como o GNU/Linux pode ser uma plataforma de desenvolvimento de programas para microcontroladores. O foco do artigo será como utilizar as ferramentas de compilação, simulação e gravação. Será explicado um pouco da teoria de programação para microcontroladores. Como exemplo, usaremos o microcontrolador PIC16F877.
Thiago Marcos P. Santos mandark_br
Hits: 107.394 Categoria: C/C++ Subcategoria: Avançado
  • Indicar
  • Impressora
  • Denunciar

Parte 7: Gravando

Aqui uso uma placa que a faculdade comprou da Exsto Tecnologia. É um kit para pessoas que querem estudar sistemas embutidos chamado SDEx Box. É um hardware excelente para aprendizado, acompanha um software gravador para Windows (não consegui rodar com o Wine). Basta ligar o cabo paralelo no SDEx, no computador e rodar o programa de gravação:

$ picprg

Caso você tenha isto como resposta:

No such device
Failed to initalize /dev/lp0

As causas podem ser:
  • Cabo da porta paralela desconectado;
  • Módulo da porta paralela não carregado ou não compilado no kernel;
  • Sem permissão para acessar o /dev/lp0;
  • Porta paralela desativada na BIOS do computador;
  • Forças de Murphy.

Se tudo correr corretamente, o programa vai lhe perguntar qual microcontrolador você está usando. Responda que é o PIC16F877. A seguinte tela irá aparecer.


Tela inicial do Pic Programmer

Pressione "C" para configurar o software para a placa SDEx. Na tela abaixo coloque as seguintes configurações:
	VPP		13	on
	VDD		5	on

Depois aperte "P" para programar o PIC. Não se esqueça de virar a chave para modo de programação no SDEx. Deixo claro que este programa não faz LEDs piscarem no SDEx. É meramente ilustrativo. Vou deixar para download um programa mais complexo que escreve no LCD do SDEx e no LCD do simulador.

   1. Compilador
   2. Simulador
   3. Gravador
   4. Programando
   5. Compilando
   6. Simulando
   7. Gravando
   8. Dicas
   9. Bibliografia
   10. Outros
Nenhum artigo encontrado.

OneAPI: A plataforma da Intel para facilitar o desenvolvimento com chips Intel, AMD, ARM, NVIDIA POWER e FPGA

Boas Práticas e Padrões Idiomáticos em Go e C

O Produtor e o Consumidor

openCertiface: Biométrica Facial em nuvem baseada em software livre

Tratamento de exceções na linguagem C

#1 Comentário enviado por kakaroto em 16/12/2004 - 01:42h
Cara, fico muito bom o seu howto, e numa área que nao temos muitos docs meus parabéns :)
#2 Comentário enviado por jose_maria em 16/12/2004 - 08:28h
Parabéns pelo artigo.
Eu tenho alguns microcontroladores aqui e sempre tive curiosidade de como fazer isso no Linux. Eu já tinha pesquisado um pouco e tinha achado bastante coisa, mas não tinha colocado nada em prática.
Nessas férias eu vou práticar este artigo.
#3 Comentário enviado por mandark_br em 16/12/2004 - 09:06h
Galera, segue um link com alguns códigos, inclusive um que mexe no LCD.
Também uma versão PDF do artigo:

http://www.rockpesado.com.br/artigos/microcontroladores_linux.tar.gz

Qualquer dúvida, só me falar!
#4 Comentário enviado por Bentux em 16/12/2004 - 09:20h
Amigo, legal mesmo o seu artigo! Só tem a contribuir com o Open Hardware, quem sabe o pessoal se empolga e começamos a realizar projetos de placas ou dispositivos Open aqui no Brasil!? Valeu mesmo pela contribuição!!!
#5 Comentário enviado por cioban em 16/12/2004 - 13:34h
Muito bom o seu artigo,

Gostaria de saber se existe uma forma de programar em assembler para o microcontrolador 8051, eu tenho um kit para programar, e queria programar no LINUX.

Valeu,
Sérgio Cioban Filho
#6 Comentário enviado por torque em 16/12/2004 - 14:34h
Este howto veio na hora certa, é uma área que há muito o que explorar, e na qual não se acha muita documentação a respeito em português, e muito menos para Linux.
#7 Comentário enviado por mandark_br em 16/12/2004 - 14:57h
Sérgio,

Não conheco muito Assembly, não pesquisei muito nesta área. Existe um compilador livre de C ANSI, chamado SDCC. Ele compila pra PIC e para 8051 dentre outros. Para PIC ele ainda não está legal, por isso não usei ele no artigo. Quando estiver maduro vou substituir o PICC por ele. Detalhe que ele compila pra Zilog Z80! Lembram do MSX?

http://sdcc.sourceforge.net/
#8 Comentário enviado por removido em 16/12/2004 - 15:37h
ok legal o artigo.. mas o que eh um microcontrolador??? Acho que faltou soh uma boa explicação sobre isso... se tiverem algum link para ler sobre eu agradeço!! Ninguem nasce sabendo neh! =)
#9 Comentário enviado por willy_herman em 17/12/2004 - 01:30h
Cara, muito legal seu Artigo.
Gostaria de saber se voce possui algum livro/apostila/tutorial para me indicar pra programacao em C para PIC
#10 Comentário enviado por mandark_br em 17/12/2004 - 07:28h
Na parte Bibliografia do artigo estão indicados todos os documentos que usei para fazer o artigo. É o que recomendo.

Note que praticamente não há documentação em pt_BR sobre o assunto. Eu pelo menos não achei nada...
#11 Comentário enviado por ercarnauba em 17/12/2004 - 09:44h
Parabéns pelo artigo!
É uma pena não ter muito material para programar a família 8051, no meu caso AT89C51 em linux :( , eu tenho todo material para o $ruindows$ para trabalhar com o bicho, só que eu confio muito mais no Linux :) .
Eu quero aproveitar esse espaço para pedir a ajuda de alguem q tb trabalho com uC 8051 em linux para me passar umas dicas...

Mais uma vez, parabéns pelo artigo.

Ederson.
#12 Comentário enviado por wagnerdequeiroz em 20/10/2006 - 20:25h
Pessoal estou comecando com 8051 tb e estou no mesmo barco. No entanto ja achei programador para 8051
falta achar simulador grafico

visitem o site www.asm51.eng.br para ver se aparecem novidades. Este é um forum de Microcontroladores onde podemos trocar informacoes sobre microcontroladores.

No momento:
http://www.geocities.com/dinceraydin/8051/ programador dos at892051

http://www.colargol.tihlde.hist.no/~jonah/el/avrp.html


simulador
http://sourceforge.net/projects/emu51/

e tem o SDCC e o UCSIM do sdcc que tb diz simular 8051 no linux.

http://wiki.eagle-usb.org/wakka.php?wiki=Asm8051
O link acima tem varios programas e informacoes interessantes para 8051


Wagner de Queiroz
#13 Comentário enviado por redebr2818 em 28/02/2007 - 11:30h
hehehe a exsto fica em frente a minha casa haha vo la comentar sobre gravaçao em linux hehe
#14 Comentário enviado por rafael### em 26/05/2007 - 21:09h
galera alguém conhece um simulador pra pic16f628?? grato :)
#15 Comentário enviado por GilsonDeElt em 22/06/2008 - 18:41h
mandark_bh, congratulations pelo artigo! =D

ficou d+ mesmo, bem completo e detalhado

os eletrônicos-under-linux (como eu) agradeçem =D
#16 Comentário enviado por mcleber em 19/02/2009 - 11:17h
Ficou muito legal seu artigo.. Todos os meus softwares de eletronica são para windows. A sorte é que para diagramas eletricos e algumas simulações já encontrei vários para linux. Agora preciso fazer minha ICD2 (gravadora de pic) rodar em linux. O problema será gravar dsPIC. No windows utilizo CCS com C30 + ICD2 gravando in-circuit...

Abraço,

mcleber

Contribuir com comentário

Entre na sua conta para comentar.