??? 12/06/04 09:07 Read: times |
#82586 - non-reentrant Responding to: ???'s previous message |
WARNING L15 : MULTIPLE CALL TO SEGMENT SEGMENT: ?PR?_SEND?MAIN?The reason is that functions in Keil are not reentrant (see the Manual). ERROR L107: ADRESS SPACE OVERFLOW SPACE : DATABecause you have called the function from both main and the interrupt, Keil cannot overlay the memory used for locals & parameters in these functions - hence you get the overflow. Keil Application Note 129 Function Pointers in C51 and the knowledgebase article C51: PROBLEMS WITH FUNCTION POINTERS OVERWRITING VARIABLES describe what is going on here: http://www.keil.com/appnotes/docs/apnt_129.asp http://www.keil.com/support/docs/210.htm |
Topic | Author | Date |
89s52 function sharing. | 01/01/70 00:00 | |
Try This | 01/01/70 00:00 | |
emphasis | 01/01/70 00:00 | |
an idea... | 01/01/70 00:00 | |
Andy, I tried it | 01/01/70 00:00 | |
Jolly good! | 01/01/70 00:00 | |
Error | 01/01/70 00:00 | |
You need to work on it | 01/01/70 00:00 | |
reentrant ? | 01/01/70 00:00 | |
reentrant | 01/01/70 00:00 | |
non-reentrant | 01/01/70 00:00 | |
Wow | 01/01/70 00:00 | |
varaible sharing? | 01/01/70 00:00 | |
Variable sharing | 01/01/70 00:00 | |
Overflow | 01/01/70 00:00 | |
variables, main and ISR | 01/01/70 00:00 | |
Globals use more memory | 01/01/70 00:00 | |
Isn't that a global? | 01/01/70 00:00 | |
Globals, ISRs, main, & static![]() | 01/01/70 00:00 |