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.
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.
[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.
[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.
[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?
[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! =)
[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...
[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.
[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...