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.

Flash memory address for OMAPL138

Other Parts Discussed in Thread: OMAPL138

Hi,

I'm currently working in secondary boot loader development for our custom board,

In our doc its saying that the flash memory address starts from 0x6000_0000 .

so that I'm assuming that my UBL will be at the beginning of the Flash memory ,ie at  0x6000_0000.

from the forum i found that the ROM boot loader will load the UBL from flash to the SRAM .

my doubt is how the ROM boot loader knows the address of the flash  if m changing my chip and the Flash memory location changed.

THANK YOU.

  • Hi,

    following links might help you understand,

    http://processors.wiki.ti.com/index.php/Davinci/Sitara/Integra_Nand_Boot_FAQ

    http://processors.wiki.ti.com/index.php/RBL_UBL_and_host_program

    Thanks,

    --Prabhakar Lad

  • HI Tinu,

    from the forum i found that the ROM boot loader will load the UBL from flash to the SRAM .

    Yes, You are correct.

    my doubt is how the ROM boot loader knows the address of the flash  if m changing my chip and the Flash memory location changed.

    Typically, We will provide flashing tools to flash the (flash writer, sfh tool etc.,) bootloaders into flash medias (NAND, SPI, NOR etc.,) so, tool have the informations that where & which location we have to write the bootloader,

    For e.g, If NAND flash,

    The bootloader should write from 2nd block of NAND flash (1st block had the env storage and it is always error free area). And RBL will search the UBL header from 2nd block of NAND flash up to some default block count say e.g 50, RBL will search the proper UBL header NAND block 2 to 50,

    I'm currently working in secondary boot loader development for our custom board,

    Nowadays, We don't want to use UBL, we can use AIS signed u-boot alone.

  • hi ,

    Thank you for your valuable replies .

    I have a question , my customized boot loader is at the starting of Flash memory .And i assume that starting of my boot loader should contain some info about my boot loader. what are that info and how can i set those info..?

    I'm planning to use SPI boot mode .

    Thank You.   

  • Hi Tinu,

    I have a question , my customized boot loader is at the starting of Flash memory .And i assume that starting of my boot loader should contain some info about my boot loader. what are that info and how can i set those info..?

    It depends,

    Could you please elaborate your requirement.

    Generally,

    To run DSP app on OMAPL138

    If you want to run any DSP app then you can use ARM UBL (bootloader) to run the DSP app,

    To run ARM app on OMAPL138

    If you want to run any ARM app then you can run ARM app directly on OMAPL138 without any bootloader.

    To run Linux on OMAPL138

    You should use AIS signed u-boot and follow TI procedures to boot linux on OMAPL138

    Note:

    OMAPL138 is ARM boot device (ARM wakeup first) and need ARM UBL (bootloader) to run DSP app and it wont need any bootloader for ARM app. whereas OMAPL137 device is DSP boot (DSP wakeup first) and need DSP UBL to run ARM app and it wont need any bootloader for DSP app.

    and it wont need any bootloader for DSP app.

  • Thanks Titus,

    I have both applications (DSP and ARM), so that i need to load both applications to RAM memory. DSP app to the DSP RAM and ARM app to the ARM RAM. And i don't know how can i distinguish both application from my flash memory.

     

  • Thanks Titus

    I have one more question 

    I went through the UBL code in SPI1 mode and i found that after finding the application and its size they simply copy the App to the RAM memory.

    for (i=0; i< byteCnt; i++)
    {
    data[i] = SPI_xferOneChar(hSPIMemInfo->hSPIInfo,0x00);
    }

    my doubt is i have a command file for example  

    SECTIONS
    {
    vectors > 0x00808000, RUN_START(_ISTP_START)
    .text > L2
    .stack > L2
    .bss > SR
    .cinit > SR

    }

    like this.

    and while loading the App to the RAM who will take care of these section...??

    Thank you.

     

  • Hi Tinu,

    Could you please tell me which type of UBL code are you looking.

    Is this starterware bootloader code or linux UBL ?

    I preume that you are pointing the starterware bootloader CCS project also the linker command seems to be belongs to the same.

    my doubt is i have a command file for example  

    SECTIONS
    {
    vectors > 0x00808000, RUN_START(_ISTP_START)
    .text > L2
    .stack > L2
    .bss > SR
    .cinit > SR

    }

    like this.

    and while loading the App to the RAM who will take care of these section...??

    L2 -> L2 memory configured as RAM.

    SR -> Shared RAM.

    These files are used while linking the CCS project and .out has the informations about loading and everything.

    http://processors.wiki.ti.com/index.php/Linker_CMD_Files_for_CCS