This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RM46L852: Data Abort Exception

Part Number: RM46L852
Other Parts Discussed in Thread: HALCOGEN

Hi Champs,

My customer is using RM46x for safety application. They are testing Bootloader and Applications with RTOS.

They redirected exception vector table in the bootloader to a fixed location within the application memory space as following with reference to the app note ( http://www.ti.com/lit/spna241

b  _c_int00      ;0x00
b   #0x1FFF8  ;0x04; 0x1FFF8 =0x20000-0x8; 0x20000is the application start addr
b   #0x1FFF8  ;0x08, Software interrupt
b   #0x1FFF8   ;0x0C, Abort (prefetch)
b   #0x1FFF8   ;0x10, Abort (data)

reservedEntry

b r eservedEntry ;0x14
ldr  pc, [pc, #-0x1b0]  ;0x18
ldr  pc, [pc, #-0x1b0]  ;0x1C

In that case, all exceptions work fine except data abort exception. It they run debug mode, program PC goes the following code and goes into infinite loop. 

What is the cause of this problem?

if ((esmREG->SR1[2]) != 0U)
{
    /* USER CODE BEGIN (24) */
    /* USER CODE END */
    /*SAFETYMCUSW 5 C MR:NA <APPROVED> "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */
    /*SAFETYMCUSW 26 S MR:NA <APPROVED> "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */
    /*SAFETYMCUSW 28 D MR:NA <APPROVED> "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */
    for(;;)
    {
    }/* Wait */
    /* USER CODE BEGIN (25) */
    /* USER CODE END */
}

Thanks,

Steve