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: C6748: Serial Flasher's application address

Genius 5785 points
Part Number: OMAP-L138
Other Parts Discussed in Thread: OMAPL138,

Hello,

I want to place UBL on NAND block 0 and application on NAND block 1. It looks like application is a fixed at address 0x10000 on the flash as below. My NAND block size is bigger than that. Should I make UBL the same size as NAND block size by padding dummy data? Please give me some advice.

processors.wiki.ti.com/.../Serial_Boot_and_Flash_Loading_Utility_for_OMAP-L138

Regards,
Kazu

  • Please specify what is the version of Linux PSP that you are using for your development. The offset requirement for u-boot is enforced by the offset programmed in the UBL source code. If you want to modify this, then you will need to modify the UBL source to read the u-boot from block1 instead of the currently set offset. the same offset should also be used in the flashing tools.

    Please refer to the documentation corresponding to the PSP release for flashing the NAND:
    processors.wiki.ti.com/.../AM1x_DVEVM_Additional_Procedures

    Please note the latest PSP release for OMAPL138 don`t require UBL anymore and can directly boot into u-boot as you can see from here:
    processors.wiki.ti.com/.../OMAP-L138_LCDK_Linux_Software_Developer's_Guide


    Regards,
    Rahul
  • Hello Rahul,

    I appriciate for your reply and apologize for any confusion. First of all, I'm using C6748. My UBL sets PLL/EMIF and starts my application(not u-boot).

    I thought from wiki I saw that UBL is written at address 0x0 of the flash and application is fixed at 0x10000 of the flash.
    .. \ sfh_OMAP-L138.exe -flash <UBL.ais file> <application.bin file>

    I want writing UBL to NAND block 0 and application to NAND block 1 separately. Can I solve this issue by adding options to sfh, or something?

    Regards,
    Kazu

  • Kazu,

    If you are using C6748 then you don`t really need the UBL as the ROM bootloader is capable of initializing PLL/EMIF so that application can directly be loaded into device memory. However if you still opt to implement the UBL then you will need to match the offset used in the UBL with the offset used by your flash utility.

    Also, I looked closely at the UBL source code included in the Serial Flash and boot tools and noticed that the 0x10000 is the offset only applies to SPI memory. For NAND, ubl is flashed in first block and app is flashed in block 6. Please refer to the file Common/ubl/nandboot.c, DEVICE_NAND_UBL_SEARCH_START_BLOCK is the block where the UBL looks for the app image. DEVICE_NAND_UBL_SEARCH_START_BLOCK is defined in Common\include\device_nand.h as (6).

    Regards,
    Rahul
  • Hi Rahul,

    Thank you for your kind support. I need UBL which has diagnostic program etc. I can see the program you described and also see DEVICE_NAND_UBL_SEARCH_START_BLOCK in \Common\sft\src\uartboot.c. I should change the sft too, shouldn't I?

    Regards,
    Kazu

  • Yes, this change need to be reflected in SFT tool as well for the boot to work as expected.

    Regards,
    Rahul