这是我写的代码,我想请问,主函数执行了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);
}
|