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.
Parte 5: Compilando
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:
$ 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!