标题:
关于mc9s12xep100的内存分配以及EEEPROM使用的问题[求助]
[打印本页]
作者:
xiaowei5
时间:
2007-12-19 11:57
标题:
关于mc9s12xep100的内存分配以及EEEPROM使用的问题[求助]
之前做过S12的开发,现在要用mc9s12xep100这款芯片,第一次接触S12X系列的单片机。发现它的内存分配和S12单片机还是有很大区别的。增加了RAM的窗口和EEPROM的窗口。
想请教一下,1 如果我想使用banked RAM 需要设置什么?
2 EEEPROM的使用和之前EEPROM有什么区别。
我的应用场景是:上电后,首先从EEEPROM中读出各种配置信息,然后再工作时会更改相应的配置信息,再保存回EEEPROM中。我之前在S12DJ256上实现过,不知道在mc9s12xep100上要做什么样的修改。
作者:
xiaowei5
时间:
2007-12-20 14:32
大家帮帮忙阿
作者:
TristoneGao
时间:
2007-12-20 18:19
1 如果我想使用banked RAM 需要设置什么?
如果您使用的IDE是CodeWarrior,则举例如下:
a) 在prm文件中包括以下内容:
SEGMENTS
...
RAM_FB = READ_WRITE 0xFB1100 TO 0xFB1FFF;
...
END
PLACEMENT
...
PAGED_RAM INTO RAM_FB;
...
END
b) 在c文件中包括以下内容:
#pragma DATA_SEG PAGED_RAM
int v1;
#pragma DATA_SEG DEFAULT
则变量v1就在分页的RAM中了。当您在C中访问v1时,CodeWarrior会自动采用RPAGE页面方式访问,您就不必关注具体的细节了。
2 EEEPROM的使用和之前EEPROM有什么区别。
差别很大。简单讲EEEPROM的功能极强,就是非易失的RAM。其读写都与访问普通的RAM一样,只是采用EPAGE而已。硬件会自动替您保存到DFLASH中!EEEPROM需要在第一次(以后上电就不需要了)上电时用CCOB命令分区。
3 我的应用场景是:上电后,首先从EEEPROM中读出各种配置信息,然后再工作时会更改相应的配置信息,再保存回EEEPROM中。我之前在S12DJ256上实现过,不知道在mc9s12xep100上要做什么样的修改。
建议您采用新的EEEPROM特性来完成这个功能。不要在RAM中拷来拷去了。因为如上所述:这里EEEPROM的访问和普通RAM一样(一样的读写速度!)
实际上,片上用的就是4K的RAM来仿真EEEPROM的,背后有32K的DFlash进行支持。这种支持完全由硬件完成。
建议您研究一下CCOB命令,您就明白了。
祝顺利!
作者:
xiaowei5
时间:
2007-12-24 17:42
谢谢TristoneGao的回帖。您的帮助真的是雪中送炭!
作者:
TristoneGao
时间:
2007-12-24 19:40
抱歉,上面的贴子中有一行需要更正:
#pragma DATA_SEG PAGED_RAM
应当改为:
#pragma DATA_SEG __RPAGE_SEG PAGED_RAM
作者:
xiaowei5
时间:
2008-1-4 17:58
我试了一下,没有进行任何设置。直接在工程自动生成的PRM文件中定义的EEEPROM空间,按普通RAM一样操作。发现可以实现功能。还不知道怎么使用CCOB命令
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0