转:在Keil中指定某个函数或变量存放的地址

将一个全局变量放到0x20000000处;
将一个const常量放置到0x00001000处
将func函数放置到0x00000100起始处
只需要照下面写:

int value __attribute__((section(".ARM.__at_0x20000000"))) = 0x33;
const char ziku[] __attribute__((section(".ARM.__at_0x00001000")))   = {0x1, 0x2, 0x3};
void func (void) __attribute__((section(".ARM.__at_0x00000100")));
 
void func (void) {
    int i;
    for (i = 0; i < 100; i++){
    }
}


也就是说:对于变量,在其后边加修饰;而对于函数,在声明处加修饰,注意,是在声明处,不是在函数定义处!!!

就是这么简单!
--------------------- 
作者:olishutong 
来源:CSDN 
原文:https://blog.csdn.net/olishutong/article/details/78816408 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(转:在Keil中指定某个函数或变量存放的地址)