Some commands, like "Begin Programming Only Cycle" or "Bulk Erase Setup", only work in the 4.5V-5.5V voltage range for "old" devices like pic16f876 (see http://ww1.microchip.com/downloads/en/D ... 39025f.pdf , page 6). For newer devices, like pic16f628a, you can program the device at lower voltages, but all Bulk Erase operations must take place with VDD between 4.5-5.5V.bredman wrote:Why are you running the PIC at 5v? The circuit would be much simpler if you ran the PIC at a lower voltage.
I'm very glad you find it useful. When you test it, I'd like to know if you found any problem with the hardware or the software. Or in general, any advice on how to improve things is always very welcome.DexOS wrote:I have not tested it yet, but this is something that i will find very usefull.
No worries, I will try to expand it and improve the documentation as well.DexOS wrote:Thanks for the work you put in and your write up.
I admit my ignorance and say I don't know what that is, but I'll read up on that.DexOS wrote:I am working on bare metal stuff for the PI, i may try to port it to bare metal, as its very independent code.
Great! I'm looking forward to itDexOS wrote:I have ordered some pic's and parts, as soon as they arrive i will test it and report back .
This seem very interesting, added to my list of things I want to read!DexOS wrote:Bare metal coding is coding on the PI without linux, like you do a pic, its like coding a supper fast arduino.
See here: http://www.dex-os.com/DexBasic/DexBasic.htm
Yes, I must be one of the few around that only uses assembly when writing programs for the PICs... everyone seems to be using C for microcontrollers these days.DexOS wrote: I like that your examples are in ASM, i use 100% asm in all my work, including 100% asm OS.
Thanks! I submitted my 'hack' but I didn't think they'd publish it If only they would take my comment now... well for everyone interested why the octal transceiver would not work, here it is:DexOS wrote:Congratulations for getting on hackaday .
http://hackaday.com/2012/08/17/raspberr ... rogrammer/
Hello, I gave it a read, interesting stuff... I've never worked with the 24f family myself though. I'm sure people will find it useful.kehribar wrote:Hi,
I recently programmed an Pic24f with Rpi via the additional help from my Little Wire project.
The level shifter is complicated because I chose to keep things simple in software using a non-inverting level shifting. It also makes it easy to debug the interface with a digital oscilloscope if you need to, without having to deal with the inversion. Also, I thought I would replace this simple interface with one that used an integrated circuit in the future, without changing the software.Werzi2001 wrote: It is quite surely a electronic noob question but why does the level switching (3.6V to 5V) have to be "so complicated"? I did some testing with the attached circuit using LTspice and the results looked good. Is the only problem using my circuit the invertion of the levels (0V => 5V and 3.6V => 0V) or am i missing something? The invertion of levels could be easily solved in software.
It should be possible, yes. Try to build the hardware interface for the programmer, and the run:ValterFukuoka wrote:Hi,
do you think it is possible to use your method with the 16F688?
Code: Select all
I can try to look at the programming specification for that chip and provide a patch with the correct values in the following days. Hopefully only small modifications will be needed.ValterFukuoka wrote: I want to ask for help here, still have trouble to find 2 numbers (parameters):
Or, there are more modifications needed?
Thanks!ValterFukuoka wrote: BTW, I already have a PICKIT2, just want to try your method because I think it is VERY interesting...
Thanks.Holden wrote: I can try to look at the programming specification for that chip and provide a patch with the correct values in the following days. Hopefully only small modifications will be needed.
Oops, my mistake... that's only for the transistors and resistors... still need to account for the regulator and capacitors... lol...ValterFukuoka wrote:Holden wrote: The B.O.M. of your method is very attractive (around U$0.60 for me here in Japan)...
Code: Select all
sudo ./rpp Raspberry Pi PIC Programmer, v0.1 device_id = 0x0000 Error: unknown device or programmer not connected.
Hello, in theory I think it should be possible to add support for those devices, but I don't have much free time these days to work on it sadly... also I cannot even do a quick test since I don't have those parts. Other than that, let me know if you manage to read/write one of the supported devices.tlc wrote:In the meantime - because I'm quite often using PIC12F629/675 - will it be possible for you to add support for those PICs into rpp, please? I have found Memory Programming datasheet at Microchip website: http://ww1.microchip.com/downloads/en/d ... 41191d.pdf
But 629/675 programming is a bit complicated - OSCCAL and BG has to be preserved:
The OSCCAL word and BG bits must be read prior to erasing the device and restored during the programming operation. OSCCAL is at location 0x3FF and the BG bits are bits 12 and 13 of the Configuration Word (0x2007).
Please do not add the leds (they will draw a significant current and will probably give you slow edges) and test with the exact circuit I published on my website.saranga2000 wrote:Hi,
I am trying to see if I can program a PIC16F628a based on your circuit and software. I think I have wired up everything correctly. I added 4 led's( each with a 1KOhm resistor) for debugging: 3 green led's in parallel with the Clock, Data, and VPP, and 1 yellow led in parallel with the T3/Gpio8 for read.
But when I run sudo ./rpp - the device is not recognised.
This is all correct. I left RB4/PGM floating in my tests, but the correct thing to do is connect it to ground (directly or better yet via a 1K resistor).saranga2000 wrote: Maybe I have not connected the PIC correctly - I am a newbie, and your post did not have detailed instructions on how to connect the pic, hence I connected
1. T5/Clock to RB6/T1OSO/T1CKI/PGC
2. T6/Data to RB7/T1OSI/PGD
3. T7/VPP to RA5/MCLR/VPP.
Based on what I read online on PIC programming, I also connected
4. 5V ( from the L7806 VR) to VDD,
5. Vss to ground ( all the grounds where connected to each other and to the ground of RPi)
6. I also tried with and without RB4/PGM connected to ground.
Hello.Holden wrote:Hello, in theory I think it should be possible to add support for those devices, but I don't have much free time these days to work on it sadly... also I cannot even do a quick test since I don't have those parts. Other than that, let me know if you manage to read/write one of the supported devices.tlc wrote:... I'm quite often using PIC12F629/675 - will it be possible for you to add support for those PICs into rpp, please? ...
Code: Select all
Raspberry Pi PIC Programmer, v0.1 device_id = 0x0fcb pic12f675 detected, revision 0x0b Reading chip... ... Writing hex file... Reading chip's OSCCAL and BG bits... Read OSCCAL from program memory: addr = 0x03FF data = 0x3438 Read BG from Configuration memory: addr = 0x2007 data = 0x11FF BG bits = 0x1000