打印
[STM8]

绝对地址分配疑惑

[复制链接]
1000|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
unsigned int data@0x09;
本来是想定义一个int类型变量data ,为他分配地址0x09.
但是看map文件并没有给变量data分配地址。因为发现
start 00000000 end 00000000 length     0 segment .bsct
start 00000000 end 00000006 length    6 segment .ubsct
但是奇怪的是把unsigned int data@0x09;修改为unsigned int data;可以为变量data分配两个字节内存,因为
start 00000000 end 00000000 length     0 segment .bsct
start 00000000 end 00000008 length     8 segment .ubsct
现在问题来了,是不是这种分配方式根本就不会分配一个新的内存地址,只是把data指向一个特定的地址?
查看CXSTM8_UsersGuide是这样描述的,黄色的地方好像就是说这样的声明不会预留内存空间?
请问我的理解正确么?那么这种用法有什么用呢?只是为了方便io口的操作?

CXSTM8_UsersGuide.png (179.43 KB )

CXSTM8_UsersGuide

CXSTM8_UsersGuide

unsigned int data;.png (13.62 KB )

unsigned int data;.png

unsigned int data@0x09;.png (12.29 KB )

unsigned int data@0x09;.png
沙发
liguang02|  楼主 | 2015-1-16 10:22 | 只看该作者
有人了解这个地址分配的么,stm8的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

56

主题

307

帖子

2

粉丝