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.

Arm reset vector table in CCS5.1

Other Parts Discussed in Thread: OMAP-L137

Hello,

I am using OMAP-L137 in our project and CCSv5.1. In this project DSP-UBL code

is running first which is then waking up/resetting the ARM processors where my application

stuff is laying.

Previously, i was using Code Sourcery for writing our ARM application and building it where it is taken care of

reset vector, interrupt vector by default (IDE). But, when i am trying to use CCS5.1 for building our ARM application

i am confuseed that how the ARM code will jump to ARM reset vector; is it in the linker file or some where else...

we need to mention that reset address.

Please help to resolve this issue....

Regards,

Priya

  • Priya, please see the instructions in the following wiki to understand how to boot ARM code on an OMAP-L137:

    http://processors.wiki.ti.com/index.php/Boot_Images_for_OMAP-L137#Booting_ARM_Binaries

    Jeff

  • Priya,

    When building an ARM application with the TI codegen tools, the default entrypoint (_c_int00) is provided by the runtime support library.  This routine takes care of standard initialization before the application jumps to main.  One potential issue with the standard entrypoint is that by default it places the ARM in "user" mode, which can make it inconvenient to configure the overall system.  For this reason, many bare-metal ARM applications use a custom entrypoint.  This is typically done using the "-e" option, which can be specified on the command line when invoking the linker or in the linker command file.

    Regardless, your application entrypoint is always listed near the beginning of your MAP file.  When loading your application in a CCS debug session, by default the application will run automatically until it reaches main.  You can disable this behavior if you want to step through the entrypoint function(s).  Simply open Tools->Debugger Options->Generic Debugger Options.

    Hope this helps.

  • Hello Jeff,

    We had already gone through this link but we have question like;

    When we give load address(0x80000000) in SPI-Writer.out file while loading the DSP UBL & ARM appl. images.

    Then the DSP will reset the ARM at this location as per the DSP UBL code but in ARM code we have Reset.s file (in assembly)

    and the arm linker file which place the reset vector of ARM atthe top of the memory (i.e. 0x80000000).

    NOTE: This Reset.s file is generated by Code sourcery TOOL itself from the Board Definition option.

    But, while writing the ARM code in CCSv5.1 this Reset.S file is missing how it will be done in CCSv5.1

    Do, we need to write or CCSv5.1 will take care?

    In CCS5.1, the entrypoint of the ARM code, c_init00 produced by the linker is changing while building the code. But as per my understanding it

    should be 0x80000000 which we are passing while loading the ARM images through SPI writer.

    Regards,

    Priya