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.376 ]

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

Solução de problema em placa de rede Davicom Semiconductor (qualquer distro)

Instalando scanner HP PSC 1500 series e outros no Debian Etch

Configurando o som na placa ASUS A7V8X-X

Instalando Token da OAB no Linux Mint 17.3 (Rose)

Utilizando o celular Nokia 5200 Xpressmusic como pendrive no Mandriva Linux 2009.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