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.

X-loader hang at reading boot sector

Other Parts Discussed in Thread: DM3730

Hello all,

I am developing a custom DM3730 based board and I have trouble with xloader. Output from uart is like this

Texas Instruments X-Loader 1.51 (Apr 26 2013 - 22:09:56)
Starting X-loader on MMC
Reading boot sector
X-Loader hangs

System information:
- DM3730
- sys_boot[4:0] = "001100" = MMC1 -> USB
- booting only from SD card (there is no nand on board - I disabled NAND init in sources)
- I use ti-dvsdk_dm3730-evm_04_03_00_06 and omap3evm based configuration

So far I checked the following:
(1) 2 different manufacturers of sd card
(2) 2 different boards (I have 2 boards assembled)
(3) I tried format card from script (bin\mksdboot.sh) and from instruction at http://processors.wiki.ti.com/index.php/How_to_Make_3_Partition_SD_Card
(4) I discoverd that booting crashed at "do_fat_read" function (from fat.c) and return -1 when first checking "if ((dentptr->attr & ATTR_VOLUME))" when reading u-boot.bin file

Could You please help me.

  • Hi Mateusz,

    What is the behaviour of the board during booting with the original x-loader?

    Are there some differences in the hardware between your board and EVM which could influence on the SD card subsystem?

    You can try to debug the issue by defining DEBUG macro in the fat.h file. This will allow execution of the FAT_DPRINT macro. You can add additional printings of the variables do_fat_read function.

    BR

    Tsvetolin Shulev

  • In our PCB there is no nand flash and xloader stoped (because of unsupported nand). I disable "nand_init" function from start_armboot (simply comment nand_init line in init_sequence).

    I added debug to fat.h and output is as follow:

    Texas Instruments X-Loader 1.51 (Apr 29 2013 - 19:56:27)
    Starting X-loader on MMC
    Reading boot sector
    FAT32, fatlength: 1112
    Rootdir begins at sector: 2256, offset: 11a000, size: 1
    Data begins at: 2254
    Cluster size: 1
    RootMismatch: |bo||
    RootMismatch: |ml||
    RootMismatch: |u-.bi||
    RootMismatch: |au||
    RootMismatch: |ui||
    RootDentname == NULL - 5
    X-Loader hangs

    Names of files are strange, so I changed name of u-boot.bin file to "u" and changed this in xloader. Thanks to this, system run a little bit forward:

    Texas Instruments X-Loader 1.51 (Apr 29 2013 - 21:26:44)
    Starting X-loader on MMC
    Reading boot sector
    FAT32, fatlength: 618
    Rootdir begins at sector: 1268, offset: 9e800, size: 1
    Data begins at: 1266
    Cluster size: 1
    RootMismatch: |bo||
    RootMismatch: |ml||
    RootMismatch: |au.˙˙||
    RootName: u, start: 0x0, size: 0x7eac
    Filesize: 32428 bytes
    Reading: 32428 bytes
    ret: 268435448, offset: 0
    ret: 268435448, offset: 0
    curclust: 0xffffff8
    Invalid FAT entry
    Size: 32428, got: 512

    512 Bytes Read from MMC
    Starting OS Bootloader from MMC...
    Starting OS Bootloader...

    But I think that 512 Bytes is too small value and there is a problem with reading data from SD? Any idea why system acting like this?
    I found only BeagleBoard schematic. In our project we have series resistors 33Ohm, weaker pull-up 51kOhm and we add protection diodes. I'll check this and I'll try to change frequency on SD card (if possible).

    Thank for help