|
|
View previous topic :: View next topic |
Author |
Message |
Guest
|
A bug in rtos_yield? |
Posted: Fri Jul 03, 2009 8:16 am |
|
|
Hi!
I'm programming a PIC18F6723 with CCS 4.074. I'm having a problem when I call the rtos_yield. This routine is changing the value of end64TCO[4], end64TCO[5] and end64TCO[6]. Do you have any idea why this is happening? How can I fix this in my firmware?
Take a look:
The end64TCO[4] is in the position 0x21.
FILE: vars.h
FILE: main.lst
Code: |
#include vars.h
.................... rtos_yield();
005D2: MOVLW E4
005D4: MOVLB 2
005D6: MOVWF x21
005D8: MOVLW 05
005DA: MOVWF x22
005DC: MOVLW 00
005DE: MOVWF x23
005E0: GOTO 1A8C
|
Best Regards,
Ives. |
|
|
Ttelmah Guest
|
|
Posted: Fri Jul 03, 2009 9:01 am |
|
|
The yield function is changing addresses _221, 222, 223_. Note the leading '2'. This is why the instruction before the accesses, sets the bank to '2' (MOVLB). You need to check in the .sim file, the actual address of your array. It is a 3 digit number, not a 2 digit number. Is it in bank 2?. If it is 021, or 121, there is no conflict here.
Best Wishes |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|