我在查阅代码时发现
memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);
这个函数是把flash的代码复制到ram执行,我也看到了cmd里面又对应的代码:
.TI.ramfunc : LOAD = FLASH_BANK0_SEC1,
RUN = RAMLS0,
LOAD_START(RamfuncsLoadStart),
LOAD_SIZE(RamfuncsLoadSize),
LOAD_END(RamfuncsLoadEnd),
RUN_START(RamfuncsRunStart),
RUN_SIZE(RamfuncsRunSize),
RUN_END(RamfuncsRunEnd),
PAGE = 0, ALIGN(4)
但是我有个疑惑,这里面的的RamfuncsRunStart从未在任何文件中使用,只是声明了。请问在编译的时候是怎么获得函数的起始地址的呢?