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.

Very annoyed with the AM3517 ROM Loader

Other Parts Discussed in Thread: AM3517

Hello all,

 

I've been having some highly mixed results booting from an SD Card on the AM3517.  I've read everything that I can on the wikis and in the manual.  Using fdisk, 99% of the time I can successfully create a bootable card, populate it with MLO, u-boot.bin, etc. etc. and all is well.  The problem is the 1% of the time when if fails.  I simply cannot find any useful information anywhere on how to figure out what has gone wrong.

For example, yesterday one of my SD cards just wouldn't work.  This was a card that was working fine a few days ago.  I went through the MBR, FAT Boot Sector, FAT File System Information Sector, and the FATs manually to verify that the MLO file was indeed there, and valid (I had a working card to compare it to).  The only issue that I could find was an off-by-one error between the number of sectors in the partition reported by the MBR and that which was reported by the FAT Boot Sector.  To be perfectly clear: in the MBR, offset 0x0C indicated X sectors for the partition whereas in the FAT Boot sector, offset 0x20 indicated (X-1) sectors.

I would be surprised to find the OMAP ROM checking that.  But maybe...

Eventually I zeroed out the entire card using "dd" and, for some reason the next time I recreated it using fdisk and mkfs.vfat it worked.  Other times I've shrunk the size of the partition, moved to FAT16, did a "sync" after each copy, and anything else I can think of.  All to mixed results.

This is extremely frustrating.  Could someone at Texas Instruments please please please please publish the definitive, never fails, always works, method of creating a bootable SD/MMC card by hand using fdisk.

Barring that, for goodness sakes....someone please tell us what "40X" means!!!

Every time I boot a device and see a lone "40X" come across the terminal, I die a little bit inside because I know something has gone wrong...but I know I'll have no way of figuring out what.

 

 

  • Hi Michael,

              We have been using CraneBoard (AM3517 Sitara ARM Cortex-A8) and have found no such issues. However try using "HP USB Disk storage format tool" which can be downloaded by clicking http://www.sysanalyser.com/sp27213.exe and also try erasing the flash in such circumstances. BTW "40X" that gets displayed on the console is the ASIC (Application Specific Integrated Circuit) id for AM3517 Processor.



    Regards,

    N.S.SriHarsha


  •  

    Michael, you could compare your procedures with the documentation given here:

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

    Anecdotally, we have observed that not all SD cards are equivalent in reliability.  Especially, many cases of trouble have been reported when using "class 6" cards.

  • ok, somehow i have the same problem now with my new craneboard and my new 2GB Transcend SD-Card Class 2 .

    I have created the sd-card with the instruction from Mistral: http://www.mistralsolutions.com/pes-downloads/software-downloads/angstrom-download-for-craneboard.html .

    And now when i start the board with the sd-card, i only receive 40X in my console.

    Do you have the solution for this problem?

  • Once you get into this situation, the only possible solution that I've found is to try switching tools to either SFDISK or CFDISK - and possibly alternating between them.  If for some reason you just can't use one of those programs...I have had success by specifying the geometry to FDISK in sectors rather than cylinders.  This is because I've found some versions of FDISK do a little behind-the-scenes shuffling when you use cylinder units.

     

    • The Panda Board people had a script up to automatically create the card via SFDISK.  You can find it here: http://git.openembedded.org/cgit.cgi/openembedded/tree/contrib/angstrom/omap3-mkcard.sh.
    • CFDISK is pretty self-explanatory.
    • Sector math in FDISK should be viewed as a last resort.

     


    I have attached an addendum to a user guide that I wrote which explains the above three options 8484.mmc.pdf.  Again, my advice is to use CFDISK or SFDISK.

     

    My advice is to cycle through the different tools.  Do CFDISK first, if that fails, try SFDISK.  If that fails, try and run through that cycle again...possibly going back to FDISK.  Eventually "magic" will happen and your SD card will become bootable again.  Please note that I *hate* giving you that answer - but it is the only one that I've found and TI doesn't seem to care about the situation.  I once spent 4 hours verifying by hand that the FAT partition was correct and the card still wouldn't boot.  Out of pure frustration I started trying different combinations of tools and suddenly it worked.  That has happened to me at least two or three times since and the only way around it is to try different tools until the card works again.

     

    Frankly I think it's pretty crummy that TI hasn't delivered a definitive way to create the bootable SD cards on Linux.  They had a tool available, it only worked on Windows.  As far as I know it was also broken.  There are still people being pointed to an old Hewlett Packard tool to try and make this stuff work. 

  • Hi Greg,

     

    For some reason I was never notified of your response to this thread...but was notified when Bin asked his question below.  The procedure you describe at http://processors.wiki.ti.com/index.php/How_to_Make_3_Partition_SD_Card is pretty close to what I landed on.  Basically it's a derivation of the OpenEmbedded script.  As such it might work - but I can't be certain.  The main issue is that once a card becomes unbootable, I haven't ever been able to definitively make it bootable again.  Some magic process of switching between different tools will normally set things right.

     

    If we could say that SFDISK *always* created a valid boot card, then I believe your link should be correct.  I just can't say that right now because I've seen SFDISK fail as well.

     

    --mike

  • After some searching i come across this documentation: http://www.omappedia.org/wiki/Android_SD_Configuration

    I change the number of heads and the number of sectors to 255 and 63 accordingly, and my sd card magically works.