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.

--entry option for IAR linker

Other Parts Discussed in Thread: TM4C129XNCZAD, SYSBIOS

I am developing an application for a TM4C129XNCZAD microcontroller using the IAR development environment.  I am working on a custom bootloader (with main function named "bl_main"), and cannot figure out how to get the entry point of my software changed from __iar_program_start to _bl_main.

In the IAR options, under the "Linker" category, I have checked the "Override default program entry" in the "Library" tab, selected the "Entry Symbol" option and provided "_bl_main" as the entry symbol.  I have also added --redirect __iar_program_start=_bl_main under the "Extra Options" tab.  When I attempt to compile, I get the following Error:

Option --entry does not match previous occurrence at line 105 of <path>/linker.cmd.  

That line (in context) looks like this:

/* Content from ti.sysbios.family.arm.m3 (ti/sysbios/family/arm/m3/linkcmd.xdt): */
--entry __iar_program_start
--keep __vector_table
--define_symbol ti_sysbios_family_arm_m3_Hwi_nvic=0xe000e000

linker.cmd is an auto-generated file, and I cannot for the life of my figure out how to auto generate a different --entry symbol than the one provided.

Any help you could offer would be appreciated.

Thanks!

Todd Witters

  • Hello Todd,

    Since you are using TI-RTOS, I think the following thread would be useful

    http://e2e.ti.com/support/embedded/tirtos/f/355/p/294035/1025584.aspx

    Solution: Open the app.cfg file, go to XDCtools ==> System => Program and select the Properties Tab. This has a drop down menu call sectMap, open it, then drop down .resetVecs and in the loadAddress fill the APP_BASE from the cmd file.

    Regards
    Amit