Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
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 : DATA
Because 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



List of 19 messages in thread
TopicAuthorDate
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      

Back to Subject List