请教对flash编程的校验算法

[复制链接]
3303|6
 楼主| 江陵龙少 发表于 2010-9-13 22:36 | 显示全部楼层 |阅读模式
目前,正在学习用单片机对FLASH进行擦除、编程等操作,走到校验这一步了,但不知道,校验是什么原理,请大侠们指教!
mcuisp 发表于 2010-9-13 23:55 | 显示全部楼层
最普通的做法就是读出,比对了。
专业编程器会采用更复杂的算法。
 楼主| 江陵龙少 发表于 2010-9-14 13:26 | 显示全部楼层
谢谢2楼的回答,最普通的办法说道我的心坎里去了,现在就会这个了,但还是有一点不懂,
目前的这个flash,用它的专用软件校验的时候,是以1024字节(2个扇区)来读出数据,在所有数据读完后,它计算出了一个Checksum  有36位,即4字节半,如0099adec8,不知这个是怎么得出的,请mcuisp及诸位大侠指教!
 楼主| 江陵龙少 发表于 2010-9-16 18:14 | 显示全部楼层
顶一下,期待大家的指点
ar_dong 发表于 2010-9-16 20:17 | 显示全部楼层
是不是累加啊
mohanwei 发表于 2010-9-17 11:41 | 显示全部楼层
其实既然都读出来了,那么直接对比是最可靠也是最快的(Flash那点容量对于电脑或者编程器主机来说也就一瞬间搞定),代码也简洁,一个memcmp()搞定
 楼主| 江陵龙少 发表于 2010-9-19 20:30 | 显示全部楼层
感谢大家的回答。终于找到了答案,5楼说对了,的确是累加和!
这是XILINX的一片PROM,校验时,读出全部可编程空间的数据,然后,按字节累加,校验和就得出来了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

85

主题

286

帖子

2

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