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-L138 Getting Started

Other Parts Discussed in Thread: OMAP-L138, OMAPL138

Hello!

We recently bought the OMAP-L138 dev kit to try and get it up and running to evaluate it for a new application and we are struggling through the getting started guides.  We started Processor SDK Linux Software Developer’s Guide and we are walking through the Getting Started Guide.  So far we have run into a few issues:

(1) Booting the Dev Kit into Linux.  I can use the SDK Create SD Card Script with the prebuilt images and it seems to create it correctly, but boots only to uboot.  Based on some e2e forum posts we believe this is because the old uboot is being loaded from NAND and this is from 2010 and cannot load the more recent builds.  It gives the typical "Unable to read uImage from MMC0:1" that others are seeing.  What is the best way to update the Uboot in Nand?  Also, I tried changing the DIP switch SW1 to OFF OFF OFF ON OFF OFF OFF OFF to try and get it to load UBoot from the SD card and I get no output.  Where is the documentation around the DIP switch?  Essentially just trying to get off the ground but I cant figure out where I went astray.

(2) Problems running setup script.  It had issues finding uboot-make.  it suggested I load u-boot-tools instead and after I hand installed that the setup script seemed to work.

(3) Top level make file didnt work for me.  I think it needed linux installed first?  Error it gave is "make: *** No rule to make target 'linux-dtbs', needed by 'linux'. Stop."

(4) I tried to rebuild the filesystem with these instructions.  I was able to get down to the command "MACHINE=am57xx-evm bitbake arago-core-tisdk-image" but this ran for a long time and then threw the error saying it couldnt find the directory tisdk/build/arago-tmp-external-linaro-toolchain/work/x86_64-linux/ti-cgt6x-native/1_8.1.3-r0/ti-cgt6x-8.1.3/ti-cgt-c6000_8.1.3/bin/.  This seems like a temp directory created by the script itself so this seems strange.  I also understand that Im using a different dev kit so I tried the following commands (not very clear from documentation what the right format of this command is) and also got errors. "MACHINE=omapl138-lcdk bitbake arago-core-tisdk-image" and "MACHINE=omapl138 bitbake arago-core-tisdk-image"

