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.

Emifa Direct Rom Boot problem on DM6437

Hi,

We are having a problem while booting up from 0x42000000 address using emifa direct rom boot.

The case is, the booting works sometimes and does not work sometimes. (After I connect with the emulator, I see there is no code on the appearing window, but when I check the address 0x42000000, I see the flash is reachable and burned. So we decided that somehow it fails to boot up in emifa direct rom boot mode.) When it works fine, the bootcfg register value is 0x104104. When it doesn't work, the value of this register is 0x114104.

The different bit is goes as reserved in the document. But in the case that it doesn't work, this reserved bit is always 1, and when it boots successful, the reserved bit is 0. We couldn't find anything wrong and we are suspicious about this bit. Do you have any ideas or any recommendations?

Thanks,

Erman

  • I assume this is custom hardware?

    In this case it sounds like you have an issue with a boot configuration pin not being pulled strongly enough such that it ends up with an indeterminate state at power up leading to the invalid value in your bootcfg register (most of the bootcfg register bit values come from various device pins).

    In particular you should check the YOUT6/GP[28] pin (ball H16 or J21) that is shown in table 2-5 of the datasheet is maintaing a low value during boot, if this pin ends up inadvertently floating high you should see the corruption in bootcfg (bit 16 being set) and a subsequent boot failure since the device will be configured incorrectly. As a test you could take a lower value resistor and pull this pin to ground to see if you can be rid of the issue, or put pull it high to see the issue happen every single time. Hopefully this is not a difficult issue to fix in your hardware, I suspect it could be fixed by adjusting your pull down resistor value to be stronger, and perhaps by adjusting the power up sequence of whatever device happens to be connected to that pin to ensure it is not driven high inadvertently during power up.

  • Thank you Bernie, the problem was exactly as you say and hopefully we solved it this morning.

    Erman