Really keen to builf the Open Programmer and I have purchased all the pieces. I am using a PIC18F4550 and have been trying to program the PIC with an arduino based on the following
I have no probelms writing the HEX blink files etc and I can write the HEX for the Open Programmer provided I remove the last block of Intel HEX from the file provided
Its a rough shot given the Arduino adds another set of variables and I don't fullt understand the HEX itself but thought I would try asking a question here.
Any suggestions appreciated. Worst case scenario I buy a PIC programmer I guess. Appreciate all the effort put into Open Programmer.
Cheers
Richard
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
That block corresponds to onboard EEPROM memory, which is not needed and only stores copyright text.
However, your programmer only uses low voltage so it cannot reset the LVP bit in CONFIG4L.
This in turn reserves RB5 for programming purposes (i.e. PGM input) so it cannot work as an IO line as intended.
So in practice you will be able to connect to the programmer but it will not be able to write on any PIC device.
One possible interim solution would be to modify the firmware and map what is now RB5-RB6 to an unused port, for example RD5-RD6.
Then it would be possible to correctly progam PIC devices; the first write should be to another 4550/2550 with the official firmware.
Another possibility is to use a serial programmer like JDM, but it only works with real RS232 ports.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2020-11-01
Thanks Alberto
So close yet so far :)
I wonder what others are doing to flash their first builds ?
Reagrds,
Richard
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Well, since I have everything in place it took a couple of minutes to modify the firmware; so here a version that uses RB4 as Data and RB3 as Clock.
It should work even if you use low voltage programming.
You should temporarily connect RB4-3 instead of RB6-5 to a target 18F2550/4550 and write the official firmware.
Let me know if you're successful.
I don't know exactly what people use to flash firmware; I suppose serial programmers are still viable.
No, that setup (let's call it LVP setup) is fine; you use it to write the modified OP firmware into your target.
Next is to build the programmer as described in the project website; it should connect via USB without problems using the target (18F4550) already programmed as main micro.
But now such programmer will use RB4-3 instead of RB6-5 so you need a new 18F4550 to be flashed with the official firmware.
To do so you have to connect this target to the programmer using:
programmer's PIC | target PIC
RB4 | RB7
RB3 | RB6
The rest is as usual (VDDU, VPPU, GND, see the schematics).
It can be done easily with a breadboard.
Write the official firmware via OPGUI and substitute the main micro with this target.
Check the functionality of all IO lines using OPGUI (IO tab) and a multimeter.
Done
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2020-11-01
Thanks Alberto
I will let you know how it goes. It may take me a while as I am just starting electronics as a hobby.
Richard
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
Really keen to builf the Open Programmer and I have purchased all the pieces. I am using a PIC18F4550 and have been trying to program the PIC with an arduino based on the following
https://sites.google.com/site/thehighspark/arduino-pic18f
I have no probelms writing the HEX blink files etc and I can write the HEX for the Open Programmer provided I remove the last block of Intel HEX from the file provided
:0200000400F00A
:100000004F70656E2050726F6772616D6D65722002
:10001000762E2000302E31312E3200202D20436FDD
:10002000707972696768742028432920323030392A
:100030002D3230323020416C626572746F204D6118
:100040006363696F6E69202D20546869732069733A
:0F005000206672656520736F6674776172650054
Its a rough shot given the Arduino adds another set of variables and I don't fullt understand the HEX itself but thought I would try asking a question here.
Any suggestions appreciated. Worst case scenario I buy a PIC programmer I guess. Appreciate all the effort put into Open Programmer.
Cheers
Richard
That block corresponds to onboard EEPROM memory, which is not needed and only stores copyright text.
However, your programmer only uses low voltage so it cannot reset the LVP bit in CONFIG4L.
This in turn reserves RB5 for programming purposes (i.e. PGM input) so it cannot work as an IO line as intended.
So in practice you will be able to connect to the programmer but it will not be able to write on any PIC device.
One possible interim solution would be to modify the firmware and map what is now RB5-RB6 to an unused port, for example RD5-RD6.
Then it would be possible to correctly progam PIC devices; the first write should be to another 4550/2550 with the official firmware.
Another possibility is to use a serial programmer like JDM, but it only works with real RS232 ports.
Thanks Alberto
So close yet so far :)
I wonder what others are doing to flash their first builds ?
Reagrds,
Richard
Well, since I have everything in place it took a couple of minutes to modify the firmware; so here a version that uses RB4 as Data and RB3 as Clock.
It should work even if you use low voltage programming.
You should temporarily connect RB4-3 instead of RB6-5 to a target 18F2550/4550 and write the official firmware.
Let me know if you're successful.
I don't know exactly what people use to flash firmware; I suppose serial programmers are still viable.
Thats extremely kind of you Alberto.
So do I need to change my current breadboard setup i.e.
http://pleasantlyclueless.blogspot.com/2013/11/using-arduino-as-pic-programmer.html
to flash the modified firmware using the Arduino? Apologies, my knowledge on PIC's is very basic.
Richard
No, that setup (let's call it LVP setup) is fine; you use it to write the modified OP firmware into your target.
Next is to build the programmer as described in the project website; it should connect via USB without problems using the target (18F4550) already programmed as main micro.
But now such programmer will use RB4-3 instead of RB6-5 so you need a new 18F4550 to be flashed with the official firmware.
To do so you have to connect this target to the programmer using:
programmer's PIC | target PIC
RB4 | RB7
RB3 | RB6
The rest is as usual (VDDU, VPPU, GND, see the schematics).
It can be done easily with a breadboard.
Write the official firmware via OPGUI and substitute the main micro with this target.
Check the functionality of all IO lines using OPGUI (IO tab) and a multimeter.
Done
Thanks Alberto
I will let you know how it goes. It may take me a while as I am just starting electronics as a hobby.
Richard