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.

MCSDK: uImage-tci6638-evm.dtb not found after flashing latest nand.bin

Hello,

I have a 66K2H board, and have programmed the latest nand.bin and nor.bin files using the MCDSK 'program_evm'. I believe that I have followed the procedures to replace the software. (I ran the command "%DSS_SCRIPT_DIR%\dss.bat program_evm.js evmk2h"). Now when I try and boot (after switching the jumpers back of course, uboot complains it cannot find the kernels dtb file. Do I need a newer version of uBoot, or did the MCSDK's binary come without the DTB? No errors were reported during flashing.

The version of the MCSDK I'm using is 3_00_01_12. When I've looked at the release notes for 3_00_01_14, I do not see anything addressing the inability to update/flash the DTB. Has this been corrected in this newer release?

Thanks,
Robert

Boot log:
-------------------------------------------
U-Boot SPL 2013.01-00004-g0c2f8a2 (Jul 30 2013 - 12:57:02)
SF: Detected N25Q128A with page size 64 KiB, total 16 MiB


U-Boot 2013.01-00004-g0c2f8a2 (Jul 30 2013 - 12:57:02)

I2C:   ready
DRAM:  1 GiB
NAND:  512 MiB
Net:   TCI6638_EMAC
Warning: TCI6638_EMAC using MAC address from net device
, TCI6638_EMAC1


TCI6638_EVM POST Version 01.00.02.01
------------------------------------------
SOC Information
EFUSE MAC ID is: 00 17 ea f7 0d 68
------------------------------------------

Power On Self Test
POST I2C eeprom read ... PASSED
POST EMIF NAND read ... PASSED
POST extrenal memory ... ddr_memory_test PASSED!
PASSED
Board doesn't have MDIO - EMAC test skipped
Test complete
Hit any key to stop autoboot:  0
Creating 1 MTD partitions on "nand0":
0x000000180000-0x000008000000 : "mtd=2"
UBI: attaching mtd1 to ubi0
UBI: physical eraseblock size:   131072 bytes (128 KiB)
UBI: logical eraseblock size:    126976 bytes
UBI: smallest flash I/O unit:    2048
UBI: VID header offset:          2048 (aligned 2048)
UBI: data offset:                4096
UBI: fixable bit-flip detected at PEB 924
UBI: fixable bit-flip detected at PEB 942
UBI: fixable bit-flip detected at PEB 942
UBI: fixable bit-flip detected at PEB 924
UBI: attached mtd1 to ubi0
UBI: MTD device name:            "mtd=2"
UBI: MTD device size:            126 MiB
UBI: number of good PEBs:        1012
UBI: number of bad PEBs:         0
UBI: max. allowed volumes:       128
UBI: wear-leveling threshold:    4096
UBI: number of internal volumes: 1
UBI: number of user volumes:     2
UBI: available PEBs:             0
UBI: total number of reserved PEBs: 1012
UBI: number of PEBs reserved for bad PEB handling: 10
UBI: max/mean erase counter: 3/0
UBIFS: mounted UBI device 0, volume 0, name "boot"
UBIFS: mounted read-only
UBIFS: file system size:   5079040 bytes (4960 KiB, 4 MiB, 40 LEBs)
UBIFS: journal size:       1142785 bytes (1116 KiB, 1 MiB, 9 LEBs)
UBIFS: media format:       w4/r0 (latest is w4/r0)
UBIFS: default compressor: LZO
UBIFS: reserved for root:  0 bytes (0 KiB)
uImage-tci6638-evm.dtb not found!
ubifsload - load file from an UBIFS filesystem

Usage:
ubifsload <addr> <filename> [bytes]
    - load file 'filename' to address 'addr'
TCI6638 EVM #
-------------------------------------------

  • Robert,

    I think the .dtb file should have a different name -- uImage-k2hk-evm.dtb instead of uImage-tci6638-evm.dtb. Try rebooting, cancel autoboot, and these commands at the u-boot console:

    env default -f -a

    setenv boot ubi

    saveenv

    boot

  • Dharik,

    Thanks for your very quick response, I did as you suggested, and now the dtb file can be found. Unfortunately it is giving me a new message, claiming that "uImage-keystone-evm.bin" is missing.

    Boot log
    ----------------------------------------
    [snip]
    Loading file 'uImage-k2hk-evm.dtb' to addr 0x87000000 with size 56740 (0x0000dda4)...
    Done
    Loading file 'skern-keystone-evm.bin' to addr 0x0c5f0000 with size 45056 (0x0000b000)...
    Done
    Loading file 'uImage-keystone-evm.bin' to addr 0x88000000 with size 3577448 (0x00369668)...
    UBIFS error (pid 0): ubifs_check_node: bad CRC: calculated 0x6179ad7e, read 0x3260bd98
    UBIFS error (pid 0): ubifs_check_node: bad node at LEB 15:91168
    UBIFS error (pid 0): ubifs_read_node: expected node type 1
    UBIFS error (pid 0): do_readpage: cannot read page 170 of inode 67, error -117
    Error reading file 'uImage-keystone-evm.bin'
    uImage-keystone-evm.bin not found!

  • Robert,

    I did not try 3_0_1_12 but I suggest upgrading to the latest MCSDK 3_00_2_14 as it does contain some newer images. That's the version I used and didn't run into any issues.

    You'll have to reflash (using dss.bat script) and run those u-boot commands again. You should also format nand before that.

    %DSS_SCRIPT_DIR%\dss.bat program_evm.js evmk2h format-nand

    %DSS_SCRIPT_DIR%\dss.bat program_evm.js evmk2h


    env default -f -a

    setenv boot ubi

    saveenv

    boot



  • Hello Robert,

    If there has been no error reported when you programmed the EVM, then that step itself was fine.

    Now when you try to boot EVM, which fs did you want to use, ramfs, network mounted fs, ubifs?

    For the first one, you need to set up tftp server; For second one, you also need to set up nfs server and copy corresponding files into server directory. For ubifs, you it sits on NAND, you can juse type a few commands to get it to work:

       setenv default -f -a
       setenv boot ubi
       setenv mtdparts 'mtdparts=davinci_nand.0:1024k(bootloader),512k(params)ro,129536k(ubifs)'
      boot

    With this, you can get the Out of box demo working already.

    All the procedure is documented here:

    http://processors.wiki.ti.com/index.php/Program_EVM_UG

    http://processors.wiki.ti.com/index.php/MCSDK_UG_Chapter_Tools

    http://processors.wiki.ti.com/index.php/MCSDK_UG_Chapter_Getting_Started

    best regards,

    David Zhou

  • David,

    I'm still working through Dharik's suggestions (I had not formatted the NAND prior to re-programming it, I was not sure I needed to do so).

    The short-term idea is to have the EVM boot the kernel from the NAND, and specify as a kernel arg the root file system on a USB device. Is this workable?

    Thanks,
    Robert

  • Dharik,

    I've done what you suggested (format nand, flash nand, run uboot commands) and upgraded to the MCSDK_3_00_02_14 version. I have progressed further than I did before. The DIP switches are in off, off, on, off. The kernel appears to get stuck as it's booting when it says "Starting Kerne". It stays there for several minutes with no progress indication. I'm attaching the logs:

    Boot log:
    --------------------------------------

    U-Boot SPL 2013.01 (Oct 01 2013 - 02:21:43)
    SF: Detected N25Q128A with page size 64 KiB, total 16 MiB


    U-Boot 2013.01 (Oct 01 2013 - 02:21:43)

    I2C:   ready
    Detected SO-DIMM [SQR-SD3T-2G1333SED]
    DRAM:  1 GiB
    NAND:  512 MiB
    Net:   TCI6638_EMAC
    Warning: TCI6638_EMAC using MAC address from net device
    , TCI6638_EMAC1
    Hit any key to stop autoboot:  0
    Creating 1 MTD partitions on "nand0":
    0x000000180000-0x000020000000 : "mtd=2"
    UBI: attaching mtd1 to ubi0
    UBI: physical eraseblock size:   131072 bytes (128 KiB)
    UBI: logical eraseblock size:    126976 bytes
    UBI: smallest flash I/O unit:    2048
    UBI: VID header offset:          2048 (aligned 2048)
    UBI: data offset:                4096
    UBI: attached mtd1 to ubi0
    UBI: MTD device name:            "mtd=2"
    UBI: MTD device size:            510 MiB
    UBI: number of good PEBs:        4080
    UBI: number of bad PEBs:         4
    UBI: max. allowed volumes:       128
    UBI: wear-leveling threshold:    4096
    UBI: number of internal volumes: 1
    UBI: number of user volumes:     3
    UBI: available PEBs:             0
    UBI: total number of reserved PEBs: 4080
    UBI: number of PEBs reserved for bad PEB handling: 40
    UBI: max/mean erase counter: 1/0
    UBIFS: mounted UBI device 0, volume 0, name "boot"
    UBIFS: mounted read-only
    UBIFS: file system size:   5713920 bytes (5580 KiB, 5 MiB, 45 LEBs)
    UBIFS: journal size:       1142785 bytes (1116 KiB, 1 MiB, 9 LEBs)
    UBIFS: media format:       w4/r0 (latest is w4/r0)
    UBIFS: default compressor: LZO
    UBIFS: reserved for root:  0 bytes (0 KiB)
    Loading file 'uImage-k2hk-evm.dtb' to addr 0x87000000 with size 57021 (0x0000debd)...
    Done
    Loading file 'skern-keystone-evm.bin' to addr 0x0c5f0000 with size 45056 (0x0000b000)...
    Done
    Loading file 'uImage-keystone-evm.bin' to addr 0x88000000 with size 3926384 (0x003be970)...
    Done
    ## installed monitor, freq [194560000], status 0
    ## Booting kernel from Legacy Image at 88000000 ...
       Image Name:   Linux-3.8.4
       Created:      2013-10-01   2:27:55 UTC
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    3926320 Bytes = 3.7 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
    ## Flattened Device Tree blob at 87000000
       Booting using the fdt blob at 0x87000000
       Loading Kernel Image ... OK
    OK
       Using Device Tree in place at 87000000, end 87010ebc

    Starting kernel ...

    [    0
    --------------------------------------

  • When I tried your link I got a "requested group cannot be found" error message.

    In a subsequent attempt to boot the board, I received more printing on the console:

    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 3.8.4 (gtbldadm@ubuntu-12) (gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) ) #1 SMP Mon Sep 30 22:25:22 EDT 2013
    [    0.000000] CPU: ARMv7 Processor [412fc0f4] revision 4 (ARMv7), cr=30c7387d

  • Sorry, I just edited! Please see my post above again for the right link.