佚名通过本文主要向大家介绍了mc9s12x128,flash报错,flash tool报错,flash player报错,flash tool刷机报错等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: MC9S12X128对flash进行读写,为什么报错?
描述:
{
while(FSTAT_CCIF==0);
if(FSTAT_ACCERR) //判断并清除标志位;
FSTAT_ACCERR=1;
if(FSTAT_FPVIOL) //判断并清除标志位;
FSTAT_FPVIOL=1;
FCCOBIX_CCOBIX=0x00;
FCCOB=0x0A40; //写入擦除命令和高位地址(0A是对P-Flash进行Sector擦除的指令)
FCCOBIX_CCOBIX=0x01;
FCCOB=0x0000; //写入低16位的地址
FSTAT_CCIF=1; //启动执行命令
while(FSTAT_CCIF==0); //等待执行完成
}
前面已经设置过flash的分频,将指令换成对D-flash就不会报错,但是只要换成对P-Flash就会报错。ACCSEE位会置1
读P-Flash时也会出现类似的错误
解决方案1:
描述:
求助飞思卡尔flash读写bootloader
void PFlash_Erase(word ADDR16){
while(FSTAT_CCIF==0);
if(FSTAT_ACCERR) //判断并清除标志位;
FSTAT_ACCERR=1;
if(FSTAT_FPVIOL) //判断并清除标志位;
FSTAT_FPVIOL=1;
FCCOBIX_CCOBIX=0x00;
FCCOB=0x0A40; //写入擦除命令和高位地址(0A是对P-Flash进行Sector擦除的指令)
FCCOBIX_CCOBIX=0x01;
FCCOB=0x0000; //写入低16位的地址
FSTAT_CCIF=1; //启动执行命令
while(FSTAT_CCIF==0); //等待执行完成
}
前面已经设置过flash的分频,将指令换成对D-flash就不会报错,但是只要换成对P-Flash就会报错。ACCSEE位会置1
读P-Flash时也会出现类似的错误
解决方案1:
128这块片子几年前智能车比赛比较火,16位机,感觉高不成低不就。
图已经很明确指明了16K的flash size。越界擦写自然会报错