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.

Reply via email to