Utilizando PICkit 2 no GNU/Linux

Apesar do gravador de PIC mais famoso de todos, o PICkit 2 da Microchip ser facilmente encontrado no mercado, vem sempre com um software de fácil instalação para Windows. Mas não para GNU/Linux, portanto, ficamos a princípio, impossibilitados de utilizá-lo.

[ Hits: 15.386 ]

Por: Rodrigo David em 19/09/2012


Apresentação



Um dos mais famosos microcontroladores do mercado é o PIC, fabricado pela Microchip.

Para trabalhar com os mesmos, você segue basicamente 3 etapas:
  1. Escrever um programa;
  2. Compilar este programa;
  3. Gravar o programa compilado no microcontrolador.

O problema está justamente em gravar o programa, pois apesar do gravador de PIC mais famoso de todos, o PICkit 2 da própria Microchip, ser facilmente encontrado no mercado, vem sempre com um software de fácil instalação para Windows e não para GNU/Linux.

E como todo hardware precisa de um software para controlá-lo, ficamos, a princípio, impossibilitados de utilizá-lo no GNU/Linux.

Para contornar o problema, a Microchip criou um software que nos permite utilizar o PICkit 2 no GNU/Linux, seu nome é PK2CDM, e este artigo tem por objetivo mostrar como instalá-lo e utilizá-lo no GNU/Linux.

Obs.: Este tutorial baseia-se em Linux Mint e Ubuntu, contudo, acredito que funcione em qualquer outra distribuição GNU/Linux.

Seguiremos agora com apenas 5 passos, e ao final, teremos o gravador PICkit 2 funcionando no GNU/Linux.

* É recomendado que todas as operações dos passos 1 ao 4 sejam feitas com o dispositivo PICkit 2 desconectado do USB de seu computador.

Passo 1

- Aquisição dos softwares: PK2CMD, libusb-dev e build-essential.

Podemos adquirir o PK2CMD fazendo o download no próprio site da Microchip, pelo link:
Dentro do site, procure a opção:
PK2CMD V1.20 Linux & Mac OS X Source Code with Makefile

Agora precisamos instalar o "libusb-dev" e o "build-essential", vá para o terminal:

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


Passo 2

- Criar um grupo de trabalho microchip.

Ainda no terminal, precisamos criar um grupo de trabalho chamado "microchip".

sudo addgroup microchip

Siga adicionando o seu username ao grupo "microchip" (no meu caso, meu username é "ro"):

sudo adduser ro microchip

Passo 3

- Criação do arquivo 026_microchip.rules.

O arquivo "026_microchip.rules" não vem com o PK2CMD que você baixou do site da Microchip, porém, sem ele, nada irá funcionar corretamente, por isso você terá que criá-lo.

- No terminal do Ubuntu:

gedit 026_microchip.rules

Espere o editor abrir.

- No terminal do Linux Mint:

kate 026_microchip.rules

Espere o editor abrir.

Dentro do editor, cole o seguinte conteúdo e em seguida, mande salvar:

# PICkit
SYSFS{idVendor}=="04d8", SYSFS{idProduct}=="0032", MODE="0660", GROUP="microchip" SysFS
idVendor {} == "04d8", SysFS idProduct {} == "0032", MODE = "0660", GROUP = "microchip"
#PICKit2 # PICkit2
SYSFS{idVendor}=="04d8", SYSFS{idProduct}=="0033", MODE="0660", GROUP="microchip" SysFS
idVendor {} == "04d8", SysFS idProduct {} == "0033", MODE = "0660", GROUP = "microchip"
#ICD2 # ICD2
SYSFS{idVendor}=="04d8", SYSFS{idProduct}=="8000", MODE="0660", GROUP="microchip" SysFS
idVendor {} == "04d8", SysFS idProduct {} == "8000", MODE = "0660", GROUP = "microchip"
#ICD21 # ICD21
SYSFS{idVendor}=="04d8", SYSFS{idProduct}=="8001", MODE="0660", GROUP="microchip" SysFS
idVendor {} == "04d8", SysFS idProduct {} == "8001", MODE = "0660", GROUP = "microchip"

Feche o editor e pelo terminal, copie o novo arquivo "026_microchip.rules" para /etc/udev/rules.d.

Segue o comando:

sudo cp 026_microchip.rules /etc/udev/rules.d

Passo 4

- Instalando o PK2CMD.

Se você está utilizando Ubuntu ou Linux Mint, provavelmente o conteúdo que baixou do site da Microchip foi parar na pasta Download. Extraia seu conteúdo compactado e abra o terminal.

Via terminal, entre na pasta com o conteúdo do PK2CMD e trabalhe o mesmo. Segue instruções:

cd /downloads/pk2cmdv1.20LinuxMacSource

Obs.: Considerando que o mesmo está na pasta Downloads.

make linux
$ chmod +x pk2cmd
$ sudo cp pk2cmd /usr/bin/
$ chmod -x PK2DeviceFile.dat
$ sudo cp PK2DeviceFile.dat /usr/bin/


Passo 5

- Testando.

Se você seguiu à risca este tutorial e não causou nenhum erro, parabéns. Pois você já pode desfrutar do gravador PICkit 2 (via PK2CMD) no GNU/Linux.

Conecte o dispositivo PICkit2 no USB de seu computador e pelo terminal digite:

sudo pk2cmd -?v

