Board logo

标题: RAM区重定位问题 [打印本页]

作者: zenwang    时间: 2008-1-28 19:44     标题: RAM区重定位问题

版主你好,我用的是 M9S12D64 芯片,我把RAM区重定位到 0x3000 - 0x3FFF ,指令如下:
___INITRM = 0x39; /* lock Ram to end at 0x3FFF */

在 Simulator_linker.prm 文件中应该把RAM区设置为 0x3000 - 0x3FFF ,即指令为:
RAM = READ_WRITE 0x3000 TO 0x3FFF;
但这样设置后,程序不能正常运行。

只有把RAM区设置为 0x0400 - 0x0FFF 时程序才能正常运行。即指令为:
RAM = READ_WRITE 0x0400 TO 0x0FFF;

为什么RAM区重定位后,在Simulator_linker.prm 文件中不能做相应的设置修改呢?
请版主指教。


作者: strongchen    时间: 2008-1-29 10:19

你要看一下INITRM是否确实变为你所设的值。INITRM是个单次写入寄存器,每次复位后只能写一次。
作者: zenwang    时间: 2008-2-3 12:43

确实是INITRM的值没设置好,设置好INITRM的值就正常了.
谢谢版主指教。




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