Here's the summary:
We are using the SOMDM3730-32-1880AKIR in a Linux-based design and are having intermittent problems during the boot sequence. Occasionally (infrequently - perhaps 1 out of 100 boot cycles) the system hangs right when u-boot should be handing control over to the Linux kernel. No further console output is seen and the system never recovers on its own. We know that the last few lines of u-boot code are executed, displaying "Starting kernel ...", right up to the call to kernel_entry(). After that, when the system freezes, we get no further output, including the "Linux version" message which is usually sent very early on during kernel boot. We have seen identical behavior with multiple SOMs and on multiple carrier boards, including on the Logic PD development board. Most of the time the system boots up fine; it's only occasionally that we see this behavior, and we see it after either a hard power cycle or a soft "reboot" command from the Linux prompt.
Has anybody else seen this behavior? Even though the problem is infrequent, we can't deliver a product that may fail to boot properly every so often! I would greatly appreciate any suggestions!
Some further details:
We're using the following board support package: 1024334_LogicPD_Linux_BSP_2.4-2
We have a custom compiled kernel, but haven't changed anything that should be significant. Mostly, we've removed drivers for hardware that we know won't be used with our design.
We have customized the network config and included applications, but when the system hangs it does so well before any network configuration or application code gets executed.
We have set the u-boot environment variables as follows:
otherbootargs has been appended with the ip= text to set our IP address, etc.
bootdelay has been set to 0 for faster startup.
We have used the u-boot command "run makenandboot" to prepare the system for booting from NAND FLASH.
We have verified that, when the system hangs, kernel_entry points to the correct memory address (0x80008000) and that first 1024 bytes of data located at that address in RAM match the data at the same location during a successful startup.
Thanks in advance for any help!
Ryan