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.

Bootloader on EVMSK335x

Other Parts Discussed in Thread: TMDXEVM3358

I am trying to build a bootloader for evmsk335x using starterware. The starterware docs are pretty straightforward about what needs to be don. Problem is that I build the bootloader and sample app and the board will not boot from it. I compared the MLO file generated by the build and TI image tools, and the MLO of the Linux/Android sample  MMCSD and the file format is completely different.

What's up TI? Why is the bootloader header (in the MLO) so different from the starterware bootloader and the sample SD cards that the SK was shipped with?

TIA.

  • More information... This is the header from the Linux/Android SD Card:

    And this is what the ti_image tool generates from the boot.bin:

    Clearly there is an extra header in the sample card MLO files. I tried to add this header manually to my MLO; however, the StarterKit still fails to boot.

    Anybody? StarterKit help for a newbie to this processor.

    Thanks.

  • The second one is not a MLO. Also, it is difficult to understand what do you want to get?

    If newbie, and you want to single step into the boot loader, why not using the CCS and u-boot_spl?

  • WHat I am trying to do is compile the sample Starterware bootloader, load it onto the SD card and boot a simple app. The starter kit really only has one boot option available to it, which is SD card loading of an MLO.

    Eventually, I would the the Starterkit boot loader to launch a ThreadX kernel in preparation of porting an existing app.

    I have followed TI's documentation in painstaking detail to generate a bootloader image. Unfortunately, what is generated by the TI tools doesn't look anything like a binary imaged bootloader. Clearly the TI Image tool does not add the correct header to the boot_ti.bin file.

  • The Initialization chapter of the TRM explains the configuration header (CHSETTINGS). Both of your hex dumps above look like valid MLO. The first one has the optional CHSETTINGS while the second one does not. You really only need that optional header if you plan on booting from SD in RAW mode. Looking at offset 0x200 in the first MLO you'll see the first word is the size of the image (0x000149F6) and the second word is the address the image ges loaded to (0x402F0400). In the MLO without CHSETTINGS, the size of the image is 0x0000A250 and the load address is 0x402F0400.

    Steve K.

  • I am having a very similar issue. On AM335x/TMDXEVM3358,

    Built the MLO and APP files, used the  TI_SDcard utility to format/load files (Windows 7 - 64 bit), all as documented here:

    http://processors.wiki.ti.com/index.php/AM335X_StarterWare_Booting_And_Flashing#Booting_Via_SD_Card

    I have SYSBOOT set to 10111 -  MMC first boot. No love. Boot fails down to UART boot (CCCCCCC). If I load the stock MMC Android or Linux cards, they boot fine.

    Is there a logging/debug register to check where/why the MMC boot process failed? I read another post that speculated the Active Partition isn't set on the MMC card, but can't confirm why.

    Thanks!

    Ben.

     

  • I see in another thread that people have this issue with CHSETTINGS on booting NAND flash for the AM335x. I believe this is the issue. The solution for NAND, at least is to put a CHSETTINGS header on the front of the file.

    http://e2e.ti.com/support/arm/sitara_arm/f/791/t/207888.aspx

    TI, two questions.

    1. Is this also the case with SD Card?

    2. what StarterWare (or any other) tool inserts the CHSETTINGS header correctly? Or do we have to write our own?

    Thanks!

    b.