[AN105] 关于文件检验和与缓冲校验和
相关产品: 编程器 SP325/SP328/SP328P, SP20系列, SP10系列, SP8 / SP16系列
相关软件: SP32SW, FlyPRO II, FlyPRO
------------------------------------------------------------------------------------------------------------------------------------------------
概述
编程器软件SP32SW/FlyPRO II在加载文件时, 会显示文件校验和:
编程器软件FlyPRO(V4.15+), 在窗口底部会显示校验和信息, 如下图所示:
文件校验和 是加载的文件数据所有字节的累加和, 主要用于核对文件数据是否正确.
缓冲校验和 是数据缓冲区所有数据字节的累加和, 缓冲区大小和芯片容量一致, 因此缓冲区校验和就是芯片数据的校验和.
校验和显示值后缀"H", 用于表示此值为十六进制. 十六进制数据还有一种表示方式就是以"0x"开头.
也就是说数据12345678H与 0x12345678 是一回事.
文件校验和与缓冲区校验和不是一码事, 如果文件数据小于芯片容量, 它们的校验和会不一样; 只有文件大小和芯片容量一样, 他们的校验和才会相同.
------------------------------------------------------------------------------------------------------------------------------------------------
部分用户在验证芯片数据时, 可能会采用读取芯片数据, 再比较校验和的方式, 来验证芯片的数据是否正确, 这种方式不科学, 是错误的.
因为简单的数据累加和值, 即使结果一样, 也不能保证其数据就绝对一样. 建议采用下面的方式验证芯片数据:
推荐芯片验证方式:
1. 加载文件数据, 并核对文件校验和/或者缓冲区校验和与工程信息一样.
2. 放置芯片在烧录器插座上
3. 点击"手动操作"->"校验", 校验如果没有提示错误, 则表示芯片数据准确, 没有问题.
4. 重复操作步骤2~3, 验证其他芯片.
------------------------------------------------------------------------------------------------------------------------------------------------
常见问题
1. 为何缓存区校验和与文件检验和有时会不一样?
当文件数据与芯片容量不一样时, 它们的校验和会不一样, 这属于正常情况; 只有文件大小和芯片容量一样, 他们的校验和才会相同.
例如当前芯片是一个16M bits (即4M字节)的FLASH, 加载的文件只有3.8M字节.
2. 在文件校验和与缓冲校验和不一样时, 如何处理, 有什么注意事项?
为保证烧录数据的准确性, 我们建议, 当文件小于芯片容量大小, 除了要记录该文件的数据校验和, 还必须记录该文件在指定容量芯片的时的缓冲区校验和.
- 上一篇:[AN102] 如何将多个文件烧录到一个芯片内 2016/9/12
- 下一篇:SP16系列多机操作软件 FlyPRO_MCP 发布 2016/5/26