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?