Board logo

标题: 请教strongchen [打印本页]

作者: m193212    时间: 2006-9-19 15:38     标题: 请教strongchen

请教斑竹strongchen:


在MC9s12d32的资料里看到1K Bytes EEPROM(Mappable to any 2K boundary; 1K mapped two
times in the 2K address space) 他标注的地址为$0000-$07ff


我想知道这1kEEPROM到底是在$0000-$03ff还是$0400-$07ff


下边以MC9s12d32为例,MC9s12d32内部资源为RAM=2K;EEPROM=1K;


我的设置为: INITRG=#0; INITRM=#09H; INITEE=#01H;


我的理解为:


INITRG=#0;    -->特殊寄存器(register memory)映射的地址为 $0000--$03FF (1k)


INITRM=#09H;  -->内部RAM映射的地址为 $0800--$0FFF (2k)


INITEE=#01H;  -->EEPROM memory映射的地址为 $0000--$07FF,但由于$0000--$03FF


                 被(register memory)占用,所以EEPROM memory映射的地址为


                 $0300--$07FF (1k)


请问斑竹这种分配方法是否合理和正确,尤其是在EEPROM memory的映射上


作者: m193212    时间: 2006-9-19 15:39

1K mapped two times in the 2K address space中的two times 如何理解
作者: strongchen    时间: 2006-9-19 17:55

EEPROM本身是1K的,它必须映射到一个2K的地址中,此时,由于系统内部构造的原因,EEPROM实际上在这个2K空间的高1K地址区和低1K地址区都看得到,而且你对一个地址区写数据时,另一个数据区也发生同样的改变。所以,它们实际上是一个镜像。因此,如果你要使用EEPROM的话,一定要把它映射到一个没有寄存器和RAM占用的2K空间上,这样才不会被覆盖掉。
作者: m193212    时间: 2006-9-19 18:56

斑竹strongchen乃高人,小弟佩服




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0