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.

MLO and Uboot Edit and Boot Process

Dear All,
  I am trying to edit MLO and Uboot for Coustom board for AM335x, while through some study I came to know it is used for RAM initialization and some basic initialization from Uboot(If Worong correct me)

1> I want to know which are necessary files need to modify for Coustom MLO;
2> While Booting, I See : "U-Boot SPL 2011.09-00040-gec68725-dirty (Sep 03 2012 - 16:31:24)
                           Texas Instrumentation Revision detection unimplemented
                           OMAP SD/MMC: 0
                           reading u-boot.img
                           reading u-boot.img
                      

                           U-Boot 2011.09-00040-gec68725-dirty (Sep 03 2012 - 16:31:24)
 I know these o/p coming from MLO and Uboot till the kernel is not uncompressing;
 so to make changes in MLO to display the content which file to make changes or I cant edit MLO?
3> While reading AM335x TRM Chap 26 where I found Public ROM  which is sub divided into three Parts
    1)Public ROM Code(High Level)
    2)Public ROM Code Driver
    3)Public ROM Code HAL                 
    I am able to see "CCCCCCC" when SDCard is not inserted means , So I can say ROM Code Driver is working then why we need U-boot?


Regards

Praveen

  • Hi Paveen,

    -For questions -1- & -2- check this e2e thread: e2e.ti.com/.../1408625

    -For question -3- "So I can say ROM Code Driver is working then why we need U-boot"
    ROM code is fused at processors design time, it is used only to enable basic clocking and pinmuxing, so that device can read & load MLO. After MLO is loaded it does the additional needed pinmux, clocking, etc.. & reads and loads the u-boot. See the following wiki: omappedia.org/.../Bootloader_Project

    Best Regards,
    Yordan
  • Hi Yordan,
    I have gone through the bootloader project well its quit informative thanks for sharing.

    for MLO and Uboot I have also gone through these links to Build and Create:

    1) processors.wiki.ti.com/.../AM335x_U-Boot_User%27s_Guide
    2) pengwyn-documentation.readthedocs.org/.../compile_uboot.html

    Through these step to I can able to create a MLO and u-boot.img but didn't worked at all

    -- I am using "ti-sdk-am335x-evm-05.07.00.00" could you pls provide details for the same for configuring or make changes files for custom board.
  • Hi Praveen,

    The processors wiki link, you point above, is one way to build u-boot & MLO.

    Personally I use the following steps for my builds:

    1)  host# cd ~/ti-sdk-am335x-evm-08.00.00.00/board-support/u-boot-2014.07-g7e537bf       (in your case navigate to ~/ti-sdk-am335x-evm-05.07.00.00/board-support/<u-boot folder>

    2) export ARCH=arm

         export PATH=$PATH:/home/x0155517/ti-sdk-am335x-evm-08.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/

         export CROSS_COMPILE=arm-linux-gnueabihf-

    3) make distclean

    4) make am335x_evm_config

    5) make -j4

    I think you should be able to boot your board with the above generated u-boot.img & MLO.

    If you need to do any modifications, you should be looking in: 

      am335x_evm.h (located in include/configs directory)            -- configuration of your board (which commands to be included, some address settigns, bootenv, etc)

      board.c               (located in board/ti/am335x directory)          -- initialization of different peripherals

      mux.c                  (located in board/ti/am335x directory)          -- pinmux configuration  

    Hope this helps.

    Best Regards,

    Yordan