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.

MSP432怎样将_c_int00_noinit_noargs()放置到Flash的Address=0x000000F0的位置?



请教TI专家,

     我新导入一个例程:msp432p401x_1_MSP_EXP432P401R_nortos_ccs,Build后得到的*.map文件显示:

     ENTRY POINT SYMBOL: "_c_int00_noinit_noargs"  address: 000001a5

    

     

     怎样将_c_int00_noinit_noargs()的地址改为0x000000F0?

     

  • 在中断向量中的源中设置“入口点”(复位向量地址),具体来说,是startup_msp432p401r_ccs.c中“ interruptVectors []”的第二个元素。

    如下所示

    /* Forward declaration of the default fault handlers. */
    /* This is the code that gets called when the processor first starts execution */
    /* following a reset event.  Only the absolutely necessary set is performed,   */
    /* after which the application supplied entry() routine is called.  Any fancy  */
    /* actions (such as making decisions based on the reset cause register, and    */
    /* resetting the bits in that register) are left solely in the hands of the    */
    /* application.                                                                */
    void Reset_Handler(void)
    {
        SystemInit();
    
        /* Jump to the CCS C Initialization Routine. */
        __asm("    .global _c_int00\n"
              "    b.w     _c_int00");
    }

  • 这并非是我想问的,我想要的是:
    ENTRY POINT SYMBOL: "_c_int00_noinit_noargs" address: 000000F0
  • 我咨询了下国外工程师,回复如下

    By placing the c_int00 symbol first in the "preferred placement" list ("Build Settings->Linker->Advanced->Miscellaneous") it will be chosen first from the .text section for placement. Since .text follows .intvecs in the linker .cmd file, it will be placed immediately following the interrupt vector at 0xE8.

    If it absolutely must be placed at 0xF0, I suppose you could define an 8-byte dummy function and place that ahead of c_int00 in the list.

    I'll just mention here that _c_int00_noinit_noargs is not the entry point, in the sense of the first instruction executed, of the program. The "-e" option has no operational effect.
  • 非常感谢,这正是我所想要的。
  • 很高兴能帮到您