Stlink: [功能] 计算闪存操作的校验和

创建于 2020-02-24  ·  13评论  ·  资料来源: stlink-org/stlink

你好,

有没有办法从二进制文件中获取校验和? 就像 Windows 上的 st-link 工具一样? 我想比较我的计算机上生成的两个二进制文件和一个标准的二进制文件。

codfeature-request componenst-flash generadocumention staturesolved

所有13条评论

你的意思是设备内存的校验和? 并将其与计算机上的文件进行比较?

我正在考虑一个二进制文件,在我的用例中,我在我的计算机上编译并下载了一个二进制文件时遇到问题,源代码是相同的,但二进制文件不匹配,我使用的是更新的工具链,所以新的二进制文件已损坏

在 st-link 工具上加载二进制文件时,ti 会计算校验和,因此我用它来确定何时拥有正确的工具链

https://i.ibb.co/5TS7twF/figure.png

啊好吧。 就目前而言,这些工具不会为您做到这一点。 在 Windows 上,我可以推荐 HxD 十六进制编辑器来校验二进制文件(或者简单地快速比较两个二进制文件)。 你在 Windows 上吗?

@vitormhenrique :不幸的是,由于分辨率太低,我无法阅读您链接的图像的内容。 你能粘贴一个更大的屏幕截图或它的相关细节吗?

不知道为什么那个图这么小....

https://i.ibb.co/mq8vvpP/pic.png

我明白了 - 所以我们实际上是在这里寻找功能请求。
flashloader 确实会在幕后验证闪存内容的完整性,因此我认为可以扩展此功能。 一定想被看。

如果没有给出特殊的算法限制,我认为将一些校验和算法(md5、sha256 等)集成到文件加载过程中是很容易的。 也许我有空的时候可以试一试。

stlink 实用程序(捕获中的那个)将其文档(UM0892)中的校验和定义为简单的算术和,截断为 32 位......(叹气)

内存校验和
计算由定义的指定内存区域的校验和值
地址和大小字段在主窗口的内存显示部分。
校验和是基于算术求和算法计算的,字节每
字节。 结果被截断为 32 位字。
校验和值显示在日志窗口中

虽然这很粗糙而且不可靠,但实现起来很便宜,并且保持与 st-utility 的“兼容性”会很好。

@grevaillot感谢您提供信息,我将在我的 PR 中添加对此的支持。

我们应该在教程中为此提供一些文档吗?

ST的windows程序使用的算法我认为至少对于开发人员来说可能需要文档。

好的,那么您能否在我们的教程中添加一个包含几行的部分(在评论部分的末尾)? 那样就好了。 不过不要太在意在那里格式化,因为我仍在处理这个文档......

我仍然想知道,是否应该将这两种方法合并在一起。
如果是这样,我可能需要调整这两个函数以获得更好的格式。 当前的两次提交会导致输出过于冗长。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

ceremcem picture ceremcem  ·  12评论

grzegorz-kraszewski picture grzegorz-kraszewski  ·  9评论

yosoufe picture yosoufe  ·  12评论

WRansohoff picture WRansohoff  ·  14评论

gorynch picture gorynch  ·  5评论