这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » LPC21XX,IAP,ADS1,BUG,LPC21xx,BUG LPC21XX

共2条 1/1 1 跳转至

LPC21XX,IAP,ADS1,BUG,LPC21xx,BUG LPC21XX奇怪的IAP问题!ADS1.2的BUG吗?LPC21xx的BUG吗?请教高人?

院士
2006-09-17 18:14:16     打赏
LPC21XX,IAP,ADS1,BUG,LPC21xx,BUG LPC21XX奇怪的IAP问题!ADS1.2的BUG吗?LPC21xx的BUG吗?请教高人?



关键词: LPC21XX     LPC21xx     怪的     问题     ADS    

院士
2006-12-22 22:43:00     打赏
2楼
问 为什么用IAP写FLASH有部分数据,有部分不正确。每次写1024个字节!
第一次调用RamToFlash(0x00010000,comdatabuff, 1024)时候写FALSH,出现错误!
comdatabuff[]={
            00 01 08 0B 00 01 01 00 01 01 00 00 00 00 00 00
            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
}
写到FLASH中的数据为:
0x00010000  01 01 08 0B 01 01 08 0B 00 01 01 00 01 01 00 00
0x00010010  00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00

正确的应该是:
0x00010000  00 01 08 0B 00 01 01 00 01 01 00 00 00 00 00 00
0x00010010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

请各位大侠指正!!为什么会出现这样的问题?
1: ! 2: 发现有错误! 3: 发现有错误!调用RamToFlash(0x00010000,comdatabuff, 1024)时候写FALSH,出现错误!
comdatabuff[]={
            00 01 08 0B 00 01 01 00 01 01 00 00 00 00 00 00
            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
}
写到FLASH中的数据为:
0x00010000  01 01 08 0B 01 01 08 0B 00 01 01 00 01 01 00 00
0x00010010  00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00

正确的应该是:
0x00010000  00 01 08 0B 00 01 01 00 01 01 00 00 00 00 00 00
0x00010010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00



请各位大侠指正!!为什么会出现这样的问题? 4: ads有问题!在ADS中对FLASH进行IAP后,在单步运行观察FLASH中的数据,发现程序走几步FLASH中的数据居然发生变化. 5: 最新发现! for(i=0;i<32;i++){
    comdatabuff[i]=i;   
}   
IRQDisable();             
SelSector(9,9);                
RamToFlash(0x00010000,comdatabuff,1024);              IRQEnable();             
memcpy(checkbuff,0x00010000,256);

按照上面的程序,comdatabuff数组中的数据成功写到FLASH中,并从FLASH中读出,完全正确。但请看下面
  
IRQDisable();             
SelSector(9,9);                
RamToFlash(0x00010000,comdatabuff,1024);              IRQEnable();             
memcpy(checkbuff,0x00010000,256);
却不能正确地把comdatabuff[]数组中的数据写到FLASH中去,看ADS的MEMORY窗口所看到的数据一定是错误的,看checkbuff[]数据中的数据应该正确反映FLASH中的数据,可以看到数据并不是想写进去comdatabuff[]数组中的数据,有一些数据是错误的!一些是正确的!不知道何解?是LPC2134的BUG吗? 6: IAP操作时序对了么?        _IAPWriteInit(sector, sector);
        _IAPEraseSector(sector, sector);
擦、写之前都要初始化的,另,你可以检查函数返回值,是否是 CMD_SUCCESS

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]