共2条
1/1 1 跳转至页
LPC21XX,IAP,ADS1,BUG,LPC21xx,BUG LPC21XX奇怪的IAP问题!ADS1.2的BUG吗?LPC21xx的BUG吗?请教高人?
问
为什么用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
第一次调用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 跳转至页
回复
| 有奖活动 | |
|---|---|
| 2026年“我要开发板活动”第三季,开始了! | |
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
我要赚赏金打赏帖 |
|
|---|---|
| RTOS怎么选?让我来给你答案!被打赏¥15元 | |
| 【S32K3XX】Flash驱动使用被打赏¥26元 | |
| 【FreeRtos】第一个任务的启动过程被打赏¥21元 | |
| 【分享开发笔记,赚取电动螺丝刀】FPB-RA6E2开发板的WDT功能测试被打赏¥22元 | |
| 关于cmakelist特性presets的使用被打赏¥20元 | |
| 【分享开发笔记,赚取电动螺丝刀】M5STACK系列屏幕质量测试程序,竟然有块亮斑?被打赏¥20元 | |
| 【分享开发笔记,赚取电动螺丝刀】快速搭建瑞萨FPB-RA6E2开发板开发环境被打赏¥14元 | |
| 【分享开发笔记,赚取电动螺丝刀】在音频测试中顺序的调整可改变功效被打赏¥18元 | |
| 【分享开发笔记,赚取电动螺丝刀】点阵显示模块及其应用-----献给新年的小礼物被打赏¥22元 | |
| 基于地奇星开发板的数码管模块显示技术被打赏¥23元 | |
我要赚赏金
