TI中文支持网
TI专业的中文技术问题搜集分享网站

关于dm368 RBL启动UBL的问题

  我用的sdk版本是dvsdk_4.02, 在调试中发现了一个很隐蔽的问题:通过外部NANDflash启动,在RBL启动UBL时会偶尔失败,概率是1/3000 左右,不知道是什么原因,大家有没有出现过这种情况。

Louis:

你好,

  启动失败有什么错误信息么?能不能提供一下logs?

yongjian huang:

回复 Louis:

你好,

     我调试时在UBL 的DEVICE_init()函数里加了看门狗复位操作让程序不断做重启,当启动失败出现时没有任何打印(RBL本身没有打印信息的,只有UBL在初始化串口后才能打印信息),我怀疑是在RBL启动UBL阶段出现了问题,即程序还没有进入UBL就已经失败了,DEVICE_init()函数修改如下(红色部分):

Uint32 DEVICE_init(){  Uint32 status = E_PASS;    // Mask all interrupts  AINTC->INTCTL = 0x4;  AINTC->EABASE = 0x0;  AINTC->EINT0  = 0x0;  AINTC->EINT1  = 0x0;       // Clear all interrupts  AINTC->FIQ0 = 0xFFFFFFFF;  AINTC->FIQ1 = 0xFFFFFFFF;  AINTC->IRQ0 = 0xFFFFFFFF;  AINTC->IRQ1 = 0xFFFFFFFF;

  POR_RESET();  WDT_RESET();

#ifndef SKIP_LOW_LEVEL_INIT

   // System PSC setup – enable all  DEVICE_PSCInit();    DEVICE_pinmuxControl(0,0xFFFFFFFF,0x00FD0000);  // All Video Inputs  DEVICE_pinmuxControl(1,0xFFFFFFFF,0x00145555);  // All Video Outputs  DEVICE_pinmuxControl(2,0xFFFFFFFF,0x000000DA);  // EMIFA  DEVICE_pinmuxControl(3,0xFFFFFFFF,0x00180000);  // SPI0, SPI1, UART1, I2C, SD0, SD1, McBSP0, CLKOUTs  DEVICE_pinmuxControl(4,0xFFFFFFFF,0x55555555);  // MMC/SD0 instead of MS, SPI0

 GPIO->DIR02 &= 0xfeffffff; GPIO->CLRDATA02 = 0x01000000;

   if (status == E_PASS) status |= DEVICE_PLL1Init();

  if (status == E_PASS) status |= DEVICE_PLL2Init();

 if (status == E_PASS)   status |= DEVICE_DDR2Init();

#endif  // AEMIF Setup  if (status == E_PASS) status |= DEVICE_EMIFInit();

  // UART0 Setup  if (status == E_PASS) status |= DEVICE_UART0Init();

  // TIMER0 Setup  if (status == E_PASS) status |= DEVICE_TIMER0Init();    // I2C0 Setup  if (status == E_PASS) status |= DEVICE_I2C0Init();

  WDT_FLAG_ON();

  DEBUG_printString("WDT_RESET—————1\r\n");    WDT_RESET();

  while(1)  {         DEBUG_printString(" wait WDT_RESET\r\n");  }

  return status;}

yongjian huang:

回复 yongjian huang:

关于这个问题我尝试在ubl中修改dm365的运行频率,从原来的Arm 297 DDR2 243 MHZ 修改为ARM 216 DDR2 173 MHz,重启失败就不会出现了,失败的时候DDR2还没开始运行代码啊,难道dm365在297频率下无法稳定工作?

赞(0)
未经允许不得转载:TI中文支持网 » 关于dm368 RBL启动UBL的问题
分享到: 更多 (0)