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

请教s12单片机外扩ram问题

请教s12单片机外扩ram问题

型号是mc9s12dj64,需要外接一块总线通讯器spc3,其实就是一块双口ram,选择的是窄扩展模式,地址暂定为0x1000~0x15ff。目前的问题是通过仿真器无法将程序烧写到flash中,后来将模式改为单芯片模式 就可以正常烧写了,通过阅读版上的帖子,怀疑可能是开发环境没设置好,比如prm文件中还要定义外部ram的地址,
后来在ram.prm中修改如下:
SEGMENTS
MY_RAM = READ_WRITE 0x0400 TO 0x0BFF; /* 2K */
MY_PSEUDO_ROM = READ_ONLY 0x0C00 TO 0x0FFF; /* 1K */
SPC3_RAM =READ_WRITE 0X1000 TO 0X15FF
END
PLACEMENT
_PRESTART, STARTUP,
ROM_VAR, STRINGS,
NON_BANKED,DEFAULT_ROM,
COPY INTO MY_PSEUDO_ROM;
DEFAULT_RAM INTO MY_RAM;
EXT_RAM INTO SPC3_RAM
/* EEPROM_DATA INTO EEPROM; */
END


然后在main.c中

#pragma DATA_SEG EXT_RAM
SPC3 spc3;// SPC3是一个结构体,定义了器件的内部结构
#pragma DATA_SEG DEFAULT

还是烧不进去

请问是什么原因阿,是不是我还遗漏了某些寄存器设置?

同时还有一些问题要请教:
1、外部ram级别最低,如何保证它不被flash重叠呢?是不是设置romhm?
2、0x1000~0x15ff这个地址可用马?

3x
外部地址最好选用内部空间没有占用的地址,这样就不会发生冲突。另外,如果要用BDM进行编程或调试,MCU的管脚电平就配置成正常单片模式即可。当程序运行后再写寄存器,使MCU进入扩展模式。
海纳百川  有容乃大
哇强陈 终于给我回复了 等的好心急阿
你的意思是我调试的时候把MODA MODB配置成single chip 模式?
等调完了 程序定型了再改回扩展模式?那样调试和最终运行的结果会不会有偏差?

不会有什么偏差的。
海纳百川  有容乃大
强陈,我用单片模式已经可以仿真了。但是我怀疑是否真的写入到外部ram,因为有些值写进去后读出来是对的,但有些是有问题的。会不会单片机把它划到了一块内部ram中呢?我是按照顶楼的格式定义的外部ram,应该没问题吧?

还有一个问题,我想把e_clock展宽,怎么做?单片模式下是无效的

非常谢谢 期待您的回复
MCU的管脚配置为单片模式,上电复位后MCU先进入单片模式。但必须通过改写寄存器的内容,使MCU进入扩展模式,这样才能对外部空间进行访问。
海纳百川  有容乃大
热心的强陈!!回复好快
请问改那个寄存器阿?看了半天资料没找到阿
我刚才拔了锁存器374,data1里边外ram的值仍然有,可见写外ram没成功,很可能是s12划了一块内部ram
修改MODE寄存器。参看文档《S12MEBIV3.pdf》。
海纳百川  有容乃大
强陈 搞不定阿 改了mode 还是不行
没有锁存器 照样能读出ram的值
你能传一份应用窄扩展模式的工程例子马 参考一下
下面的代码在就是上电后更改工作模式为EXPEND NARROW,我已经调通。另外,你可以通过查看MAP文件你的外部RAM是否在指定空间。
void Initial(void)
{
REFDV=0x01;
SYNR=0x02; //SYSTEM CLOCK 24MHZ
PLLCTL_PLLON=1;
PLLCTL_AUTO=1;
wait(5);
CLKSEL_PLLSEL=1;
///expended ram init///////////////////////////////////////
PEAR=0x04;
EBICTL_ESTR=1;//0:free run
MISC=0x0d;
MODE=0xb3;//normal expended narrow
}
太感谢了 我调着试试
论坛上热心肠好多阿
还是有一点问题,如果直接用wizard建一个工程 空内容 ,晶振24m,eclk输出12m,可按bmbmi的方法,eclk直接输出高电平了,没有脉冲阿。那没有时钟,数据怎么能写入外ram呢?
头大了!!
斑竹能帮我看一下工程吗?到底我的程序能访问外ram吗?
把你的project打包贴出来吧。
海纳百川  有容乃大
http://bbs.chinaecnet.com/uploadImages/jianxue.rar
参考bmbmi 只有几句话,eclk一直为高
我的cpu是mc9s12dj64 cw4.6教学版,p&e的bdm
返回列表