Tag: pickit3

If you use Microchip microcontrollers you really have to try out the new MPLAB.X ide Microchip is working on. It is already up to beta5 where all major problems and all major functionalities are fixed.

Major improvements MPLAB.X offers differently from MPLAB v8.x are

  • It is multiplatform so it works on Windows, Linux and OSX
  • It uses modern GUI that works and does not crash (like old ugly mplab 8 does) based on NetBeans (initially made by Sun, now owned by Oracle)
  • Bunch of stuff that comes with NetBeans (code coloring, code expansion, syntax checking, different plugins, multiple projects in project group, versioning …)

Major news in MPLAB.X beta5 compared to MPLAB.X beta4

  • The parsing of the “core” terms works properly now
  • PicKit2 is now supported
  • C18 works now on OSX too

Major problems with MPLAB.X (current beta5 version)

  • It does not work “properly” on 64bit Linux

This is why I’m writing this post. What does “properly” means here. If you have 64bit linux with 64bit java (jdk or jre) MPLAB.X will use this 64bit java and everything will work except MPLAB.X will not be able to see your PicKit2 or PicKit3 (I assume the same problem will be with other programmers but I use PicKit2 and PicKit3). The work around is to compile your own pk2cmd and use it outside of the MPLAB.X ide but it is really ugly solution, not to mention, there is still no open source version of pk3cmd so if you have PicKit3 there is no work around. The only way around this problem is to install 32bit java.

As I do use java a lot and I use it for memory hungry applications too I really need 64bit java to be default on my system (as 32bit java cannot use more then 2G of RAM) so I did following.

  1. Download 32bit java from Oracle
  2. Be sure to get .bin and not .rpm.bin even if you are using rpm based distro!
  3. Execute downloaded bin file in some directory and it will unpack itself
  4. Rename the extracted directory by adding a -32bit suffix to it (for e.g. mv jdk1.6.0_24 jdk1.6.0_24-32bit ) and move the new directory to a place of your choosing (for e.g. mv jdk1.6.0_24-32bit /usr/java/ )

Now create a script that will start the mplab_ide with 32bit java:

#!/bin/sh
JAVA_HOME=/usr/java/jdk1.6.0_24-32bit
PATH=/usr/java/jdk1.6.0_24-32bit/bin:$PATH
/usr/bin/mplab_ide

Start the script and voila, now your MPLAB.X detects your PicKit2 and your PicKit3 properly :)

MPLAB.X HW Tool Selector

MPLAB.X HW Tool Selector

Tags: , , ,

PicKit 3

PicKit 2

PicKit 2

Mnogi od vas znaju da već duže vreme za rad sa microchip mikrokontrolerima ja isključivo koristim PicKit2. Za razliku od ostalih programatora poput AllPic ili ICProg ili PICBlaster ili Brenner8 koji su samo “glupi programatori” i uglavnom traze računar sa paralelnim portom (već par godina ih ne stavljaju na nove matične ploče a sa laptopova su nestali pre skoro deceniju) ili serijskim portom (još ređa zverka od paralelnog porta) a pritom ne rade sa usb2par ili usb2ser adapterima, PicKit2 je sprava koja pukog programiranja PIC mikrokontrolera ume i da:

PicKit2 as Logic Analyzer

PicKit2 as Logic Analyzer

  • radi In Circuit Debugging – ili u prevodu, može direktno da debagira vaš mikrokontroler u kolu na projektovanom uređaju, da zaustavi rad, da vam mogućnost da proverite vrednosti varijabli, stanja, promenite neke vrednosti, idete kroz program red po red, setujete break pointe …
  • radi kao TTL serial port (a može i da snifuje serial port, i2c, spi ..)
  • radi kao trokanalni logic analyzer (sve sa trigerima i čudima)
  • Može da napaja vaš projekat (oko 100mA) naponom od 2.5V do 5V
  • Programira sve uređaje od 2.5V do 5V
  • Radi HighVoltage programming PIC mikrokontrolera tako da vam LPG pin ostaje slobodan
  • Program on GO mogućnost da u PicKit2 upišete program i onda na terenu, bez dodatne opreme, samo “zabodete” pickit2 u vaš uređaj, stisnete dugme za programiranje i napečete novi hex u vaš pic.
  • Može da peče i drugu vrstu mikrokontrolera, na primer uz PK2AVRISP može da peče ATMEL mikrokontrolere
