Hi Seb,
On 2013/08/15 18:50, Sebastien Lelong wrote:
I've been investigating with a potential issue in device files, at least
for 18f27j53. Not the new ones, the old ones (though they may concerned
as well).
I was adding some more features to a program to interface a air quality
sensor, but "suddenly", it was working anymore. I have explained this is
I'm sure you meant to say "was NOT working anymore"
details here, for the record, and because I could live without Subversion :
http://jaluino.org/the-great-power-of-subversion
It seems revision 3246 has introduced some sort of bug, related to
shared memory. I might something though, because I remember discussion
about this pragma shared memory, but vaguely I admit...
As explained in my post, switching back to old pragma shared gets my
program working again. Compiler 2.4o.
OK:
pragma data 0x1-0xEAF
pragma shared 0x0-0x0
Not OK:
pragma data 0x0-0xEAF
pragma shared 0x0-0x5F
Is this a bug ?
I think it is a combination of compiler (version) and device file. The
latest device files are supposed to work with JalV2 2.4p, but this
version has been withdrawn. For 2.4o the correct specification is the
one you marked above as 'OK'. Maybe 2.4o handles the specifications in
the latest device files incorrectly.
Did you try the 2.4q-beta compiler with the latest device files?
FYI:
With compiler 2.4q the specification of 'shared' in the Jallib device
files will change:
1. Pragma shared will specify all memory in the access bank, both GPR
and SFR. Thus for the 18f27j53 it will become:
pragma data 0x0-0xEAF
pragma shared 0x0-0x5F,0xF60-0xFFF
2. Variables (GPR and SFR) which are currently declared as 'shared' will
loose the 'shared' specification. The only place in the device files
where you'll find the word shared is on the line with 'pragma shared'.
The compiler will (at least is supposed to) handle bank settings based
on the address of the variable (not on the 'shared' keyword with the
variable declaration).
As you may notice the current device files for the 18Fs do not specify
the SFR-part of the access bank, but do have the 'shared' keyword in the
declaration. This will change for 2.4q.
Baseline and Midrange will have a similar change ('pragma shared' will
in many cases specify the 0x70-0x7F range).
Regards, Rob.
--
R. Hamerling, Netherlands --- http://www.robh.nl
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/jallib.
For more options, visit https://groups.google.com/groups/opt_out.