Essentially, really struggling with getting this up and running.  Any help on this would be much appreciated!

  • Hi,

    I am looking into this.

    Best Regards,
    Yordan
  • Hi,

    First of all I understand you're using the OMAP-L138 LCDK: www.ti.com/.../TMDSLCDK138 Is this correct? If yes, then see my answers:


    (1) Booting the Dev Kit into Linux. I can use the SDK Create SD Card Script with the prebuilt images and it seems to create it correctly, but boots only to uboot. Based on some e2e forum posts we believe this is because the old uboot is being loaded from NAND and this is from 2010 and cannot load the more recent builds. It gives the typical "Unable to read uImage from MMC0:1" that others are seeing. What is the best way to update the Uboot in Nand? Also, I tried changing the DIP switch SW1 to OFF OFF OFF ON OFF OFF OFF OFF to try and get it to load UBoot from the SD card and I get no output. Where is the documentation around the DIP switch? Essentially just trying to get off the ground but I cant figure out where I went astray.


    The dip switch settings to boot OMAP-L138 LCDK from SD card are:
    [1:8] -> OFF OFF OFF ON OFF OFF OFF OFF

    To get this working you should use the latest TISDK, downloaded from here: www.ti.com/.../processor-sdk-omapl138
    Install the prebuilt images following these steps:
    cd ~/ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04/
    x0155517@mms:~/ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04$ sudo ./bin/create-sdcard.sh
    and follow the steps in the interactive create-sdcard.sh script.

    (2) Problems running setup script. It had issues finding uboot-make. it suggested I load u-boot-tools instead and after I hand installed that the setup script seemed to work.

    This works fine, I executed:
    sudo ./setup.sh
    Did you run your script with sudo?

    (3) Top level make file didnt work for me. I think it needed linux installed first? Error it gave is "make: *** No rule to make target 'linux-dtbs', needed by 'linux'. Stop."

    I used:
    x0155517@mms:~/ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04$ make u-boot

    and my u-boot was compiled successfully. What command did you use?

    (4) I tried to rebuild the filesystem with these instructions. I was able to get down to the command "MACHINE=am57xx-evm bitbake arago-core-tisdk-image" but this ran for a long time and then threw the error saying it couldnt find the directory tisdk/build/arago-tmp-external-linaro-toolchain/work/x86_64-linux/ti-cgt6x-native/1_8.1.3-r0/ti-cgt6x-8.1.3/ti-cgt-c6000_8.1.3/bin/. This seems like a temp directory created by the script itself so this seems strange. I also understand that Im using a different dev kit so I tried the following commands (not very clear from documentation what the right format of this command is) and also got errors. "MACHINE=omapl138-lcdk bitbake arago-core-tisdk-image" and "MACHINE=omapl138 bitbake arago-core-tisdk-image"


    The machine is: omapl138, you should run
    MACHINE=omapl138 bitbake arago-core-tisdk-image

    NOTE that you have a prebuilt filesystems in: ~/ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04/filesystem/

    Betst Regards,
    Yordan

  • Hi Yordan,

    Thanks for the reply.  Responses below:

    ### board question ###

    Yes Im using the LCDK.  Sorry forgot to mention before.

    ### question 1 ###

    To get this working you should use the latest TISDK, downloaded from here: www.ti.com/.../processor-sdk-omapl138 
    Install the prebuilt images following these steps: 
    cd ~/ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04/
    x0155517@mms:~/ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04$ sudo ./bin/create-sdcard.sh 
    and follow the steps in the interactive create-sdcard.sh script. 

    [JR] I have done those instructions to create the SD card but just to be explicit, I downloaded and installed the processor-SDK for linux development into a Ubuntu 16.04 LTS Virtual Machine.  I followed the create-sdcard.sh script and this seemed to work well.  I can send the output of this process if needed.  Settings I used are: 8GB SD card, 2 partitions, installed prebuilt image called tisdk-server-extra-rootfs-image-omapl138-lcdk.tar.xz.  I plugged in the SD card and put the switches in 00010000 and attached the power.  On the serial output I get no output.  I then place the switches in 01110000 to boot from internal NAND and it boots into UBoot, tries to read uImage (ERROR: can't get kernel image!).

    ### question 2 ###

    [JR] Yes the setup script for me worked for me as well, but only after I installed the packages by hand.  Specifically, I had to do "sudo apt-get install u-boot-tools" and install that package to make the setup script work.  Just an FYI for you guys.

    ### question 3 ###

    x0155517@mms:~/ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04$ make u-boot

    and my u-boot was compiled successfully. What command did you use? 

    [JR] Yes "make u-boot" works for me as well.  In the getting started guide, there is a section called "Rebuild Sources" and it asks you to run "make all", "make linux", and "make u-boot-spl".  The first command fails for me giving the error "make: *** No rule to make target 'linux-dtbs', needed by 'linux'. Stop."

    ### question 4 ###

    Thanks for pointing me to the pre-built filesystem that was helpful.  We are building applications on top so maybe we dont need to rebuild it at this point, but I answer the question anyways..... I ran "MACHINE=omapl138 bitbake arago-core-tisdk-image" and it gave me the following error: "Failed to obtain external Linaro toolchain version".  I definitely have the linaro toolchain downloaded and extracted and the path variable seems to be set correctly so its quite confusing.  Is there a command I could run to check on this?

    Thanks for the help!  Just trying to get to a point where we can develop our own code.

  • These were the generic responses. I ran through all these steps already.
  • Hi,

    Settings I used are: 8GB SD card, 2 partitions, installed prebuilt image called tisdk-server-extra-rootfs-image-omapl138-lcdk.tar.xz.

    You've installed the prebuilt rootfs, what about the MLO & u-boot? Did you use the prebuilt ones or custom images?

    I followed the create-sdcard.sh script and this seemed to work well. I can send the output of this process if needed.

    Yes, please attach the log from your terminal.

    I definitely have the linaro toolchain downloaded and extracted and the path variable seems to be set correctly so its quite confusing. Is there a command I could run to check on this?

    Ok, what I can think of is check the rights of ~/ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04 subfolders. I suggest you run
    chown -R to the whole ~/ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04/ to make it accessible to all users on the machine. Sometimes if you have a folder that needs root access, it can break your yocto build.

    Best Regards,
    Yordan
  • Hi Yordan!

    I believe Uboot is being installed correctly, but one thing I did notice in the output is "MLO file not found" is reported during the "copying boot partition" step.  Im not clear on the MLO file and what it does but since you mentioned it, its likely important.  Below I copied the full text:

    ######### Start of SD card Programming Output #########

    jon@jon-VirtualBox:~/ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04/bin$ sudo ./create-sdcard.sh 
    [sudo] password for jon: 
    
    
    ################################################################################
    
    This script will create a bootable SD card from custom or pre-built binaries.
    
    The script must be run with root permissions and from the bin directory of
    the SDK
    
    Example:
     $ sudo ./create-sdcard.sh
    
    Formatting can be skipped if the SD card is already formatted and
    partitioned properly.
    
    ################################################################################
    
    
    Available Drives to write images to: 
    
    #  major   minor    size   name 
    1:   8       16    7761920 sdb
     
    Enter Device Number or n to exit: 1
     
    sdb was selected
    
    /dev/sdb is an sdx device
    Current size of sdb1 71680 bytes
    Current size of sdb2 7672832 bytes
    
    ################################################################################
    
    	Select 2 partitions if only need boot and rootfs (most users).
    	Select 3 partitions if need SDK & other content on SD card.  This is
            usually used by device manufacturers with access to partition tarballs.
    
    	****WARNING**** continuing will erase all data on sdb
    
    ################################################################################
    
    Number of partitions needed [2/3] : 2
    
     
    Now partitioning sdb with 2 partitions...
     
    
    ################################################################################
    
    		Now making 2 partitions
    
    ################################################################################
    
    1024+0 records in
    1024+0 records out
    1048576 bytes (1.0 MB, 1.0 MiB) copied, 2.34421 s, 447 kB/s
    DISK SIZE - 7948206080 bytes
    
    ################################################################################
    
    		Partitioning Boot
    
    ################################################################################
    mkfs.fat 3.0.28 (2015-05-16)
    mkfs.fat: warning - lowercase labels might not work properly with DOS or Windows
    
    ################################################################################
    
    		Partitioning rootfs
    
    ################################################################################
    mke2fs 1.42.13 (17-May-2015)
    /dev/sdb2 contains a ext3 file system labelled 'rootfs'
    	last mounted on Fri Nov  3 11:23:04 2017
    Proceed anyway? (y,n) y
    Creating filesystem with 1918208 4k blocks and 479552 inodes
    Filesystem UUID: f3425127-530a-4ac2-aac5-0ba5e17be508
    Superblock backups stored on blocks: 
    	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
    
    Allocating group tables: done                            
    Writing inode tables: done                            
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information: done 
    
    
    
    ################################################################################
    
       Partitioning is now done
       Continue to install filesystem or select 'n' to safe exit
    
       **Warning** Continuing will erase files any files in the partitions
    
    ################################################################################
    
    
    Would you like to continue? [y/n] : y
    
     
     
    Mount the partitions 
     
    Emptying partitions 
     
    
    Syncing....
    
    ################################################################################
    
    	Choose file path to install from
    
    	1 ) Install pre-built images from SDK
    	2 ) Enter in custom boot and rootfs file paths
    
    ################################################################################
    
    Choose now [1/2] : 1
    
     
    Will now install from SDK pre-built images
    now installing:  ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04
    
    ################################################################################
    
       Multiple rootfs Tarballs found
    
    ################################################################################
    
    	 1:tisdk-server-extra-rootfs-image-omapl138-lcdk.tar.xz
    	 2:tisdk-server-rootfs-image-omapl138-lcdk.tar.xz
    
    Enter Number of rootfs Tarball: 1
     
    ################################################################################
    
    	Copying files now... will take minutes
    
    ################################################################################
    
    Copying boot partition
    
    MLO file not found
    
    
    u-boot.bin copied
    
    
    Copying rootfs System partition
                                                                                                 
    
    Syncing...
     
    Un-mount the partitions 
     
    Remove created temp directories 
     
    Operation Finished
     
    jon@jon-VirtualBox:~/ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04/bin$ 
    
    

    ######### End of SD card Programming Output #########

    Ill check on the Linaro toolchain stuff next. 

  • My mistake for missing this. After you create the sdcard with create-sdcard.sh script, there is an additional step for OMAP-L138 devices:
    sudo dd if=u-boot.ais of=/dev/sd<N> seek=117 bs=512 conv=fsync

    You need to copy the ais image with the above command. You can refer to the U-boot user guide:
    processors.wiki.ti.com/.../Linux_Core_U-Boot_User's_Guide

    Best Regards,
    Yordan
  • Thanks Yordan this is what did the trick for SD card creation. To be explicit for others, I used the "sudo fdisk -l" command to find where the SD card was mounted. and it was mounted as two partitions (sdb1 and sdb2) on sdb. The command I used is then "sudo dd if=u-boot.ais of=/dev/sdb seek=117 bs=512 conv=fsync".