PicKit2 sta ima unutra

PicKit2 sta ima unutra

i još svašta još…

Ono što je ogromna prednost PicKit2 uređaja (pošto nije samo programator) je što je sve dostupno. Šema je dostupna, firmware je dostupan kako kao hex tako i source istog, externi programi su dostupni kao binary i kao source, tako da je vrlo lako ovaj uređaj “budžiti”. Na Internetu postoji mnogo klonova pickit2 a kod nas je moguće kupiti kit u kelco-u za nešto tipa 2000din ili je moguće kupiti preko momaka sa ES-a gotov uređaj za slične pare (20E ili 2000din).

PicKit3

PicKit3

Početkom 2009. godine Microchip je izbacio PicKit3 kao “naslednika” vrlo popularnog PicKit2 programatora. Ja sam sačekao godinicu dana i onda kupio PicKit3. Moram da priznam da sam čekao na njega skoro mesec dana pošto je Microchip kasnio sa isporukom, dobio sam komad sa datumom proizvodnje “malopre”, koristio ga par nedelja (taman mi je dobro došao pošto pickit2 ne može da radi debagiranje 32MX serije a ja nešto pravim sa PIC32MX440F256H i počelo je da me zeza, rešio sam problem za 10min uz pickit3) pa sam rešio da napišem malo poređenje ova dva.

Ukratko, ako vam nije neophodno debagiranje 32MX serije, nemojte bacati pare na pickit3.  Osim što je providan, i što je u istom form faktoru, ovo je potpuno novi proizvod koji nije ni prineti pickit2. Koristi mnogo brzi mikrokontroler za rad ali je 10-30% sporiji od pickit2 kada je programiranje u pitanju. Za svaku familiju mikrokontrolera mora da se downloaduje novi firmware u pickit3 (pickit2 sve radi sa jednim istim firmware-om). Nema stand-alone gui program za programiranje hex-a u mikrokontroler (do skoro nije postojao ni PK3CMD command line program za pečenje).

PicKit3

PicKit3

Nema ni traga od svih onih korisnih alata za pickit2 (serial port debugger, SPI monitor, i2c monitor, logic analzyer …). Ne postoji source ničega i nema nade da će se source pojaviti. U beznadežnom lutanju za odgovorima na microchip sajtu sam našao informacije da je pickit3 delo drugog tima unutar microchip-a ( isti tim koji je pravio onaj pateticni ICD2) koji je istripovan na tajnost tako da su šanse za objavljivanjem sorsa nikakve.

Poređenje PicKit2 PicKit3
PicKit2 PicKit3
Programiranje PIC10/12/14/16/18/24/30/32/33 DA DA
Debagiranje PIC10/12/14/16/18/24 DA DA
Programiranje PIC30/32/33 Delimično DA
Napajanje target uređaja 2,5V – 5V 2,0V – 6,0V
Serijska emulacija DA NE
Logic Analyzer DA NE
Integracija sa MPLAB-om DA DA
Zaseban program za programiranje DA (i command line i gui) Delimično (samo command line)
Podrška za Linux DA NE
Programm to GO DA Biće podržano u budučnosti

Neke od mana uočene odmah su ispravljene, kao na primer to da je prva serija došla sa LED indikatorima koje je bilo nemoguće očitati, PK3CMD.exe je napravljen posle 8-9 meseci posle mnogo kukanja i plakanja od strane korisnika… Sve u svemu, ternutno je PicKit2 mnogo bolji proizvod i PicKit3 nije u stanju da ga zameni, infirioran je po svim pitanjima. Ono što je pozitivno je što je unutra dosta ja mcu tako da se svi ti problemi mogu rešiti programski. Šema za pickit3 je dostupna u manualu tako da ako neko želi može sam da piše firmware ispočetka.

što se mene tiče, ja se zadržavam na pickit2 a ovaj pickit3 vadim samo kada moram da debagiram 32mx seriju.

Tags: , ,
Back to top