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.

OMAP L137 EVM Linux QuickSteps / SDK feedback

Other Parts Discussed in Thread: OMAP-L137

First I will apologize for such a lengthy post, I hope someone reads it anyways

"OMAP-L137 EVM PSP User’s Guide" is not very good.  It contains most of the information you need, but is written in an order that isn't unlike doing your taxes.  In writing this I found myself laughing at things I did... Some of which were just dumb, some of which were just not clear in retrospect.  I would encourage others to do the same and help improve the quality of the next release.  I also added at the end, a set of features that I think would really enhance the utility of this kit.

Here is areas where I feel the documentation needs improvement.

2.2 System requirements:

This section is grossly lacking.  The first thing which isn't clear here is what you actually need to run the system and why.  Specifically:

Setting up the system requires BOTH a Windows and a Linux installation.  The wording in the documentation makes it sound like you support both platforms (as in you can develop on either).  You should really stress that fact, so bone-heads like myself don't go looking for the windows installer program for the MV tools. Also indicate that the board really is (for the moment at least) something that is tethered to a set of computers and is easiest to bring up that way.

I would list the 2 systems you require along with the software that is required/prefered for each.  The linux directions are probably obvious to linux developers and the bootloader ones are probably obvious to an embedded developer, but this product bridges those two worlds so more detail is probably needed.

 

  • Windows
    • Hyperterm
    • Code Composer Studio 3.3.38
    • JTAG emulator
    • ...
  • Linux
    • tftp server (for hosting uImage)
    • nfs server (for hosting root directory)
    • etc...

 

 

2.3-3.x :

i think the document here is completely backwards.  Imagine you just got this card.. what is the first thing you want to do?   If you are excited like I was, you want to plug it in, turn it on, a run a hello.world on it. The order currently written goes through all the linux steps, and then kernel compilations and finally you talk to the hardware after that...  Way too much work without blow bits in the chip.    Also there is a difference between steps 1-7 where your feedback is in CCS and steps 9-13 where now the serial port is the main communication to the target eventually moving later on to where the network is the feedback.  This wasn't obvious at first and I was trying to figure out where my u-Boot info was.  Thing should be grouped accordingly and clear when you are changing from one tool to another. The order (I think ) should be to get the board running linux first, and showing you how to tweak/compile the system second. I guess this would be my mini tutorial if a co-worker asked me how to get the card up.

*** Linux Quickstart Steps ***

  1. Explain these steps and what each one will do, and why they are in this order.
  2. Install the Windows Tools
  3. Connect the card
  4. Power on the system and demonstrate basic board downloading process/verify functionality
  5. Load the SPI flash loader using CCS.
  6. Run the SPI flash loader ( would consider modifying this to repeat the proces to make the spi loading more seamless)
  7. Install DSP-AIS SPI-UBL an U-Boot.
  8. power off card, Change the pin settings to load from the spi
  9. Plug in Serial Cable and power on the board.
  10. Verify u-boot on serial port. this now is a good place to discuss u-boot, what it does and what settings one should use that will work (panic=2 is especially helpful since the likellyhood of getting every right first is unlikely)
  11. Install the tftp server and verify booting of the kernel
  12. Install the NFS server and verify nfs connection
  13. Install the Linux Target files verify complete boot of the sytem

 ***** at this point you have a happy user that can develop directly on the target and the next step are optional*****

  • Install/configure/test the MV cross compiler/environment (* may not be initially needed)
  • Install/configure/test the MV Kernel (* may not be needed by most users)
  • how to compile SPI flash loader (really just showing the project file)
  • how to compile DSP-AIS 
  • how to compile SPI-UBL
  • how to compile u-Boot