Se tudo tiver certo, os LEDs de indicação do PICkit 2 irão piscar e você terá o seguinte resultado em sua tela:
"Executable Version:     1.20.00"
"Device File Version:     1.55.00"
"OS Firmware Version:  2.32.00"


"Operation Succeeded"


Considerações finais

Uma dica, caso não tenha funcionado e você tiver certeza de que seguiu todos os passos, é reiniciar o computador com o dispositivo PICkit 2 ligado ao USB.

- Como utilizar o PK2CMD para gravar um microcontrolador PIC?

Você fará a gravação via terminal, e neste exemplo, vamos considerar que queremos gravar um arquivo chamado "arquivo.hex" em um PIC16F628A, um dos mais famosos microcontroladores da Microchip:

sudo pk2cmd -Ppic16f628a -M -Farquivo.hex

Obs.: A utilização do sudo antes do comando de gravação é recomendada, mas pode não ser necessária, cabe a você testar. Em meu computador, mostrou-se necessária no Linux Mint, porém, descartável no Ubuntu.

Legenda:
  • -P → Identifica o microcontrolador.
  • -F → Informa o arquivo a ser gravado.
  • -M → Manda gravar na memoria do PIC.

Boa sorte.

   

Páginas do artigo
   1. Apresentação
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Regulando o desktop para trabalhar em máxima performance

Instalando a placa wireless realtek 8187B no Debian e derivados

Instalando Linux em notebooks - uso de cheatcodes

Usando um adaptador USB bluetooth no Slackware 10.2

Tim-Web - Insigne Momentum 5.0

  
Comentários
[1] Comentário enviado por felipe300194 em 19/09/2012 - 19:37h

Valeu cara, ótima iniciativa. Queria saber uma coisa: é possivel programar para 18F4550? Eu estou atualmente usando o MPLAB em uma máquina virtual, pois eu não gostei do MPLAB X...

[2] Comentário enviado por eepromnet em 19/09/2012 - 19:50h


[1] Comentário enviado por felipe300194 em 19/09/2012 - 19:37h:

Valeu cara, ótima iniciativa. Queria saber uma coisa: é possivel programar para 18F4550? Eu estou atualmente usando o MPLAB em uma máquina virtual, pois eu não gostei do MPLAB X...


Sim, ele grava o 18F4550 com certeza e acredito que este gravador possa gravar quase todos os microcontroladores da microchip. Para verificar a lista de microcontroladores que podemos gravar com este dispositivo, basta digitar o comando "pk2cmd -?p" no terminal, a lista é bem grande (mas você vai precisar ter o pk2cmd já instalado para fazer tal consulta).

[3] Comentário enviado por eepromnet em 13/06/2013 - 15:08h

Fiz um vídeo que ilustra este artigo: http://www.youtube.com/watch?v=d1yc0d85SfI&feature=youtu.be

[4] Comentário enviado por rcozzy em 15/09/2013 - 19:45h

olá, tudo bem? será que vc poderia ajudar, por favor?
seguindo o seu procedimento, eu parei no
Passo 2
- Criar um grupo de trabalho microchip.

Siga adicionando o seu username ao grupo "microchip" (no meu caso, meu username é "ro"):

$ sudo adduser ro microchip
eu criei um login no viva o linux, e ele dá que este usurário não existe.

vc tem alguma dica?
obrigado

meu e-mail é rc.ozzy@yahoo.com.br

[5] Comentário enviado por eepromnet em 17/09/2013 - 22:07h

Ola meu amigo,
me desculpe pela demora em responde-lo.
O seu erro foi que você está utilizando "ro" como usuário, e isto está incorreto no seu caso pois provavelmente seu nome de usuário em seu sistema operacional não é "ro". Vamos supor que seu nome de usuário seja "ozzy", então o comando ficaria:
"$sudo adduser ozzy microchip"

Para saber o seu nome de usuário basta ver o que está escrito antes do "@" na tela do terminal...

Fiz um vídeo no Youtube que ajuda a entender melhor o processo de instalação segue o link:
http://www.youtube.com/watch?v=d1yc0d85SfI&feature=youtu.be

Espero ter ajudado um abraço e boa sorte.


[6] Comentário enviado por fernandofsv em 06/05/2015 - 23:46h

O aplicativo já compilado pode ser baixado aqui:
http://www.microchip.com/DevelopmentTools/ProductDetails.aspx?PartNO=pg164120

Se o Linux for 64 bits é possivel que ao tentar rodar o pk2cmd o seguinte erro seja apresentado: " libusb-0.1.so.4: cannot open shared object file: No such file or directory"

Isso pode ser corrigido facilmente instalando o pacote "libusb-0.1-4:i386" : apt-get install libusb-0.1-4:i386
Fonte:
http://askubuntu.com/questions/311401/libusb-0-1-so-4-shared-lib-error-in-ubuntu-64-bit-system

[7] Comentário enviado por pablomuro em 08/07/2015 - 00:15h

Aqui no Ubuntu 14.04 LTS 64 bits funcionou perfeitamente, tava apanhando muito para gravar o PIC no Linux. Usava o MPLAB no Windows antes, mas aos poucos estou deixando o Windows (este sistema danifica o HD da máquina). Apenas o arquivo para baixar eu tive que pegar no GitHub, porque no site da Microchip não tem mais.

https://github.com/psmay/pk2cmd/tree/declarative-linux


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts