标题:
请教一个flash的读写问题,谢谢!!
[打印本页]
作者:
tiaodekeyi
时间:
2006-12-28 09:45
标题:
请教一个flash的读写问题,谢谢!!
想请教你一个问题
我的片子是MC9Sdg128
我的flash读写程序在不带uc操作系统的,跑起来了
而加上uc操作系统,就老是跑飞了 是什么原因啊?
作者:
seuafu2005
时间:
2006-12-28 10:46
操作系统中的中断会干扰程序,另外,你开的stack的size是否足够
作者:
tiaodekeyi
时间:
2006-12-28 11:38
这是我写的代码,我想请问,主函数执行了CopyToRam()了后,如何跳到RAM中
执行(用的是哪条指令),我用的是codewarri编译器,另外,我的FL_WriteWord中的参数是怎么传进去的,
我在主函数中不太会做应用,希望大侠能给些应用方面的代码,谢谢
void FL_WriteWord(byte page,word addr,word data)
{
PPAGE = page;
page=page&0x0C;
page=page>>2;
FCNFG = 3-page;
while(!(FCLKDIV & 0x80)) //复位后时钟分频是否做出修改
{}
while(!(FSTAT & 0x80)) //命令缓冲区是否为空
{}
while(!(FPROT & 0x80)) //FLASH是否允许进行编程
{}
*((volatile word *)(addr))=data;
FCMD = 0x20; //置编程命令
FSTAT|=0x80;
while(!(FSTAT & 0x80))
{}
while(!(FSTAT & 0x40)) //命令是否执行完毕
{}
}
void CopyToRam(void){
unsigned char i=100;
unsigned char *Ps, *Pd;
Ps = (unsigned char *)&FL_WriteWord;
Pd = (unsigned char *)(0x1000);
do{
*Pd++ = *Ps++;
} while(--i);
}
作者:
seuafu2005
时间:
2006-12-28 12:02
关于跳转到ram请参考置顶帖子中关于flash擦写的帖子
http://bbs.eccn.com/dispbbs.asp?boardID=3&RootID=104326&ID=104326
作者:
tiaodekeyi
时间:
2006-12-28 16:55
刚看了一下,还是看得不太明白,版主能不能简单跟我解释一下?
就是在主函数中如何做应用?如何跳到RAM中执行
非常的感谢!!!
作者:
seuafu2005
时间:
2006-12-29 10:28
这个这个,这个帖子http://bbs.eccn.com/dispbbs.asp?BoardID=3&RootID=104074&id=104198&star=2&skin=
应该比较清楚了,strongChen版主贴出了代码,你可以参考
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0