- UID
- 348172
- 性别
- 男
|
型号是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 |
|