读FLASH中的值,为什么总有一些值 不对?
void CUpProgram::LoadMcuToFlash(INT8U type) { INT32U runproadd=0x00007ff8;
INT8U tempbuf[256+5]; INT32U paadd32; INT32U temp32; paadd32=0; for(INT32U i=0;i<240*1024;i+=256)//读240K,从0x8000开始的MCU中FLASH中的值 ,程序此时也在这个区运行 { for(INT32U m=0;m<256;m+=4) { runproadd+=4; temp32=(*((INT32U *) (runproadd)));//volatile tempbuf[m]=temp32; tempbuf[m+1]=temp32>>8; tempbuf[m+2]=temp32>>16; tempbuf[m+3]=temp32>>24; //为什么么0x8010,8030的值都不对呀?只要是runproadd=0xXXXC.只 //要最后4位是C,理应读0xXXXC+4地址的值 。实际上值总是不对?我读的有 //问题吗? ///////////////////////// } } } //我用的是2136
|