Hello,
I've been playing with PIC's for a couple years and never had any issues until recently. With this project I'm using an 18F67K90. The program compiles fine with GCB (no errors or warnings), usually downloads to the microcontroller okay, but doesn't work as expected. I was using a MPLAB PM3 and sometimes got memory errors. I discovered that erasing the memory contents and then verifying the chip as blank would usually stop the memory errors. Later I tried using a PICkit 3 and MPLAB X IDE v3.50. That's when I discovered the possible source of the problem. I get a warning that says my hex file contains code that is located at addresses that don't exist on the PIC18F67K90. I'm thinking maybe the chip data file isn't quite right. Has anyone else had issues like this?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Test this please. Does this 1) Load without the error? 2) Operate as expected? However, I have not looked at your source, so, if that has errors I have not inspected.
I appear to be having some connectivity issues. I'm sure that's something on my end. The good news is, I didn't get any addressing warnings when I loaded the file! We're definately on the right track. I'll try an alternative method for the download.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Eureka! I downloaded the second file you posted. At least some of the inputs are working now. I'm sure I have some hardware issues still, but it's trying to work. Very encouraging. Are you still developing v.09.01? Would love to have the latest and greatest as soon as it's available.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I should have said.... for all those following this...
I posted two HEX files.
1. Was produced using MPASM assembler
2. Was produced using Great Cow BASIC (compiler then assembler)
Why?
Using the two isolates the issue. If #1 HEX works and #2 had not worked then the root cause was likely to be in Great Cow BASIC assembler component.
However, in this case #2 worked. Why? Fix #309 (within release v0.96.01) resolves an assembler bug on PIC18F - where config words were being incorrectly generated in some cases.
So.. my guess is that HEX #1 would work and, Bill is correct in saying that MPASM part of the MPLABX3.5 would also work before I release v0.96.01in the next day or two.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello,
I've been playing with PIC's for a couple years and never had any issues until recently. With this project I'm using an 18F67K90. The program compiles fine with GCB (no errors or warnings), usually downloads to the microcontroller okay, but doesn't work as expected. I was using a MPLAB PM3 and sometimes got memory errors. I discovered that erasing the memory contents and then verifying the chip as blank would usually stop the memory errors. Later I tried using a PICkit 3 and MPLAB X IDE v3.50. That's when I discovered the possible source of the problem. I get a warning that says my hex file contains code that is located at addresses that don't exist on the PIC18F67K90. I'm thinking maybe the chip data file isn't quite right. Has anyone else had issues like this?
Need the version of GCB? as this is critical to answering this question.
Plus, we are fixing a very similar issue at the moment with respect to another chip but your version of GCB will help me.
Oops, sorry. I tried with versions 0.94 and 0.95.
Grab the latest and try - but, I think this sounds like the issue we are fixing at the moment.
Please upload your ASM and Source - I will try here to simulate. I will post an alternative HEX (based on your source code) for you to test.
Certainly. Thankyou so much for your help. I've attached the files you requested. Some of the outputs work, but none of the inputs, if that helps.
Test this please. Does this 1) Load without the error? 2) Operate as expected? However, I have not looked at your source, so, if that has errors I have not inspected.
And, now test this. This hex file was generated by Great Cow BASIC v.09.01 which has not been released yet.
I'll test them right away and let you know. Thanks much.
I appear to be having some connectivity issues. I'm sure that's something on my end. The good news is, I didn't get any addressing warnings when I loaded the file! We're definately on the right track. I'll try an alternative method for the download.
Eureka! I downloaded the second file you posted. At least some of the inputs are working now. I'm sure I have some hardware issues still, but it's trying to work. Very encouraging. Are you still developing v.09.01? Would love to have the latest and greatest as soon as it's available.
I can release once Bill has enhanced the timer capabilities. Should be later this week.
I can release once Bill has enhanced the timer capabilities. Should be later this week.
Much appreciated. Thanks again for your help.
Until the new release is available you might try assembling your GCB generated ASM code using the latest version of gputils/gpasm.
If you have MPLABX 3.5 installed you might also try assemmbling with MPASMX (5.71). (Make sure to disable case sensitivity)
William
I should have said.... for all those following this...
I posted two HEX files.
1. Was produced using MPASM assembler
2. Was produced using Great Cow BASIC (compiler then assembler)
Why?
Using the two isolates the issue. If #1 HEX works and #2 had not worked then the root cause was likely to be in Great Cow BASIC assembler component.
However, in this case #2 worked. Why? Fix #309 (within release v0.96.01) resolves an assembler bug on PIC18F - where config words were being incorrectly generated in some cases.
So.. my guess is that HEX #1 would work and, Bill is correct in saying that MPASM part of the MPLABX3.5 would also work before I release v0.96.01in the next day or two.