Como usar o gravador PIC K150 no Linux|How to use K150 pic programmer on Linux

2015-01-20_09-18-23_HDRDiz a lenda que o gravador K150 não funciona no linux. Este post explica como utilizar o programa picpro.py para gravar um arquivo .hex nele, usando o Debian ou Ubuntu.

 

Direto ao ponto:

– Baixe o pacote pic_programmer-0.2.zip, instale o pacote pyserial (python) e execute o picpro.py. Ex: ./picpro.py -i ~/Desktop/PiscaLed.hex –pic_type=16f628a -p /dev/ttyUSB0

Com histórinha:

A alguns dias comprei um kit de desenvolvimento PIC, que veio com um clone do gravador K150 (TS8900),  um gravador/programador PIC de baixo custo muito popular aqui no Brasil. Eu já tinha lido em diversos fóruns (e recebido respostas de vendedores) que o K150 não funcionava no linux, mas o kit era tão barato que não valia a pena não vir o gravador. A idéia era comprar um outro gravador compatível e deixar esse guardado… o que não aconteceu por aqui 🙂

Programador PIC K150 TS8900 Programador PIC K150 Clone

O projeto original do K150 encontra-se no site http://www.kitsrus.com/pic.html, do qual pode-se baixar o projeto do hardware e o software que vai embarcado no microcontrolador PIC16F628a que o gravador usa.

Microbrn.exe no Wine

Microbrn.exe no Wine: Ainda bem que não funfou

O softwares utilizado para gravação é o “microbrn.exe”, que até abriu no Wine, mas ao tentar acessar a porta serial deu erro, mesmo criando o link simbólico – acredito que seja porque, nativamente no Windows, a porta “Com” é reconhecida por alguma maracutaia feita especificamente pelo driver/conversor USB da Prolific.

Conectando e analisando o gravador no Linux

Os testes foram realizados no Ubuntu-Mate 14.10 e no Debian 8.0 Jessie (ambos com kernel 3.16.0)

Este gravador vem com o chipset da Prolific, que no linux usa o módulo pl2303.

Ao conectar o gravador na USB, o módulo foi carregado automaticamente – abaixo a saída do dmesg:

[ 6360.104021] usb 4-1: new full-speed USB device number 7 using uhci_hcd
[ 6360.262653] usb 4-1: New USB device found, idVendor=067b, idProduct=2303
[ 6360.262656] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 6360.262658] usb 4-1: Product: USB-Serial Controller
[ 6360.262660] usb 4-1: Manufacturer: Prolific Technology Inc.
[ 6361.467038] usbcore: registered new interface driver usbserial
[ 6361.467263] usbcore: registered new interface driver usbserial_generic
[ 6361.467484] usbserial: USB Serial support registered for generic
[ 6361.487524] usbcore: registered new interface driver pl2303
[ 6361.487601] usbserial: USB Serial support registered for pl2303
[ 6361.487626] pl2303 4-1:1.0: pl2303 converter detected
[ 6361.498827] usb 4-1: pl2303 converter now attached to ttyUSB0

Usando o picpro.py – o software gravador

Levando em consideração que você um desenvolvedor de pisca-led nato já escreveu seu código, compilou e tem seu arquivo .hex pronto pra gravar no microcontrolador, agora é a hora de usar picpro.py para salvar o arquivo no PIC espetado no K150.

– Baixe o pacote pic_programmer-0.2.zip;

– Instale a biblioteca pyserial (módulo do python para comunicação serial);

– Execute o picpro.py com os parametros de gravação;

No meu caso, o gravador usa a porta “/dev/ttyUSB0”, meu arquivo hex é o “piscaled.hex” e o PIC que receberá o arquivo é o “16f628a”. Foi preciso instalar o pacote python-pip e depois, através do pip (que é o gerenciador de módulos do python) foi instalando o módulo pyserial. Abaixo a sequência de comandos que usei no Debian 8:

Como big boss root:

aptitude install python-pip
pip install pyserial
wget http://iweb.dl.sourceforge.net/project/tetsujin/PIC%20programmer/0.2/pic_programmer-0.2.zip
unzip pic_programmer-0.2.zip
cd kitsrus_pic_programmer
./picpro.py -i ~/Desktop/piscaled.hex --pic_type=16f628a -p /dev/ttyUSB0

Videozinho

Méritos para:

George Caswell, criador do programa picpro.py;

– Peter Crowcroft, do fabricante original do K150;

– Portal Picbasic.co.uk, especificamente essa discussão;

Anúncios
Esse post foi publicado em PIC e marcado , , . Guardar link permanente.

10 respostas para Como usar o gravador PIC K150 no Linux|How to use K150 pic programmer on Linux

  1. JLOT disse:

    Muito bom o post. Estou no processo de migrar para o linux e com certeza essa página será muito útil.
    Quando eu testar eu posto aqui o resultado.

  2. renato de paula disse:

    Estou tentando fazer meu gravador funcionar, mas esta aparecendo este erro.
    Eu uso ubuntu 14.04
    Unable to open serial port “/dev/ttyUSB0”.
    Be sure port identifier is valid and that you have access to it.

    Poderia me ajudar?

    • eliasandrade disse:

      Renato, confirme se existe o /dev/ttyUSB0. Rode um “dmesg” para confirmar se essa porta realmente foi alocada para o gravador (ou se não está alocada para outro dispositivo USB). Se existir e não estiver alocado para outro, pode ser um problema de permissão. Talvez você precise rodar o comando como root. Ex: ./picpro.py -i /home/seuusuario/Desktop/piscaled.hex –pic_type=16f628a -p /dev/ttyUSB0 .

  3. grabiel disse:

    Excelente mi hermano, soy de venezuela, de verdad me sirvio de mucho espero que podamos seguir en contacto….. muy bueno

  4. Batman disse:

    Excelente post, amigo!
    Também estou migrando para o ambiente Linux e isso será muito útil.

    Adquiri recentemente vários produtos que usam o PIC 16F1828, que não é suportado por esse gravador atualmente. Alguma idéia de como poderia fazer essa (gambiarra) adaptação?

    [i][b]Excelsior![/i][/b]

  5. Victor disse:

    Parabéns pelo post!

    No entanto, quando testei ele gerou o seguinte:

    Waiting for user to insert chip into socket with pin 1 at socket pin 2
    Chip detected.
    Erasing Chip
    Programming ROM
    ROM programming failed.
    Programming EEPROM
    Error: Communication failure. This may be a bug in this script or a problem with your programmer hardware.

    Alguma ideia de como resolver?

  6. ronaldl337 disse:

    como obtengo la ayuda de pycro, si quiero borrar el pic hay un comando? quiero saber como la tabla de comandos de pycro, como se si reconoce al pic ?

  7. Fernando disse:

    fernando@Samsung:~/Downloads/K150/Software$ sudo ./picpro.py -i k150.HEX –pic_type=16f628a -p /dev/ttyUSB0
    Waiting for user to insert chip into socket with pin 1 at socket pin 2
    Chip detected.
    Erasing Chip
    Programming ROM
    Programming EEPROM
    Programming ID and fuses
    Verifying ROM
    ROM verified.
    Verifying EEPROM
    EEPROM verification failed.
    Olá a todos, qual é e como resolvo esta falha na verificação da programação da EEPROM do PIC16F628a para atualização do firmware no K150? No meu já não existe mais o jumper do VPP, VDD, VCC, etc…

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s