PIC programmer framework for PICKit2, especially for programming the f1-series PIC MIcrocontrollers with Enhanced Mid-Range Core (eg. PIC12F1840) and possible more…
This software is in an early stage, but at this time it can program
PIC12F1840 PIC12LF1840 PIC16F1847 PIC16F1825 PIC16LF1825 PIC16F1829 PIC16LF1829 PIC16F1455 PIC16LF1455 PIC16F1459 PIC16LF1459 PIC16F1938 PIC16LF1938 PIC16F1947 PIC16F1827 PIC16LF1827 PIC12F1822 PIC12LF1822
microcontrollers with any .hex file from command line. It contains also a big PICKit2 control framework written in ruby and usb-capture dissassembler toolkit for reverse engineering the programming of other chips. Be a contributor! :D
-
Note the usb rights issue..
-
Connect a PIC device to the programmer and type:
cd test; ruby test_programming.rb blink.hex
There is a little example in the 'test' directory which writes a 'hello world' program into the chip. The only thing that the 'hello world' does is it switches the RA2 pin on. The other test file blinks the led connected to RA2, it is called blink.hex. (This works on most chips, tested on PIC12F1822, there is a test program for the 14-pin model PIC16F1825 too.) The command
ruby on.rb
switches the device power on,
ruby off.rb
switches the power off. Voltage is 3.3V
ruby onoff.rb
switches the power on (3V) and waits 10 minutes for the red button to be pressed. then switches the power off.
You can replace the example hex file with any other one. Gputils can compile assembly source for that f1-series chips. Feature for other chips can be also implemented. Check out the file test/lib/pic14_f1_device_datas.rb Implementing new chips and its' parameters is quite simple. Note that LF chips cannot be bulk-erased in LVP mode. The programming protocol can be different as well.. There are tech sheets in the docs folder. Soon I will continue the coding also but now as it is usable, let me have fun with the hardware itself for a while ;)
This project is distributed under GPLv3
© 2013 MRTEE.GITHUB.COM