AnsweredAssumed Answered

添加外部c++工程后程序不能运行

Question asked by br li on Oct 21, 2019
Latest reply on Oct 21, 2019 by jeremyzhou

Hi,

我将外部的c++工程(工程包含.a文件)添加到demo例程hello_world中,gcc只编译进去,不调用它的任何函数,编译出来的elf无法运行,如果不添加这个c++工程,程序运行正常。

程序运行环境选择:MIMXRT1052xxxxx_flexspi_nor_sdram.ld

 

发现一个规律,当添加的c++文件较少,产生的.elf 145KB左右,可以正常跑,

当添加的c++文件较多,产生的.elf 545KB左右,就不能跑了。

 

试验修改链接脚本的空间大小设置,无改善。

m_flash_config (RX) : ORIGIN = 0x60000000, LENGTH = 0x00001000
m_ivt (RX) : ORIGIN = 0x60001000, LENGTH = 0x00001000
m_interrupts (RX) : ORIGIN = 0x60002000, LENGTH = 0x00000400
m_text (RX) : ORIGIN = 0x60002400, LENGTH = 0x03FFDC00
m_data (RW) : ORIGIN = 0x80000000, LENGTH = 0x01E00000
m_ncache (RW) : ORIGIN = 0x81E00000, LENGTH = 0x00200000
m_data2 (RW) : ORIGIN = 0x20000000, LENGTH = 0x00020000
m_data3 (RW) : ORIGIN = 0x20200000, LENGTH = 0x00040000

附件是我对比有外部c++工程和无外部c++工程的elf文件的section信息。

 

目前没思路了,请麻烦建议一下。

 

谢谢!

Attachments

Outcomes