| ??? 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 |



