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.

Linux/LINUXSDK-OMAPL138: Uboot can't see MMC

Part Number: LINUXSDK-OMAPL138
Other Parts Discussed in Thread: TMDSLCDK138, OMAPL138, AM1808, OMAP-L138

Tool/software: Linux

I have a the TMDSLCDK138. I got this before the recent Processor SDK update. I Loaded the new the image of omapl138-lcdk-linux-04.00.00.04.img using the guide given. Everytime I am try and boot up the LCDK i get the this error
   

I am have a feeling I need to make sure changes in uboot but I am not sure where.

Thanks,

Jorden Luke

  • Hi Jorden,

    I have successfully booted SDK04 from sd card. Let me have a look at this & update.

    Best Regards,
    Yordan
  • So I think It has to do with my uboot.  Tried loading the new image via the linux host  via net work and this is what I got.

    So I went back to the settings of sd card. I get the same error as last time. How do I update uboot or just reprogram it for the omapl138

  • Have you had time to look at this? I am stilling having the same issue.
  • Hi Jorden,

    I had similar issues... Turns out that the version of uBoot that was on the boards NAND did not know how to load compressed kernel files (zImage)... You should see version number come up on boot... I updated SD card with the latest and greatest, set SW1 to ensure it would use the SD card to boot... And everything works as expected... You should now see updated version number on boot...

    I then updated NAND using step found here e2e.ti.com/.../327220 and http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot
    Hope this helps...

    Cheers,
    Juan

  • Hi Jorden,

    Here is what I did to boot my LCDK from sd card:

    1. Build u-boot using the following commands:
    cd ~/ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04/board-support/u-boot-2017.01+gitAUTOINC+9fd60700db-g9fd60700db
    export ACH=arm
    export PATH=~/ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/:$PATH
    export CROSS_COMPILE=arm-linux-gnueabi-
    make clean
    make omapl138_lcdk_config
    make

    2. Create my bootable SD Card:
    cd ~/ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04
    sudo ./bin/create-sdcard.sh

    I choose to copy the prebuilt images on the sdcard

    3. Once creating the card is done, I replace the prebuilt u-boot.bin with my custom image:
    3.1. navigate to boot partition of the sd card
    3.2. rename the u-boot.bin to u-boot.bin.old
    3.3. copy my custom u-boot.bin (located in ~/ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04/board-support/u-boot-2017.01+gitAUTOINC+9fd60700db-g9fd60700db) to the boot partition of the sd-card

    4. Copy my custom .ais file to the sd-card:
    4.1 cd ~/ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04/board-support/u-boot-2017.01+gitAUTOINC+9fd60700db-g9fd60700db
    4.2 rename u-boot.ais to u-boot-omapl138-lcdk.ais
    4.3 verify that my sd-card is /dev/sdb with fdisk -l
    4.4 copy the ais file to my sd card:
    sudo dd if=u-boot-omapl138-lcdk.ais of=/dev/sdb seek=117 bs=512 conv=fsync

    5. Set the dip switches to SD CARD boot:
    1 2 3 4

    SD card boot => OFF OFF OFF ON = 0001


    6. When I boot my board I see the following output on the console:
    U-Boot SPL 2017.01-00319-g9e3097f-dirty (Aug 15 2017 - 08:30:08)
    Trying to boot from MMC1


    U-Boot 2017.01-00319-g9e3097f-dirty (Aug 15 2017 - 08:30:08 +0300)

    I2C: ready
    DRAM: 128 MiB
    WARNING: Caches not enabled
    NAND: 512 MiB
    MMC: davinci: 0
    *** Warning - bad CRC, using default environment

    In: serial
    Out: serial
    Err: serial
    Invalid MAC address read.
    Net: DaVinci-EMAC
    Warning: DaVinci-EMAC (eth0) using random MAC address - ee:c6:e4:6d:8e:e0

    Hit any key to stop autoboot: 0

    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    reading boot.scr
    ** Unable to read file boot.scr **
    reading uEnv.txt
    ** Unable to read file uEnv.txt **
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    2367360 bytes read in 2668 ms (866.2 KiB/s)
    12880 bytes read in 62 ms (202.1 KiB/s)
    ## Flattened Device Tree blob at c0600000
    Booting using the fdt blob at 0xc0600000
    Loading Device Tree to c7e23000, end c7e2924f ... OK

    Starting kernel ...

    Uncompressing Linux... done, booting the kernel.
    Booting Linux on physical CPU 0x0
    Linux version 4.9.28-geed43d1050 (gtbldadm@ubuntu-16) (gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #1 PREEMPT Wed Jun 28 17:47:16 EDT 2017
    CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
    CPU: VIVT data cache, VIVT instruction cache
    OF: fdt:Machine model: DA850/AM1808/OMAP-L138 LCD

    And I successfully boot the latest TI SDK on OMAP-L138 LCDK.

    Can you verify this procedure on your side?

    If it is NOT working, can you please stop at u-boot, execute printenv & share the result?

    Also, NOTE what Juan suggested, it might work for you as well!!

    Best Regards,
    Yordan
  • On step one after I ran the last make statement I got this error 

    lib/asm-offsets.c:1:0: error: bad value (armv5te) for -march= switch 
    /*
    ^
    kbuild:43: recipe for target 'lib/asm-offsets.s' failed
    make[1]: *** [lib/asm-offsets.s] Error 1
    Makefile:1286: recipe for target 'prepare0' failed
    make:*** [prepare0] Error 2

    I am not sure why. I have tried searching it. Also doing the commands. I am not sure if the SDK didn't get installed right on my linux host or what.

    Thainks,

    Jorden luke 

  • I built u-boot from the top level SDK directory... So after setting $PATH...

    cd ~/ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04
    make u-boot

  • I got this to work I figured out my error was because the path was incorrect. I need to tack my ti folder on the path like PATH=~/ti/ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/:$PATH

    This is because I installed the TI stuff in a folder on my home directory name ti. Thanks for your help this did solve the problem I was having. 

  • Thanks for updating the thread.

    Best Regards,
    Yordan