PICkit2 no Linux: Como usar para gravar PIC

O PICkit2 no Linux não é compatível oficialmente, mas seu uso é essencial para processo de automação para otimizar o desenvolvimento de projetos e produtos usando PIC.

1. Materiais Necessários

  • Computador Linux (Será usado um Raspberry Pi 4 pare esse processo);
  • Gravador PICkit 2;
  • Microcontrolador PIC (ex. PIC12F683 ou outro modelo compatível).

2. PICkit2 no Linux: Instalação do software

A Microchip não oferece suporte oficial ao PICkit2 para o Linux, porém existem ferramentas alternativas como é o pk2cmd que é o que iremos usar. Como não é fornecido diretamente, temos que baixar de um repositório do GitHub, mas antes disso é necessário fazer algumas instalações adicionais para evitar problemas.

2.1 Atualizar o Sistema e Instalar Dependências

Primeiro, atualize o sistema e instale as ferramentas necessárias para compilar o pk2cmd:

sudo apt-get update
sudo apt-get install build-essential libusb-dev

Esses pacotes incluem as bibliotecas e ferramentas essenciais para compilar o software e comunicar-se via USB, sem ele o pk2cmd não irá funcionar.

2.2 Baixar e Compilar o pk2cmd

Agora, clone o repositório com o código do pk2cmd e compile-o no seu Linux:

git clone https://github.com/psmay/pk2cmd

Após fazer o download do repositório, é necessário acessar o diretório pk2cmd/pk2cmd e em seguida fazer a compilação dos códigos, para isso faça os seguintes comandos:

cd pk2cmd/pk2cmd
make linux

2.3 Verificar a Instalação

Após a compilação, verifique se de fato o pk2cmd foi instalado corretamente com o seguinte comando:

./pk2cmd -?V

Esse comando exibirá a versão do pk2cmd, confirmando que a ferramenta foi compilada corretamente e está pronta para uso.

3. Apagar memória do PIC

Em alguns caso possa ser que seja necessário fazer o erase da memória do microcontrolador PIC, então para isso basta executar o seguinte comando:

sudo ./pk2cmd -PPIC12F683 -E

4. Gravando o Firmware no PIC

Se tudo deu certo até aqui, então já podemos fazer uma gravação de firmware usando o pk2cmd, mas antes separe um arquivo .hex do seu microcontrolador desejado, conecte ao microcontrolador e o gravador a USB do Linux.

4.1 Comando de Gravação

O comando para gravar o firmware no microcontrolador é bastante simples. Aqui está um exemplo de como gravar um arquivo .hex no microcontrolador PIC12F683:

sudo ./pk2cmd -PPIC12F683 -F/home/pi/pic/test.hex -M -R
gravação bem sucedida no pic via raspberry pi 4

4.1.1 Explicação dos parâmetros:

  • -P: Especifica o modelo do PIC (Se não especificar ele faz a detecção automática, mas demora mais para gravar).
  • -F: Especifica o caminho completo do arquivo .hex (o firmware que será gravado no PIC).
  • -M: Realiza a programação da memória do PIC.
  • -R: Reinicia o PIC automaticamente após a gravação.

Substitua o caminho /home/pi/pic/test.hex pelo caminho onde o arquivo .hex está localizado no seu Linux.

4.2 Problemas comuns que podem acontecer

Durante o processo de gravação no microcontrolador pode ocorrer vários problemas, mas os principais problemas são relacionados a falhas na conexão ou conexão invertida.

4.2.1 Program Memory Errors

Esse problema pode ocorrer principalmente quando se tem problemas de conexões físicas ou então modelo de PIC incompatíveis.

Erro ocasionado por má conexão no gravador PICkit2 no Linux

O erro acima só ocorre quando o microcontrolador é definido no comando, mas quando é deixado para definição automática o erro retornado é: Auto-Detect: No known part found.

4.2.2 Conexão invertida do GND e VCC

Pode ser que ao colocar o gravador no microcontrolador, é comum acabar invertendo acidentalmente os pinos e isso pode causar um curto em que o gravador entra em proteção, nesse processo o LED vermelho do gravador pode piscar intervalado indicando que está tentando se conectar e está falhando. No final o erro retornado é igual o da imagem.

Erro ocasionado por conexão invertida no gravador PICkit2 no Linux

Se o problema persistir, pode haver um problema físico com o microcontrolador ou com as conexões.

4.3 Falha para configurar o modo de gravação via botão

No Windows o PICKit2 tem uma opção no qual é possível habilitar o botão do gravador para que ao clicar o gravador gravava o ultimo firmware carregado, porém no Linux isso não funciona, o PK2DeviceFile.dat é responsável por fazer esse processo, porém ele não funciona, você pode testar usando esse código:

 sudo ./pk2cmd -PPIC12F683 -F/home/pi/pic/test.hex -B/home/pi/pk2cmd/pk2cmd/PK2DeviceFile.dat -M -R

Deixe uma resposta

Descubra mais sobre elcereza

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continue reading