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: u-boot DRAM layout and personal customization

Other Parts Discussed in Thread: OMAP-L138

Hello.

I'm quite new to uboot and linux on omap.

I would now understand clearly how uboot should be allocated in RAM, depending also on the RAM size.

I suppose that uboot uses some other memory space for variables and command executions, but I need to know where...

In what file should I look in?

Thanks

 

  • The file x-loader/lib/board.c contains the function start_armboot().  This function copies u-boot into RAM from some source (SD/MMC, NAND, etc.).  The RAM address called CFG_LOADADDR is defined in the file x-loader/include/configs/omap3evm.h

    #define   CFG_LOADADDR   0x80008000

    Hope that helps.

    Greg Turner

  • Hello.

    Thanks for the help.

    However my question was different, maybe I have to explain better.

    I developed a different bootchain, where I use simply an AIS script to setup the hardware and to load U-BOOT in memory, then to execute it.

    In this way I don't use any UBL.

    In the AIS of course, I have to decide where to put UBOOT in the RAM, and of course it require some knowledge of the system (RAM size) and even more of the RAM layaout of UBOOT itself. Apart from the amount of memory needed for code (the size is known, as it's the same of the image in the AIS script), I need to know where  is placed and how big is the memory area that UBOOT uses for its variables, heap, etc. Going further, for the same reason, the placement in the RAM of the linux kernel image done by UBOOT should avoid the overwrite these variables, otherwise the system will probably crash.

    Because  UBOOT has been designed to be system-customized, and I need to adjust it slightly for our system needs, where should I look for these informations?

    Thanks

    Andrea

  • Andrea,

    I understand your question better now.  I am more familiar with using x-loader rather than the AIS format.  I will try to find someone to help on this question.  In the meantime, I would like to suggest that you post a new question and specifically request help using AIS format with u-boot.  This may pull in the right person quicker than I can find them.

    Regards,

    Greg

  • Hello.

    I already did the AIS binary image, conatining also a double copy of U-BOOT, each one validated using CRC feature. If the first is damaged, the second copy will be loaded.

    For this purpose, I wrote a console application taking a script with human readable AIS commands in a clear programming style, and the application take care of computing CRC and calculating offsets for the jump operations. AIS itself is not a problem anymore.

    The problem is U-BOOT: where should I place it in the RAM for execution, considering RAM amount and where it will be expecting to find free memory for its variables? This question is related to the U-BOOT specific port to OMAP-L138 processors.

    Thanks

    Andrea

     

  • Andrea,

    I'm not too familiar with UBOOT either, but I did find a wiki article for configuring/building UBOOT here: http://processors.wiki.ti.com/index.php/Configuring/Building_U-Boot_for_OMAP-L137

    There's a section for changing the environment size.  The folks in the Linux forum may have a better understanding of how UBOOT is configured.

    -Tommy