我的分散加载文件如下(见后): 但 CGPIOOUT_Fix.o (+RO) CGPIOIN_Fix.o (+RO) CSMISPI_Fix.o (+RO) CFlash_Fix.o (+RO) 这4个文件总被提示: pattern CGPIOOUT_Fix.o (+RO) only matches removed unused sections pattern CGPIOIN_Fix.o (+RO) only matches removed unused sections pattern CGPIOOUT_Fix.o (+RO) only matches removed unused sections pattern CFlash_Fix.o (+RO) only matches removed unused sections 我程序中不能调用这4个类。只要调用就提示出错。 但CGPIOINOUT_Fix.o (+RO) CIap.o(+RO) main.o(+RO) 就可以。 如果把ARMLINK 的Option 的 remove unuseed section 这三项去掉(也就是不删除)则编译出错: cannt use baseed/limit symbols for no_contiguous section C&&pi_ctorvec
我的目的是,把Startup.o (vectors, +First) CGPIOINOUT_Fix.o (+RO) CIap.o(+RO) main.o(+RO) CGPIOOUT_Fix.o (+RO) CGPIOIN_Fix.o (+RO) CSMISPI_Fix.o (+RO) CFlash_Fix.o (+RO 这几个文件放在0-0000c000这个地址,这几个文件只有3K大。 其他的在c000地址后。 分散加载文件如下 ROM_LOAD 0x0 { ROM_EXEC 0x00000000 0x0000c000 { Startup.o (vectors, +First) CGPIOINOUT_Fix.o (+RO) CIap.o(+RO) main.o(+RO) CGPIOOUT_Fix.o (+RO) CGPIOIN_Fix.o (+RO) CSMISPI_Fix.o (+RO) CFlash_Fix.o (+RO) } }
ROM_LOAD1 0x0000c000 { ROM_EXEC1 +0 { main_user.o(+RO) * (+RO) } IRAM 0x40000000 { Startup.o (MyStacks) * (+RW,+ZI) }
HEAP +0 UNINIT { Startup.o (Heap) }
STACKS 0x40008000 UNINIT { Startup.o (Stacks) } }
|