[ZLG-ARM] 2136读MCU的FLASH中的值 为什么总是不对

[复制链接]
2189|0
 楼主| yanghuyue 发表于 2007-6-18 14:07 | 显示全部楼层 |阅读模式
读FLASH中的值,为什么总有一些值&nbsp;不对?&nbsp;<br /><br />void&nbsp;CUpProgram::LoadMcuToFlash(INT8U&nbsp;type)<br />{<br />&nbsp;&nbsp;INT32U&nbsp;runproadd=0x00007ff8;<br /><br />&nbsp;&nbsp;INT8U&nbsp;tempbuf[256+5];<br />&nbsp;&nbsp;INT32U&nbsp;paadd32;<br />&nbsp;&nbsp;INT32U&nbsp;temp32;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;paadd32=0;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;for(INT32U&nbsp;i=0;i&lt240*1024;i+=256)//读240K,从0x8000开始的MCU中FLASH中的值&nbsp;,程序此时也在这个区运行<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(INT32U&nbsp;m=0;m&lt256;m+=4)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runproadd+=4;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp32=(*((INT32U&nbsp;*)&nbsp;(runproadd)));//volatile&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempbuf[m]=temp32;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempbuf[m+1]=temp32&gt&gt8;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempbuf[m+2]=temp32&gt&gt16;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempbuf[m+3]=temp32&gt&gt24;<br />&nbsp;&nbsp;//为什么么0x8010,8030的值都不对呀?只要是runproadd=0xXXXC.只<br />//要最后4位是C,理应读0xXXXC+4地址的值&nbsp;。实际上值总是不对?我读的有<br />//问题吗?<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/////////////////////////&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br />//我用的是2136<br />&nbsp;<br />&nbsp;<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

23

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部