使用IAR工具链将对象文件链接到不可执行的图像

时间:2016-02-19 11:59:54

标签: c linker linker-errors iar

我正在使用IAR工具链编译少量源文件,然后链接生成的.o文件。

但是,我遇到了如下链接错误:

  

错误[Li005]:没有“main”的定义[引自cmain.o(rt7M_tl.a)]

     

错误[Lc036]:没有阻止或地方匹配   模式“ro_ code section .intvec in vector_table_M.o(rt7M_tl.a)”

据我所知,ILINK链接器试图将目标文件链接为可执行映像,并在此过程中添加标准库的依赖关系[即寻找main()和中断向量表]。

我在寻找:

  1. 如何配置链接器以不添加这些系统库依赖项,如main / start / interrupt-vector-table等?
  2. 如何配置链接器以从一堆目标文件中输出不可执行的图像 - 如果可以的话?
  3. 你可以想到这个非可执行映像的配置表映像,它将放在持久内存中,供主应用程序映像读/写。

1 个答案:

答案 0 :(得分:0)

如果告诉链接器你没有带命令行选项'--no_entry'的入口点,你将摆脱对main和.intvec数据的引用。

但是你需要告诉链接器它应该保留什么 --keep和/或__root可以帮助你。