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

继续向版主请教关于EEPROM

继续向版主请教关于EEPROM

您好:
我已经按您所说的在p&e_reset.cmd 文件中添加了wb 0x12 0x09命令,添加此命令后,在flash窗口中的EEPROM的起始结束地址已更改为0x0000800 -0x0000fff ,但是按照我的工程生成的.s19文件编程后,EEPROM空间仍为BLANK. 而如果我不添加 wb命令,使FLASH窗口中的EEPROM地址为缺省的0x0002000-0x00027ff,并且将我的.s19文件的第一个S1行的地址修改为2000,并更改相应的校验和,就能够写入EEPROM,麻烦您能告诉我为什么 ,我使用的是清华的BDM,使用GDI连接,CommandFiles我已经选择.
我已把我的工程发到您的邮箱中.
你有在程序里没有设置INITRM、INITEE寄存器,将RAM和EEPROM映射到新的地址上呢?PRM文件只是告诉编译器参数,不能对MCU进行初始化。
海纳百川  有容乃大
在start12.c文件中的init下有INITRM=0x21;INITEE=0x09的重定位,而且重定位是正确的,如果EEPROM显示Programmed ,那么我在重定位地址读出的是正确的.
一般对这些寄存器的初始化应该是在用户程序里进行而不是在start12.c里。你也可以看一下这些语句是否确实执行了。
海纳百川  有容乃大
start12.c文件中有对这3个寄存器的缺省初始化,只要加上相应的#define预编译就可以了,而且在编译结果的汇编指令中可以看到,这3条指令是在leas sp,#$4000之前执行的.我在前面说过,如果我不增加wb命令,而只是手动修改S19文件的EEPROM写入地址到0x2000(FPP文件缺省的EEPROM定位地址)的话,就可以写入EEPROM,程序运行重定位EEPROM后,读出也是正确的.而且我对重定位后的EEPROM进行擦除和写入都是正确的.我唯一做不到的就是在EEPROM中定义象在0x4000处那样定义的CONST数据段,同样的定义,烧写后4000处可看到已编程EEPROM仍然为空.
我现在在外面出差,没办法试你的程序,可能要等到下个星期。抱歉。
海纳百川  有容乃大
谢谢版主
在p&e_reset.cmd 文件中还应该添加wb 0x10 0x21命令,这样在下载程序时才能将RAM移到0x2000的位置,否则0x800~0xFFF的位置处还是RAM,数据并没有写入EEPROM。
海纳百川  有容乃大
这样也是不行的,加入此命令后装载MC9S12DG128的FPP文件时出错,根本就打不开FLASH界面了,是不是需要修改FPP文件呀!
我手头暂时没有DG128的板子和芯片啊。回头我想办法弄一个再试试。
海纳百川  有容乃大
版主:
我已以解决了,要使用CW HCS12 for V4.5提供的 mcu03dc_eb386.fpp这个文件,不能使用缺省装载的mcu03dc.fpp. 谢谢版主给我的帮助!
返回列表