The 18F EEPROM problem was fixed in v2.45 and with the latest releases of MPLAB (MPASM). You need to upgrade BOTH. See very first post on this thread.
The 18F EEPROM problem was fixed in v2.45 and with the latest releases of MPLAB (MPASM). You need to upgrade BOTH. See very first post on this thread.
Melanie,
Not to say that you aren't having success, and yes I did read your original post, and no I can't run your example because I have no LCD. However I do run a rather extensive EEprom preload of my own, and it doesn't work if I use sequential addressing with the DATA command.
Here is my system:
PBP ver 2.45A
Epic ver 2.44
MPASM ver 4.01
MicroCode Studio Plus ver 2.2.1.1
Windows 2000 Professional
Here is the code that does work (non sequential addressing w/dummy bytes):
And here is the code that doesn't work (sequential addressing):Code:'Text Generator 0 - Color and Enhanced Feature Attributes DATA @0,$00,0,$FE,0,$0F ' ATTR #00 DATA @6,$00,0,$FE,0,$0F ' ATTR #01 DATA @12,$00,0,$80,0,$0F ' ATTR #02 DATA @18,$00,0,$0E,0,$0C ' ATTR #03 DATA @24,$00,0,$8E,0,$0F ' ATTR #04 DATA @30,$00,0,$70,0,$0C ' ATTR #05 DATA @36,$00,0,$F0,0,$0F ' ATTR #06 DATA @42,$00,0,$7E,0,$0C ' ATTR #07 DATA @48,$00,0,$48,0,$0E ' ATTR #08 DATA @54,$00,0,$B0,0,$0F ' ATTR #09 DATA @60,$00,0,$28,0,$0C ' ATTR #10 DATA @66,$00,0,$16,0,$0F ' ATTR #11 DATA @72,$00,0,$30,0,$0C ' ATTR #12 DATA @78,$00,0,$9E,0,$0C ' ATTR #13 DATA @84,$00,0,$28,0,$0C ' ATTR #14 DATA @90,$00,0,$28,0,$0C ' ATTR #15 'Text Generator 1 - Color and Enhanced Feature Attributes DATA @96,$00,0,$FE,0,$0F ' ATTR #00 DATA @102,$00,0,$FE,0,$0F ' ATTR #01 DATA @108,$00,0,$80,0,$0F ' ATTR #02 DATA @114,$00,0,$0E,0,$0C ' ATTR #03 DATA @120,$00,0,$8E,0,$0F ' ATTR #04 DATA @126,$00,0,$70,0,$0C ' ATTR #05 DATA @132,$00,0,$F0,0,$0F ' ATTR #06 DATA @138,$00,0,$7E,0,$0C ' ATTR #07 DATA @144,$00,0,$48,0,$0E ' ATTR #08 DATA @150,$00,0,$B0,0,$0F ' ATTR #09 DATA @156,$00,0,$28,0,$0C ' ATTR #10 DATA @162,$00,0,$16,0,$0F ' ATTR #11 DATA @168,$00,0,$30,0,$0C ' ATTR #12 DATA @174,$00,0,$9E,0,$0C ' ATTR #13 DATA @180,$00,0,$28,0,$0C ' ATTR #14 'Text Generator 0 - Highlight, lowlight, and shadow color attributes DATA @186,$FF,0,$01 ' HighLight DATA @190,$DB,0,$00 ' LowLight1 DATA @194,$49,0,$00 ' Lowlight2/Shadow/Border 'Text Generator 1 - Highlight, lowlight, and shadow color attributes DATA @198,$FF,0,$01 ' HighLight DATA @202,$DB,0,$00 ' LowLight1 DATA @206,$49,0,$00 ' Lowlight2/Shadow/Border 'Horizontal and Vertical Start Position DATA @210,$10,0,$08 ' Horizontal - Vertical Offset 'Overlay Hue Setting DATA @214,$76 ' Hue (Text Generator 2 - Dac4) 'Fader Transparency and Time variables DATA @216,$63,0,$00 ' T_Level and B_Level DATA @220,$32,0,$32 ' UP_Time and DN_Time 'RTCC Time and Date Mode variables DATA @224,$00,0,$00 ' TimeMode and DateMode
I have compiled it both ways several times, and the sequential addressing example fails to work every single time (when I view the configuration menu that is part of my main program, I can see that the EEprom data is all messed up, also the video characteristics which are based on this data do not function properly).Code:'Text Generator 0 - Color and Enhanced Feature Attributes DATA @0,$00,$FE,$0F ' ATTR #00 DATA @3,$00,$FE,$0F ' ATTR #01 DATA @6,$00,$80,$0F ' ATTR #02 DATA @9,$00,$0E,$0C ' ATTR #03 DATA @12,$00,$8E,$0F ' ATTR #04 DATA @15,$00,$70,$0C ' ATTR #05 DATA @18,$00,$F0,$0F ' ATTR #06 DATA @21,$00,$7E,$0C ' ATTR #07 DATA @24,$00,$48,$0E ' ATTR #08 DATA @27,$00,$B0,$0F ' ATTR #09 DATA @30,$00,$28,$0C ' ATTR #10 DATA @33,$00,$16,$0F ' ATTR #11 DATA @36,$00,$30,$0C ' ATTR #12 DATA @39,$00,$9E,$0C ' ATTR #13 DATA @42,$00,$28,$0C ' ATTR #14 DATA @45,$00,$28,$0C ' ATTR #15 'Text Generator 1 - Color and Enhanced Feature Attributes DATA @48,$00,$FE,$0F ' ATTR #00 DATA @51,$00,$FE,$0F ' ATTR #01 DATA @54,$00,$80,$0F ' ATTR #02 DATA @57,$00,$0E,$0C ' ATTR #03 DATA @60,$00,$8E,$0F ' ATTR #04 DATA @63,$00,$70,$0C ' ATTR #05 DATA @66,$00,$F0,$0F ' ATTR #06 DATA @69,$00,$7E,$0C ' ATTR #07 DATA @72,$00,$48,$0E ' ATTR #08 DATA @75,$00,$B0,$0F ' ATTR #09 DATA @78,$00,$28,$0C ' ATTR #10 DATA @81,$00,$16,$0F ' ATTR #11 DATA @84,$00,$30,$0C ' ATTR #12 DATA @87,$00,$9E,$0C ' ATTR #13 DATA @90,$00,$28,$0C ' ATTR #14 'Text Generator 0 - Highlight, lowlight, and shadow color attributes DATA @93,$FF,$01 ' HighLight DATA @95,$DB,$00 ' LowLight1 DATA @97,$49,$00 ' Lowlight2/Shadow/Border 'Text Generator 1 - Highlight, lowlight, and shadow color attributes DATA @99,$FF,$01 ' HighLight DATA @101,$DB,$00 ' LowLight1 DATA @103,$49,$00 ' Lowlight2/Shadow/Border 'Horizontal and Vertical Start Position DATA @105,$10,$08 ' Horizontal - Vertical Offset 'Overlay Hue Setting DATA @107,$76 ' Hue (Text Generator 2 - Dac4) 'Fader Transparency and Time variables DATA @108,$63,$00 ' T_Level and B_Level DATA @110,$32,$32 ' UP_Time and DN_Time 'RTCC Time and Date Mode variables DATA @112,$00,$00 ' TimeMode and DateMode
I have also read the readme files that came with PBP 2.45, and no where is it mentioned that the EEprom problem was fixed in this version. However on the MEL upgrade page under the PBP ver 2.44 it lists: Changes PIC18Fxxxx DATA and EEPROM to allow odd locations (This would seem to suggest that the problem was fixed in ver 2.44 and not in ver 2.45, although the wording is strange).
Once again, I'm not saying you are wroung, but please tell me why you think it doesn't work in my situation.
Thank you,
Using PBP 2.45 and MPASM 4.01 with WinXP Pro, I can confirm the EEPROM works fine with 18F242, 252, 2420, 2520 and 2620. No blank spaces, odd and even locations accessed.
I have put product out in the field with internal EEPROM maxed-out... if there was any anomaly I assure you it would have been spotted.
I don't have or use Microcode Studio or EPIC.
What 18F is causing you grief? I'll order one in if I don't have it and give it a spin...
Perhaps the Epic programmer is the difference that really matters. I seem to recall something being said on the MEL site about the Epic programmer being involved with setting things right if the odd number sequence was used (unfortunately this topic was completely removed from the section it once appeared in on the MEL site). Perhaps the Epic programmer is now working against me, since the EEprom problem has presumably been fixed in PBP itself. Although once again, when I look at the upgrade info to version 2.45 for the Epic programmer nothing is mentioned about this at all.
Oh well. I can live with it for the time being, or at least until I get better confirmation on what is happening. However it would be nice to know, especially for other people's sake that may be trying to use the same combination of tools as I am (and tearing their hair out trying to preload the EEprom during compilation with sequential DATA addressing).
On a separate note: You said you don't use MicroCode Studio. What IDE are you using?
I am using a PIC18F252 Dip 28 package running a 10 Mhz xtal with PLL set to x4What 18F is causing you grief? I'll order one in if I don't have it and give it a spin...
Thanks for the quick reply and trying to help me out. It's appreciatted.
Last edited by mytekcontrols; - 11th July 2005 at 20:43.
Michael,
I have experienced similar problems about a year ago.
See:
http://www.picbasic.co.uk/forum/show...ghlight=eeprom
It was fixed with one the updates.
And I can confirm what Melanie has already said:
I have tried it with the latest Versions of:Using PBP 2.45 and MPASM 4.01 with WinXP Pro, I can confirm the EEPROM works fine with 18F242, 252, 2420, 2520 and 2620. No blank spaces, odd and even locations accessed.
PICSTART+
ICD2
MicroCode Loader
regards
Ralph
_______________________________________________
There are only 10 types of people:
Those who understand binary, and those who don't ...
_______________________________________________
Hi Ralph,
Thanks for the link --- great info, especially this:
This is the info that I remembered, but could no longer find. It certainly appears that my problem might very well be directly linked to using the Epic programmer. If it is, what a Mickey Mouse solution that was (sorry Mickey, but I had to say it). I still would like to know if Epic ver 2.45 cures this before I upgrade (nothing else about the upgrade as published would be of benefit to me).Once upon a time this was posted on the MEL site...
If you use DATA or EEPROM to load values into data space at program time, you will encounter inconsistency in the addressing of this data. The Microchip assembler won't address odd-numbered locations in data space. Therefore, you have to multiply the addresses in the DATA and EEPROM statements by 2. The EPIC programmer will correct the addresses at program time, so you can read the values back without the address doubling.
Hi Michael,
well the best way to know is probably to ask to Melabs.
One great guy there: Charles Leo => [email protected]
But i doubt that you'll encounter any other problem with an upgrade.
I just finish to talk to Mr Mickey Mouse... he's still happy. More and more publicity for him will just increase his pay cheque... well that's what he told me)
Michael St-Pierre=> is there any french language back to it?
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Bookmarks