请高手看一下我的程序为甚麽不能连续的写入到FLASH指定的地址,只能写一个字节进去
void WriteToFlash(byte * dest,byt* sour,word length)
{
word i;
while(FSTAT & 0x30);
FSTAT = 0X30;
while(!(FSTAT&0X80));
while(length--)
{
*dest = *sour;
FCMD = 0X20;
FSTAT = 0X80;
while(!(FSTAT & 0X80));
while(!(FSTAT & 0X40))
}
}
在调试过程中如果单步执行一个自己的数据都写不进去
另外我也看了一些资料,说FLASH的擦写需要调到RAM中去执行,是为什么?
有的程序有asm机器码的是怎么个道理呢?
我也在做bootloader问题多多,郁闷!!已经调了好几天了
有没有高人指点一下呀!~~~~ |