This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Boot ROM Code for ARM Cortex A9 MP Core SoC

Note: This was originally posted on 5th August 2011 at http://forums.arm.com

Hi,

I am working on ARM Cortex A9 MP Core SoC. As a part of software development, I need to understand how booting takes place in case ARM Cortex A9 considering the reset vector. I wanted to know more about the Boot ROM code which could be part of SoC. Can I get details / documentation / reference code about the Boot ROM code for ARM Cortex A9? Also I would like to know what are the steps involved in general booting sequence right from the RESET/Power ON till it loads the kernel.

Thanks & Regards,
TK
Parents
  • Note: This was originally posted on 24th August 2011 at http://forums.arm.com

    Hi,

    Iam using OMAP4430 panda board for my project development. As a part of  ROM code execution (in ARMCortex A9 MP Core) core-'0' will do the system  initialization, stack setup and boot the OS. core-'1' will be waiting  for SEV flag, which is SET by core-'0' booted OS. Then core-'1' will  jump to address mentioned in AUXCOREBOOT1 register.Let me know what  is the default address that core-'1' will jump and start its execution.  Kindly refer attachment to see the ROM code execution sequence.

    Regards,
    Karthi



    Yes, you need to map the Flash to reset vector address. Your NFlash(NOR/NAND) may need to be configured to fetch instruction at address 0. Regarding choosing the higher address or not, it is upto the memory map. The memory map address 0x00000000 is reserved for the vector table, a set of 32-bit words. On some processors the vector table can be optionally located at a higher address in memory (starting at the offset 0xffff0000). Operating systems such as Linux and Microsoft's embedded products can take advantage of this feature
Reply
  • Note: This was originally posted on 24th August 2011 at http://forums.arm.com

    Hi,

    Iam using OMAP4430 panda board for my project development. As a part of  ROM code execution (in ARMCortex A9 MP Core) core-'0' will do the system  initialization, stack setup and boot the OS. core-'1' will be waiting  for SEV flag, which is SET by core-'0' booted OS. Then core-'1' will  jump to address mentioned in AUXCOREBOOT1 register.Let me know what  is the default address that core-'1' will jump and start its execution.  Kindly refer attachment to see the ROM code execution sequence.

    Regards,
    Karthi



    Yes, you need to map the Flash to reset vector address. Your NFlash(NOR/NAND) may need to be configured to fetch instruction at address 0. Regarding choosing the higher address or not, it is upto the memory map. The memory map address 0x00000000 is reserved for the vector table, a set of 32-bit words. On some processors the vector table can be optionally located at a higher address in memory (starting at the offset 0xffff0000). Operating systems such as Linux and Microsoft's embedded products can take advantage of this feature
Children
No data