[求助] keil 里LPC11序列C程序能指定变量/函数的绝对地址吗?如何指定?

oayzw   2012-7-19 09:05 楼主
:carnation: 我知道KEIL C51是可以的。

这个用于有时候程序分开几部分开发,或者打补丁
[ 本帖最后由 oayzw 于 2012-7-19 09:08 编辑 ]

回复评论 (4)

这个应该芯片没有关系,只跟编译关。。。。。
我的博客
点赞  2012-7-19 11:15
东找西找,发现了一个叫分散加载文件(链接脚本文件) scatter file的东西
点赞  2012-7-20 15:35

回复 板凳 oayzw 的帖子

分散加载文件是可以实现Flash和SRAM的分散加载,但是本人不喜欢这个东西,感觉把代码搞乱了,可移植性不是很好。。。
我的博客
点赞  2012-7-20 16:19

回复 4楼 zhaojun_xf 的帖子

是指这些“#pragma arm section ...”吧?

http://www.keil.com/support/man/ ... mccref_BCFJBABB.htm

Example

int x1 = 5;                     // in .data (default)
int y1[100];                    // in .bss (default)
int const z1[3] = {1,2,3};      // in .constdata (default)
#pragma arm section rwdata = "foo", rodata = "bar"
int x2 = 5;                     // in foo (data part of region)
int y2[100];                    // in .bss
int const z2[3] = {1,2,3};      // in bar
char *s2 = "abc";               // s2 in foo, "abc" in .conststring
#pragma arm section rodata
int x3 = 5;                     // in foo
int y3[100];                    // in .bss
int const z3[3] = {1,2,3};      // in .constdata
char *s3 = "abc";               // s3 in foo, "abc" in .conststring
#pragma arm section code = "foo"
int add1(int x)                   // in foo (code part of region)
{
    return x+1;
}
#pragma arm section code
点赞  2012-7-21 15:33
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复