首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]XD256默认的地址分配是怎样的?

[求助]XD256默认的地址分配是怎样的?

新手,刚开始接触Freescale单片机,目前在用XD256。看论坛中有的帖子,提到RAM的第0页的概念,但是在pdf文档中无法找到。

1。是否定义位操作变量最好都是放到第0页?

2。 如何定义第0页的数据段??在prm文件中定义是吗?怎么定义呢?

看过版主给的链接了,还有些地方不太懂!用向导生成的project,prm文件开头如下:

SEGMENTS /* here all RAM/ROM areas of the device are listed. Used in PLACEMENT below. All addresses are 'logical' */
/* Register space */
/* IO_SEG = PAGED 0x0000 TO 0x07FF; intentionally not defined */

/* non-paged EEPROM */
EEPROM = READ_ONLY 0x0C00 TO 0x0FFB;

/* non-paged RAM */
RAM = READ_WRITE 0x2000 TO 0x3FFF;
------------------------------------------------------------------------------------------------------------------------------------------------------------

是不是上面的定义意味着我的前面的2K地址默认被片上外设寄存器占用,然后EEPROM占据1K空间,用户RAM从0x2000开始占据8k空间。

那么,所谓的第零页指的是哪段空间呢?默认的PRM里面好像没有定义所谓的MY_ZEROPAGE啊?

其次,我自己定义了几个联合体,使用对位操作时看反汇编代码就是BSET,BRCLR,BCLR等等,这应该就是汇编的位操作指令啊。那是不是说我定义的变量就没问题呢?我看了下变量地址好像从0x2100开始的,前面的空间被堆栈占了。是不是说我定义的变量就没在第零页呢?

返回列表