Roy Azriel

ILLEGAL_BP

Discussion created by Roy Azriel on Sep 7, 2006
Latest reply on Sep 14, 2006 by Roy Azriel
Hello,
I am getting the following massage in the HiWave debugger. I read the other threads and still can not put my finger on the problem. i am using the MC9S12DP256 with the MOT 1.2 comp[iler.
in the startup code there is an implemantation in assembler that copies data from the non banked flash to start of RAM.  the start code in flash was $0e800 I needed some more allocation space so i have changed the ROM_C000 from  0xE800 to  0xEA00 in the prm file like I have done before when I needed more space.  when I change the address marked in red below in the start12.c file i get ILLEGAL_BP message when i run the application. Can someone advice?
I guess ir has somthing to do with the INITRM register following this action.
 
 
ROM_C000 = READ_ONLY  0xEA00 TO 0xFE00;    //line in prm file
 
thestart12.c
 
   __asm {
    ldx #$0EA00  ; point to the start Code in Flash.
    ldy #$2800  ; point to the start of on-chip RAM.
    ldd #$1700  ;  code size.
MoveMoreCode0:
             movb 1,x+,1,y+  ; move a byte of the bootloader into RAM.
    dbne d,MoveMoreCode0  ; dec byte count, move till done.
    ldx #$0ff8c  ; point to the start code in Flash.
    ldy #$03f8c  ; point to the start of on-chip RAM.
    ldd #$74  ;code size.
MoveMoreVect0:
             movb 1,x+,1,y+  ; move a byte of the bootloader into RAM.
    dbne d,MoveMoreVect0  ; dec byte count, move till done.
   }
}

   __asm {
    LDAB  #$00C1  ; write to the INITRM register to overlay the Flash bootblock with RAM.
    nop
    STAB     16  ; this instruction MUST use extended addressing an be aligned to an even byte boundary.
                nop
                nop
                nop
                nop
                nop
                nop
                nop
               
  }
 
thanks
Roy

Outcomes