This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Interrupts with internal and external code

I set the compiler to save the PSW and put it into source mode (4 byte frame) instead of
binary. Now when I load my program into the dscope it has the correct ljmp instructions to my
ISR's. I created an endless while loop(while(1);) in one of my subroutines(external code
space). When I run my code to this location it gets there fine, but when an interrupt occurs I
vector to the ISR and return to the code however when I return I do not actually execute any
instructions or stop at any breakpoints set. The trace shows that I just run through all of my
instructions until execution stops.
One other thing I noticed that the display of the call stack shows a different address than
what should be when an interrupt occurs. It seems to be off by 1 byte. Does this mean
anything the interrupt seems to come and go alright when it hits when I am in my main routine
(located in the same code segment as the ISR) But the stack addressing anomally applies.

Parents
  • Thanks Sergey,

    Right now I am trying to link a group of functions together at address FF4000H
    and I am using the linker but the linker causes an error on my PC (PC fault) and it shuts down when I enter a long string into the command line.
    ie ?PR?Myfunc1?Myfile(0FF4000),?PR?Myfunc2?Myfile, etc....

    I have alot of functions. Does anyone know how I can work around this?????

Reply
  • Thanks Sergey,

    Right now I am trying to link a group of functions together at address FF4000H
    and I am using the linker but the linker causes an error on my PC (PC fault) and it shuts down when I enter a long string into the command line.
    ie ?PR?Myfunc1?Myfile(0FF4000),?PR?Myfunc2?Myfile, etc....

    I have alot of functions. Does anyone know how I can work around this?????

Children
No data