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

转自《https://blog.csdn.net/olishutong/article/details/78816408》

将一个全局变量放到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++){
    }
}

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

就是这么简单!

发布了8 篇原创文章 · 获赞 1 · 访问量 3626

猜你喜欢

转载自blog.csdn.net/qq_15548761/article/details/89913567