以下是我示例代码
`#define LED_FUNC_ADDR 0x08000700
void led(void) attribute((section(".ARM.__at_0x08000700")));
typedef void (*Runnable)(void);
void led(void)
{
for (uint8_t i = 0; i < 10; i++)
{
LOG_INFO("## led == %d ##",i);
}
}
int main(void)
{
volatile Runnable ledRun = (Runnable)(LED_FUNC_ADDR + 1);
.....
led();
LOG_INFO("## Start ##");
ledRun();
while(1);
}
`
这份代码在Keil IDE上成功运行
但切换到EIDE上编译并仿真调试发现0x08000700这个地址并非是led()函数。
因此,请问 @admin 在EIDE中要如何支持函数绝对地址功能。
另外,我的EIDE项目是直接从Keil MDK导出来的。