AnsweredAssumed Answered

Debugger jumps into misalign interrupt when code size exceeds 0x20000 bytes.

Question asked by Charles Barnes on Oct 2, 2013
Latest reply on Oct 16, 2013 by Charles Barnes

Processor is the 56f8367 (which has 512k program flash, so I shouldn't be even near the limit) and I am using Codewarrior 8.3.

 

from the xMap file

 

00000000 00000000 000000AE .p_interrupts_ROM

000000AE 000000AE 000000C6 .p_flash_ROM

00000174 00000174 0001FE8D .p_flash_ROM

 

The total of these three is 0x20001

 

The first time the program calls "memset," it jumps into the illegal instruction interrupt

 

if I remove a single i = 0; from the code, the resultant xMap contains

 

00000000 00000000 000000AE .p_interrupts_ROM

000000AE 000000AE 000000C6 .p_flash_ROM

00000174 00000174 0001FE8B .p_flash_ROM

 

The total drops to 0x1FFFF

 

And this it runs without a problem.

 

What gives?  Why does it vomit on the 2^17 address location?  What are potential fixes?

 

Thank you.

Outcomes