I'm working with CodeWarrior and an MC9S08QE128. I have gone to banked memory due to the size of the code and everything was working but as of today I have an error I can't run down. At a point in the code when a function is called, the code jumps to the wrong function and in fact jumps to the middle of the wrong function. I then get an ILLEGAL BP and it resets.
All code except for main.c has been moved to the banked memory using pragmas.
I'm not doing any dynamic memory allocation.
I have watched the registers and everything look OK to me. I thought at first it was a stack problem, but the stack is fine (I have it at 2K at the moment to ensure it's the the problem). There is enough RAM for all the data, I've checked that.
Unfortunately, I can't post the code (13+ K lines) since it's not mine.
Any ideas on how to run this down?
Thanks for the help.
Brad
解決済! 解決策の投稿を見る。
Hello Brad,
JBM wrote:I'm working with CodeWarrior and an MC9S08QE128. I have gone to banked memory due to the size of the code and everything was working but as of today I have an error I can't run down. At a point in the code when a function is called, the code jumps to the wrong function and in fact jumps to the middle of the wrong function. I then get an ILLEGAL BP and it resets.
All code except for main.c has been moved to the banked memory using pragmas.
The ISR code must also use unbanked memory.
Regards,
Mac
Hello Brad,
JBM wrote:I'm working with CodeWarrior and an MC9S08QE128. I have gone to banked memory due to the size of the code and everything was working but as of today I have an error I can't run down. At a point in the code when a function is called, the code jumps to the wrong function and in fact jumps to the middle of the wrong function. I then get an ILLEGAL BP and it resets.
All code except for main.c has been moved to the banked memory using pragmas.
The ISR code must also use unbanked memory.
Regards,
Mac
Thanks, that was it.