*** Features I wish TI would add (maybe I just haven't found them yet)  *** 

  • U-Boot should have drivers for the MMC/SD cards so you can boot off it directly without a connected host. Conceivably both uImage and the root filesystem could live here, and it wouldn't have to be limited to Linux.
  • The linux installers are quite silly. 
    • They start as executables on a CD that you can't run because the CD is readonly.  
    • Then all they do is extract 2 files each (1 on which isn't needed) which are still compressed. 
    • You then have to manually uncompress them anyways.
    • Why not just provides the .tar.gz and save you from having to copy the "installer", run it, and them decompress it.  maybe I'm missing something.
  •  A simple sample set of projects using the correct interfaces (DSP/BIO and Linux) showing for example the user toggling a dip switch and the information being read by the DSP, making it's way through the proper locks and being displayed on the arm linux screen, and the arm->DSP->LED to show the other direction.
  • Perhaps a more complicated example where the ARM loads the DSP.

A simple port of the tools that allows you to compile DSP code on the Linux/Target host so you don't need 2 boxes (or a vm) to develop for this chip.

 

Sorry again for the long post.  I hope it's helpful to someone.

~JM

  • JM,

    Thanks for the feedback.

    We have taken note of this and will attempt to make the document much more user friendly (based on your inputs) for the next release.

    Regards,

    Sekhar

  • JM,

    We really appreciate you taking the time to help us imrpove our offerings.  FYI, when our team recently reviewed these docs, we recommended some of the improvements you mentioned and have bugs against these items; however, these requests means much more coming from customers like yourself.  We will certainly take a close look at all your feedback and make the appropriate changes.  Thank you once again for all your hard work and time to write this.

  • Quick one - I don't think you need a Windows box unless you're using CCS, right?  Other than CCS, the tools (compilers, XDC, etc) are available on Linux, and I think the examples should build on a Linux box.  I agree, if you want to connect CCS 3, it only supports Windows so you'll need 2 dev systems.

    Am I mistaken?

    Chris

  •    As far as I know, you need a windows box in order to get the loaders all Loaded/Flashed.  These all use the USB devkit to get the data down there.

     

    1. The spi-flash loader is run to get the other 3 loaded.
    2. DSP-AIS is loaded in the DSP to turn on the arm
    3. SPI-UBL is loaded  to load U-Boot
    4. U-Boot is loaded to load the kernel image  uImage

     

     

    ~JM
     

  • Chris,

    The boards do not come with u-boot,  so you can not do anything with linux out of the box. And to burn u-boot, you need CCS.

  • hello,

    Nice (useful) post. We've taken some action to try & address several of these from an out of box perspective. Bookmark this link : http://wiki.davincidsp.com/index.php?title=Category:OMAPL1 so that you automatically see updates/improvements (articles will be marked w/ the OMAPL1 category hence will "just show up".

    Cheers, Alan

  •  

    Jean-Marc said:

    2.3-3.x :

    i think the document here is completely backwards.  Imagine you just got this card.. what is the first thing you want to do?   If you are excited like I was, you want to plug it in, turn it on, a run a hello.world on it. The order currently written goes through all the linux steps, and then kernel compilations and finally you talk to the hardware after that...  Way too much work without blow bits in the chip.    Also there is a difference between steps 1-7 where your feedback is in CCS and steps 9-13 where now the serial port is the main communication to the target eventually moving later on to where the network is the feedback.  This wasn't obvious at first and I was trying to figure out where my u-Boot info was.  Thing should be grouped accordingly and clear when you are changing from one tool to another. The order (I think ) should be to get the board running linux first, and showing you how to tweak/compile the system second. I guess this would be my mini tutorial if a co-worker asked me how to get the card up.

    *** Linux Quickstart Steps ***

     

    1. Explain these steps and what each one will do, and why they are in this order.
    2. Install the Windows Tools
    3. Connect the card
    4. Power on the system and demonstrate basic board downloading process/verify functionality
    5. Load the SPI flash loader using CCS.
    6. Run the SPI flash loader ( would consider modifying this to repeat the proces to make the spi loading more seamless)
    7. Install DSP-AIS SPI-UBL an U-Boot.
    8. power off card, Change the pin settings to load from the spi
    9. Plug in Serial Cable and power on the board.
    10. Verify u-boot on serial port. this now is a good place to discuss u-boot, what it does and what settings one should use that will work (panic=2 is especially helpful since the likellyhood of getting every right first is unlikely)
    11. Install the tftp server and verify booting of the kernel
    12. Install the NFS server and verify nfs connection
    13. Install the Linux Target files verify complete boot of the sytem

     

     ***** at this point you have a happy user that can develop directly on the target and the next step are optional*****

     

    • Install/configure/test the MV cross compiler/environment (* may not be initially needed)
    • Install/configure/test the MV Kernel (* may not be needed by most users)
    • how to compile SPI flash loader (really just showing the project file)
    • how to compile DSP-AIS 
    • how to compile SPI-UBL
    • how to compile u-Boot

    We have created the following wiki page to address the issues above:

    http://tiexpressdsp.com/index.php?title=Getting_Started_Guide_for_OMAP-L137

     

     

     

     

  •  

    Out of curiosity there is definitely differences ( and similarities) between the following 2 sites (both suggested by TI)? Some the info is duplicated, while some of it only exists in one place.  Are they both Ti sites? If so, wouldn't it make sense to combine the info into just one?   I might just be missing something.

     

     http://wiki.davincidsp.com/index.php?title=Category:OMAPL1 

     

     

  • Jean-Marc said:

     

    Out of curiosity there is definitely differences ( and similarities) between the following 2 sites (both suggested by TI)? Some the info is duplicated, while some of it only exists in one place.  Are they both Ti sites? If so, wouldn't it make sense to combine the info into just one?   I might just be missing something.

    Both of these sites are maintained by TI.  I agree that is may sometimes be confusing to know which one to access and there was some discussion about merging the sites.  However, in general the breakdown is HW focused (http://wiki.davincidsp.com), including device related stuff and SW focused (http://tiexpressdsp.com).  Although sometimes it is difficult to distinguish the issues and separate to compartments, which is why you may have some blending of content.

  • Please note that the merge has recently taken place already; if you go to the main page of either site  (http://wiki.davincidsp.com or http://tiexpressdsp.com ) you should see a message claiming both sites have been merged along with a link of where to report errors you find due to merge

    http://wiki.davincidsp.com/index.php?title=TI_eXpressDSP_wiki_merged_into_Embedded_Processors_Wiki

    I would encurage you to report the differences you see between the two pages.  Thank you in advance!

  • Hi,


    Also i want to add something,  I can't see  instructions for creating a cross-compilation env. nor a toolchain.  How about chrooting into montavista env. from a linux host machine? Maybe I'm missing smt but I'm still looking for a clean way to build packages for omap l137 with mv_pro with ordinary linux dev tools not codesourcery's on a x86 arch. If there is a post about this subject please submit a link to me.  I developed with bitbake for oe in the past, i started missing it. ;)


    regards,

    Yetkin.

  • Jean-Marc said:
    • U-Boot should have drivers for the MMC/SD cards so you can boot off it directly without a connected host. Conceivably both uImage and the root filesystem could live here, and it wouldn't have to be limited to Linux.

     

    It is on its way. 

    http://e2e.ti.com/support/embedded/f/354/p/43807/171520.aspx#171520