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.

CCS/OMAP3530: in omap 3530 when SYSBOOT_5 = 1 then boot space is remapped to rom boot loader but what happened when SYSBOOT_5 = 0?

Part Number: OMAP3530


Tool/software: Code Composer Studio

in trm of omap 3530.it is said that omap 3530 has  1gb boot space that is mapped to either ROM boot loader or gpmc memory depending on SYSBOOT_5 pin.

so when SYSBOOT_5 = 1 ,ROM is remapped to boot space i.e vector table is mapped to internal ROM.  and on reset arm will start executing instructions from internal  ROM as it is mapped to  boot space

my problem is that what happens when SYSBOOT_5 =  0. when SYSBOOT_5 is equal to 0,will ROM boot loader executes or directly boot space will be mapped to gpmc i.e nand and in this case no instructions from ROM boot loader will be executed?

  • Hi Niran,

    The boot process always begins with the ROM boot loader. The ROM boot loader then reads the SYS_BOOT signals and decides if the next stage of the boot process will be via a memory interface (GPMC, MMC) or peripheral (USB, UART3, EMAC, SPI).

    e2e.ti.com/.../95382

    Regards,
    Pavel
  • yea but in data sheet it is written that if sys_boot_5 ==1 then only ROM will be mapped to boot space starting from 0x00000000
    and as per you if ROOM boot loader will be executed first but ROM is mapped to 0x000400000 so how this address space will be mapped to 0x00000000 which is reset vector location?
  • Nirav,

    nirav parmar13 said:
    yea but in data sheet it is written that if sys_boot_5 ==1 then only ROM will be mapped to boot space starting from 0x00000000
    and as per you if ROOM boot loader will be executed first but ROM is mapped to 0x000400000 so how this address space will be mapped to 0x00000000 which is reset vector location?

    This is OMAP35x datasheet:

    On which page exactly you are seeing this?


    Regards,
    Pavel

  • ROM Code will start at 0x40014000 after reset. Then it will check sys_boot pins (sys_boot5 is one of them) and based on the value will switch to other address. If sys_boot pins are configured for fast external booting, it will jump to address 0x00000000. See OMAP35x TRM, section 25.4.3 Overall Booting Sequence

    Per mine understanding, in both cases (sys_boot5 = 0 or 1), reset vector is 0x40014000

  • Thanks fro reply and in your answer there is one question that why on reset, reset vector is on 0x00014000 or 40014000 (rom mapped to boot space)? As rest vector must be at 0x00000000 or 0xffff0000 as per arm .
    And at reset very first instruction it will fetche from 0x00014000 as seen from debugger connected to ccs so it also not case that base address of vector table is changed by using c12 register of cp15.
    Please kindly explain it in bit details


    Thank you,
    Nirav
  • Nirav,

    The information in OMAP35x TRM is not clear regarding ROM code reset vector, it points to 0x40014000 and 0x14000. As you are testing it on board with JTAG/CCS and see it is 0x14000, then I can agree with you. Checking also in e2e , I see that other threads are also stating 0x14000 is the reset vector:

    e2e.ti.com/.../99722
    e2e.ti.com/.../250652

    Regards,
    Pavel