• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Digital Signal Processors (DSP) » OMAP™ Processors » OMAP-L13x, AM1x and C674x Processors Forum » Put u-boot in SPI flash for OMAP-L138
Share
OMAP™ Processors
  • Forums
  • Announcements
Options
  • Subscribe via RSS
Resources
  • OMAP-L1x DSP+ARM9™-based Processors Product Folder
  • OMAP3525/30 DSP+ARM Cortex™-A8-based SOCs Product Folder

  • Top OMAPL Wiki Links
  • OMAPL3x Schematic Review Checklist
  • OMAPL13x Boot resources

  • OMAPL Document Resources
  • OMAPL137 Technical reference manual
  • OMAPL138 Technical reference manual
  • OMAPL Boot loader App Notes
  • Put u-boot in SPI flash for OMAP-L138

    Put u-boot in SPI flash for OMAP-L138

    This question is answered
    Mike Looijmans
    Posted by Mike Looijmans
    on Mar 27 2012 04:56 AM
    Intellectual930 points

    How do I put u-boot in the SPI flash and boot from it?

    I have a logic-PD zoom board. All the switches set to OFF as the documentation claims is the config for booting from SPI.

    Currently the only way to get the board to boot is to insert an SD card with u-boot on it, and then use that u-boot to load the kernel from SPI or TFTP or whatever.

    If I remove the SD card, all I get at startup over the serial console is:

    Booting with TI UBL                                                                                                                      
    Device OPP (300MHz, 1.2V)SD/MMC Boot failed.                                                                                             

    I also, just for the heck of it, tried all 16 combinations of the last 4 dip switches, but only the "all off" setting actually gets it to do anything at all.

    I suspect that u-boot was erased from the SPI flash, or that the UBL is somehow "hardwired" to go look for an SD card instead. What do I have to do to get this thing to boot (with u-boot, I can take it from there) from the SPI flash?

    I have a ubuntu Linux machine here, so I very very strongly prefer to use tools that run on that system.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Mike Looijmans
      Posted by Mike Looijmans
      on Mar 27 2012 04:59 AM
      Intellectual930 points

      BTW, I also tried writing u-boot to the SPI flash at address 0x10000 and at 0x20000 using uboot "sf erase/write" commands, but to no effect. I can write and load a kernel from SPI flash, as well as a rootfs, so the flash itself is okay.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Brad Griffis
      Posted by Brad Griffis
      on Mar 28 2012 06:08 AM
      Verified Answer
      Verified by Mike Looijmans
      Guru57350 points

      Because UBL needs to fit in a very small amount of internal RAM, it's necessary to build it to support the specific boot mode needed.  So in your case it sounds like the UBL currently in SPI flash is built to grab u-boot from SD card.  If you wish to have UBL grab u-boot from SPI flash then you would need to rebuild the UBL for SPI boot:

      http://processors.wiki.ti.com/index.php/Serial_Boot_and_Flash_Loading_Utility_for_OMAP-L138

      Once you've rebuilt UBL you will then need to write both UBL and u-boot into your SPI flash (I'd recommend using the UART utility) and then you will be able to boot.

      ---------------------------------------------------------------------------------------------------------

      Please click the Verify Answer button on this post if it answers your question.
      --------------------------------------------------------------------------------------------------------- 

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Mike Looijmans
      Posted by Mike Looijmans
      on Mar 28 2012 07:59 AM
      Intellectual930 points

      Thanks, got it to work by flashing the UBL again.

      Is there a less "windows oriented" way to do this? Looks kinda wasteful to install mono just to send a few kB on the serial port.

      Also could not get the UBL to build, probably because I have a 64-bit machine. Looks like I have to create a 32-bit VM just to run the TI tools.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Brad Griffis
      Posted by Brad Griffis
      on Mar 28 2012 09:03 AM
      Guru57350 points

      Mike Looijmans
      Is there a less "windows oriented" way to do this? Looks kinda wasteful to install mono just to send a few kB on the serial port.

      Sorry, no.  Newer devices have moved away from UBL and .NET.  For example, the latest SDKs for AM3358 are using u-boot-spl (secondary program loader) as a replacement for UBL.  There are a lot of advantages to SPL:

      • It's part of the official u-boot code base.
      • You don't need two separate sets of code for UBL and u-boot, i.e. you just have two different u-boot build configurations to generate u-boot-spl and u-boot.
      • Simpler build tooling (make and gcc).

      We have also changed our boot ROM code to use standardized protocols, e.g. x-modem client for UART, BOOTP for ethernet, etc.

      So I apologize that you will need to go through some of these extra steps with OMAP-L138 though hopefully the extra info gives you the confidence to choose TI again for your next project.

      ---------------------------------------------------------------------------------------------------------

      Please click the Verify Answer button on this post if it answers your question.
      --------------------------------------------------------------------------------------------------------- 

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Mike Looijmans
      Posted by Mike Looijmans
      on May 02 2012 02:30 AM
      Verified Answer
      Verified by Mike Looijmans
      Intellectual930 points

      I switched to the "general" u-boot code base, and managed to get SPL working for the omap l138. Much easier than getting UBL to compile, and I suspect it boots faster too.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    TI E2E™ Community
    • Support Forums
    • Blogs
    • Videos
    • Groups
    • Site Support & Feedback
    • Settings
    TI E2E™ Community Groups
    • TI University Program
    • Make the Switch
    • Microcontroller Projects
    • Motor Drive & Control
    Other Communities
    • Deyisupport
    • Designsomething.org
    • beagleboard.org
    • TI on Element 14
    • TI on TechXchangeSM
    Other Technical & Support Resources
    • WEBENCH® Design Center
    • Product Information Centers
    • Technical Documents
    • TI Design Network
    • TI Technical Articles
    • TI Training

    All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

    Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

    Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
    TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

    TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
    embedded processors, along with software, tools and the industry’s largest sales/support staff.

    © Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
    Trademarks | Privacy Policy | Terms of Use