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.

it is very very strange in UBL/device.c, DEVICE_init()->POR_RESET(). for DM365

hi all.

 I am debuging the DM365 UBL, DVSDK is 4.0 , using UART boot mode.  in device.c->DEVICE_init(), we can find it calls POR_RESET(). the POR_RESET() function's code is as following:

void POR_RESET()

{

DEBUG_printString("rstype=0x"); //add by myself

UART_sendHexInt(PLL1->RSTYPE);

DEBUG_printString("QQQ\n");

if ((PLL1->RSTYPE)&3) { //last reset type (in SPRUFG5A.pdf,page44),=1 means "power on reset"

    VPSS_SYNC_RESET();  // VPSS sync reset

    *GPINT_GPEN = 0x00020000;

    *GPTDAT_GPDIR = 0x00020002;

    while(1);

  }

}

After download these code ,i can see the output:

rstype=0x00000001QQQ.

so PLL1->RETYPE=1 (means POWER ON Reset), and if((PLL1->RSTYPE)&3) is true, the cpu runs to while(1); 

All I can see is : the CPU reset ,and print "BOOTME" again. why there is a "while(1)"? BUG?

Another question, GPINT_GPEN  is defined as "#define GPINT_GPEN (unsigned int *)(0x01C21C08) // WDTspecial function"

we can find out timer2's base address is 0x01c21c00, however ,I cannot find any definition in SPRUFH0.PDF(timer) for offset "0x08" and "0x0C". Anyone can give a tip?