From: SourceForge.net <no...@so...> - 2013-03-02 19:37:45
|
Bugs item #3606633, was opened at 2013-03-02 11:37 Message generated for change (Tracker Item Submitted) made by hpoetzl You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3606633&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: pic16 target Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Herbert Pötzl (hpoetzl) Assigned to: Nobody/Anonymous (nobody) Summary: TBLPTRx not saved in interrupt Initial Comment: using const arrays/tables like const unsigned char tbl_a[] = { 0, 1, 2, 3 }; on pic16 taget (e.g. pic18f2455) will result in code using the TBLPTRx registers, but those are not saved in interrupt context, so in case both, the main code and the interrupt handler use such an array, the TBLPTRx will get messed up leading to all kind of unexpected behaviour. (see tblptr.lst for details) $ sdcc --std-sdcc99 --use-non-free -mpic16 -p18f2455 tblptr.c $ sdcc --version SDCC : mcs51/gbz80/z80/z180/r2k/r3ka/ds390/pic16/pic14/TININative/ds400/hc08/s08 3.2.1 #8246 (Dec 17 2012) (Linux) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3606633&group_id=599 |