Access violation

Discuss about beta versions of mikroPascal compiler.
Post Reply
Author
Message
janni
Posts: 5373
Joined: 18 Feb 2006 13:17
Contact:

Access violation

#1 Post by janni » 05 Dec 2006 17:25

Something's wrong with simulator when trying to add to watch window variables which were split over two banks. An endless string of 'Access violation ...' messages follows attempts to add some of them (or the remainder of a variable - like Farg_xxx+4 - just to check where it is placed in RAM).

Also the View Statistics/RAM window shows incomplete listing of internal variables.

User avatar
zristic
mikroElektronika team
Posts: 6608
Joined: 03 Aug 2004 12:59
Contact:

Re: Access violation

#2 Post by zristic » 06 Dec 2006 09:04

We will check this. Thanks.

janni
Posts: 5373
Joined: 18 Feb 2006 13:17
Contact:

#3 Post by janni » 06 Dec 2006 13:08

BTW, "Array has been split over two banks ..." warning appearing for PIC16 processors - I've seen these warnings but no following actual variable splitting over two RAM banks.

Does the warning mean what I suspect - that there are variables in higher RAM banks (2 & 3) accessed indirectly without STATUS,IRP switching?

janni
Posts: 5373
Joined: 18 Feb 2006 13:17
Contact:

#4 Post by janni » 15 Dec 2006 23:10

No response yet...

These "Array has been split over two banks ..." warnings really bug me.

janni
Posts: 5373
Joined: 18 Feb 2006 13:17
Contact:

#5 Post by janni » 15 Dec 2006 23:10

No response yet...

These "Array has been split over two banks ..." warnings really bug me.

User avatar
zristic
mikroElektronika team
Posts: 6608
Joined: 03 Aug 2004 12:59
Contact:

#6 Post by zristic » 16 Dec 2006 09:48

janni wrote:Does the warning mean what I suspect - that there are variables in higher RAM banks (2 & 3) accessed indirectly without STATUS,IRP switching?
It may mean that, but for sure it is issued when the array elements do not follow each other sequentially, which happens on P16 due to memory decayed teeth organization.

janni
Posts: 5373
Joined: 18 Feb 2006 13:17
Contact:

#7 Post by janni » 16 Dec 2006 13:42

for sure it is issued when the array elements do not follow each other sequentially
It wouldn't bother me, if it were so. Problem is, I've checked all the way down to hex code and there is for sure no trace of noncontinous memory distibution. All variables checked had their bytes placed consequtively.

The only fragmentation I've noticed was in naming - when the compiler places variables of different length at the same starting address, it sometimes uses name of shorter variable in Statistics or Watch widows. Longer variables are then 'fragmented' in the sense of their memory designation - shorter variable plus the remainder. (In consequence many variables cannot be found in Statistics window by name, and in Watch window groups of variables are represented by the same name which is plain cruelty to programmers :cry: ).

All the variables with warning had also two things in common - they were placed in 2nd or 3rd memory bank and they were indirectly addressed in library functions (hence my suspicion). This, however, could be coincidental.

Post Reply

Return to “mikroPascal Beta testing”