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.

DM368 IPNC - Board booted once but not again

Hardware is our own board, based on the Leopardboard dm368 reference design. Software is Appro IPNC MT5 DM368 4.0.x SDK, which we have successfully built & run on a leopardboard DM368.

An odd phenomenon - when the board arrived, we loaded UBL & U-boot from SD card and could then use TFTP to load the kernel & filesys & burn to flash, and it ran and worked. Coming back to the board after the weekend, it does not boot and just hangs at "Starting kernel ..."

Earlyprintk is enabled but there are no further messages / errors printed.

I've done a lot of reading, and the common causes are:

  • The UART being set wrong (it isn't, nothing has changed since it worked)
  • Wrong bootargs (checked, these are identical to the leopardboard which works)
  • Boot mode jumpers being wrong (they are correct)
  • "Machine Type" wrong (I don't think so, no error is displayed)

The full output at boot is like this (including using TFTP to download our uimage):




U-Boot 2010.12-rc2 (Feb 13 2013 - 18:32:59)

Cores: ARM 432 MHz
DDR:   340 MHz
I2C:   ready
DRAM:  128 MiB
NAND:  128 MiB
MMC:   davinci: 0, davinci: 1
Bad block table not found for chip 0
Bad block table not found for chip 0
Bad block table written to 0x000007fe0000, version 0x01
Bad block table written to 0x000007fc0000, version 0x01
Net:   Ethernet PHY: GENERIC @ 0x00
DaVinci-EMAC
Hit any key to stop autoboot:  0
DM36x EVM #  tftpboot 0x80700000 uImage_ipnc_dm368;tftpboot 0x82000000 ipnc_dm368_ubifs;nand erase clean 0x500000 0x2C00000;nand write 0x80700000 0x500000 0x400000;nand write 0x82000000 0x900000 $filesize;boot
Using DaVinci-EMAC device
TFTP from server 192.168.2.10; our IP address is 192.168.2.169
Filename 'uImage_ipnc_dm368'.
Load address: 0x80700000
Loading: #################################################################
         #################################################################
         --- I removed some ## here for clarity! ---
         #################################################################
         ######################
done
Bytes transferred = 3440032 (347da0 hex)
Using DaVinci-EMAC device
TFTP from server 192.168.2.10; our IP address is 192.168.2.169
Filename 'ipnc_dm368_ubifs'.
Load address: 0x82000000
Loading: #################################################################
         #################################################################
         --- I removed some ## here for clarity! ---
         #################################################################
         #####################################

done
Bytes transferred = 22151168 (1520000 hex)

NAND erase: device 0 offset 0x500000, size 0x2c00000
Erasing at 0x30e0000 -- 100% complete. Cleanmarker written at 0x30e0000.
OK

NAND write: device 0 offset 0x500000, size 0x400000
 4194304 bytes written: OK

NAND write: device 0 offset 0x900000, size 0x1520000
 22151168 bytes written: OK

Loading from nand0, offset 0x500000
   Image Name:   Linux-2.6.37_bobIPNC_DM368n_4.0.0
   Created:      2013-07-04   9:54:35 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3439968 Bytes = 3.3 MiB
   Load Address: 80008000
   Entry Point:  80008000
## Booting kernel from Legacy Image at 80700000 ...
   Image Name:   Linux-2.6.37_bobIPNC_DM368n_4.0.0
   Created:      2013-07-04   9:54:35 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3439968 Bytes = 3.3 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...


And then it just stops.

  • Hello, 

    Have made any changes to pinmux or any other changes in kernel code?

    can you share the bootargs and related ENV setting?

    Also, can you try ttyS1 instead of ttyS0? lokks like there has been some change in kernel that has caused this, please let know the changes

    Regards,

    Raghu

  • Hi Raghu,

    There are no changes to the kernel at all. The build of ubl + u-Boot + Kernel + Filesys is what we have been running with no problems on the LeopardBoard.

    Bootargs / ENV are:

    U-Boot 2010.12-rc2 (Feb 13 2013 - 18:32:59)

    Cores: ARM 432 MHz
    DDR:   340 MHz
    I2C:   ready
    DRAM:  128 MiB
    NAND:  128 MiB
    MMC:   davinci: 0, davinci: 1
    Bad block table not found for chip 0
    Bad block table not found for chip 0
    Bad block table written to 0x000007fe0000, version 0x01
    Bad block table written to 0x000007fc0000, version 0x01
    Net:   Ethernet PHY: GENERIC @ 0x00
    DaVinci-EMAC
    Hit any key to stop autoboot:  0
    DM36x EVM # printenv
    baudrate=115200
    bootargs=mem=48M console=ttyS0,115200n8 noinitrd ip=192.168.2.168:192.168.2.10:192.168.2.254:255.255.255.0:::off rw ubi.mtd=3,2048 rootfstype=ubifs root=ubi0:rootfs cmemk.phys_start=0x83000000 cmemk.phys_end=0x88000000 cmemk.phys_start_1=0x00001000 cmemk.phys_end_1=0x00008000 cmemk.pools_1=1x28672 cmemk.allowOverlap=1 cmemk.useHeapIfPoolUnavailable=1 lpj=1077248 nohz=off highres=off eth=00:0c:0c:A0:04:31 earlyprintk video=davincifb:vid1=1280x720x16,8100K:vid1=OFF:osd0=720x576x16,4050K dm365_imp.oper_mode=0 davinci_capture.device_type=4
    bootcmd=nboot 0x80700000 0 0x500000;bootm 0x80700000
    bootdelay=3
    bootfile="uImage"
    ethact=DaVinci-EMAC
    ethaddr=00:0c:0c:a0:02:b5
    gatewayip=192.168.2.254
    ipaddr=192.168.2.169
    nfshost=192.168.2.10
    serverip=192.168.2.10
    stderr=serial
    stdin=serial
    stdout=serial
    ver=U-Boot 2010.12-rc2 (Feb 13 2013 - 18:32:59)

    Environment size: 895/262140 bytes
    DM36x EVM #

    Compare to the working Leopardboard:

    U-Boot 2010.12-rc2 (Feb 13 2013 - 18:32:59)

    Cores: ARM 432 MHz
    DDR:   340 MHz
    I2C:   ready
    DRAM:  128 MiB
    NAND:  256 MiB
    MMC:   davinci: 0, davinci: 1
    Bad block table not found for chip 0
    Bad block table not found for chip 0
    Bad block table written to 0x00000ffe0000, version 0x01
    Bad block table written to 0x00000ffc0000, version 0x01
    Net:   Ethernet PHY: GENERIC @ 0x00
    DaVinci-EMAC
    Hit any key to stop autoboot:  0
    DM36x EVM # printenv
    baudrate=115200
    bootargs=mem=48M console=ttyS0,115200n8 noinitrd ip=192.168.2.168:192.168.2.10:192.168.2.254:255.255.255.0:::off rw ubi.mtd=3,2048 rootfstype=ubifs root=ubi0:rootfs cmemk.phys_start=0x83000000 cmemk.phys_end=0x88000000 cmemk.phys_start_1=0x00001000 cmemk.phys_end_1=0x00008000 cmemk.pools_1=1x28672 cmemk.allowOverlap=1 cmemk.useHeapIfPoolUnavailable=1 lpj=1077248 nohz=off highres=off eth=00:0c:0c:A0:04:31 earlyprintk video=davincifb:vid1=1280x720x16,8100K:vid1=OFF:osd0=720x576x16,4050K dm365_imp.oper_mode=0 davinci_capture.device_type=4
    bootcmd=nboot 0x80700000 0 0x500000;bootm 0x80700000
    bootdelay=3
    bootfile="uImage"
    ethact=DaVinci-EMAC
    ethaddr=00:0c:0c:a0:02:b5
    gatewayip=192.168.2.254
    ipaddr=192.168.2.168
    nfshost=192.168.2.10
    serverip=192.168.2.10
    stderr=serial
    stdin=serial
    stdout=serial
    ver=U-Boot 2010.12-rc2 (Feb 13 2013 - 18:32:59)

    Environment size: 895/262140 bytes
    DM36x EVM #

    The only difference I can see is the Leopard has 256MiB Flash, but the kernel + filesys are <40Mb.

    I will try changing TTY ports, but the confusing this is that this board has previously booted properly with no changes to the software.

    We are entirely happy that this may be a hardware issue as the board is the 1st of our own design, so there is always some small problem with the 1st prototype, but of course we need to find that problem, and at the moment there is no clue from the console.

    Edited to add: I changed to TTYs1 but it made no difference.

  • Hi,

    Can you show us a detailed kernel boot by removing the "quiet" option on your bootargs ?

    Regards

  • The 'quiet' option is not set in our bootargs as far as I can see, unless you mean to change something in the kernel source?