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

关于Mc9sNe64的flash读写?

关于Mc9sNe64的flash读写?

按照手册设置了FCLKDIV寄存器,往相应地址写入想要写的数据,然后写FCMD寄存器,以及FSTAT对应位,程序执行过程中提示说“trigger A occured”,然后程序就停住了。在点“go”出现提示“illegal bp”又停住。。。但是看flash的对应地址,我要写的数据已经写进去了。

另外,cw软件所提供的命令文件“unsecued”是不是有问题啊,我有一个板子,执行了这个命令文件之后就再也不能用了,不能下载程序到flash中去了!提示信息说“can't find the BDM speed”.
感谢各位达人指点!
程序要放在RAM中运行。有没有查看一下FSTAT的ACCERR有没有置位?
ACCESS已经置位。
那表示操作过程有错误。仔细看看有什么错误
这里时代码:
void testFlash(UINT8 page,UINT16 addr)
{
FCLKDIV=0x51;
FCNFG=0x0;
FPROT=0xff;
FSTAT=0x30;
while(!(FSTAT&0x80));
*(UINT16 *)addr=0x1234;
FCMD=0x20;
FSTAT=0x80;
}
麻烦 各位了。
看起来没什么问题。代码放RAM中跑的?不用flash CCIF中断的话,有没有把其他中断关掉?COP有没有关掉?
另外,可以试试不在BDM仿真环境下跑,直接把代码放到芯片里面,拔掉BDM跑,仿真可能会出错。
如何放到RAM中跑啊?默认的不是这样么?见笑了。
程序可以复制到RAM中,然后跳转到RAM中运行,或者调用RAM中的程序。
海纳百川  有容乃大
奇怪的是,单步执行是不会中断的,只要单步执行完FSTAT=0x30;程序就可以正常运行了,而且,flash已经写成功了。
很可能是COP的原因。
海纳百川  有容乃大
返回列表