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.
Compilar programas usando o PICC Lite é muito fácil.
Lembre-se do link simbólico criado na instalação e do export da
variável de ambiente HTL_PIC! Compile seu "alô mundo":
$ picl -16F877 -INTEL alomundo.c
O "-16F877" é o tipo do microcontrolador e "-INTEL" é o formato
do arquivo HEX gerado. O formato INTEL é o mais usado. Após
executar o comando teremos um "alomundo.hex". Este arquivo HEX é
o programa em um formato que o simulador e o gravador entendem.
Lembre-se do "F" maiúsculo no primeiro parâmetro! Após a
compilação, irá aparecer a seguinte mensagem:
HI-TECH PICC Lite COMPILER (Microchip PIC) V8.05PL2
Copyright (C) 1984-2004 HI-TECH SOFTWARE
Memory Usage Map:
Program ROM $0000 - $0005 $0006 ( 6) words
Program ROM $07C5 - $07FF $003B ( 59) words
$0041 ( 65) words total Program ROM
Bank 0 RAM $0020 - $0021 $0002 ( 2) bytes
Bank 0 RAM $0070 - $0071 $0002 ( 2) bytes
$0004 ( 4) bytes total Bank 0 RAM
Config Data $2007 - $2007 $0001 ( 1) words total Config Data
Program statistics:
Total ROM used 65 words (3.2%)
Total RAM used 4 bytes (2.3%)
Estas informações são relevantes para você saber o quanto seu
programa está ocupando de ROM (onde o programa é gravado) e de
RAM (memória volátil). Lembre-se de poupar memória! Você não está
programando para Athlon XP com 512 de RAM!
[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...