回复第 1 楼 dingfu1984于2010-01-14 15:06:57发表:
请问各位EEPROM内部存储地址是怎么分配的?我需要在EEPROM内部存储一些数据,
如在程序中有以下定义:
ORG $3C00
FCB $44,$FD,$BD,,$07,$0D,$00,$01,$00,$00,$01,$01,$00 ,$00,$02,$03,$EE,$FB
待程序烧进去之后查看Memory,发觉位于3C00地址的内容与我希望存储的不一样,
3C00:$44,$FD,$BD,,$07,$0D,$00,$01,$00,$00,$01,$01,$00 ,$00,$02,$03,$EE,
3C10:$FB,$44,$FD,$BD,$07,$0D,$00,$01,$00,$02,$30,$00,$01,$09,$EE,$FB
而且好像没次烧录之后,上述情况也不一定样,有时候会和下面一样:
3C00:$FF,$FF,$FF,$FF,$44,$FD,$BD,,$07,$0D,$00,$01,$00,$00,$01,$01,$00
3C10:,$00,$02,$03,$EE,$FB,$44,$FD,$BD,$07,$0D,$00,$01,$00,$02,$30,$00,
请问各位这是怎么回事?另外对手册上关于EEPROM映射的那段话也不是很明白,烦各位不吝赐都,谢谢。
以下是MC9S08DZ96手册上关于EEPROM映射和原文:
EEPROM 映射
只有一半EEPROM 处于存储器映象中。FCNFG 寄存器中的EPGSEL 位用于确定阵列的哪一
半可从前台访问,而另一半不能从后台访问。对于配置8 字节EEPROM 分区,有两种映射模式
可供选择:4 字节模式和8 字节模式。每种模式都通过FOPT 寄存器中的EPGMOD 位确定。
在4 字节分区模式(EPGMOD = 0) 中,每个8 个字节分区被分成两部分,4 个字节在前台,4 个
在后台,但都在相同的地址上。EPGSEL 位确定哪4 个字节可以访问。在分区擦除过程中,整
个8 字节分区(前台的4 个字节和后台的4 个字节)都被擦除。
在8 字节分区模式(EPGMOD = 1) 中,每个8 字节分区在一个页面上。EPGSEL 位确定哪些分
区在后台。在分区擦除过程中,前台的整个8 字节分区会被擦除。
学习了 |