首页 > 解决方案 > 如何验证STM8S控制器中代码的内存校验和

问题描述

我正在使用“STM8103F3”控制器。我想在我的代码中执行 ROM 测试,但我找不到可以验证我的“内存校验和”的寄存器。内存校验和我可以添加“ROM”字节,但我面临如何验证的问题。任何人都可以在这个问题上帮助我。

标签: assemblystm8

解决方案


简单的回答:

这是不可能的。

为什么?

如果微控制器有这样的功能,它就什么也做不了,只能简单地将闪存中的所有字节相加。

如果闪存中存在错误,它会计算出与您计算的相同的错误校验和。您会将错误的校验和与微控制器的错误校验和进行比较,然后才发现它们是相同的。

该怎么做?

在汽车行业中,您将在将程序写入闪存之前计算校验和(例如,您使用 HEX 文件来计算校验和)。

然后将计算出的校验和写入微控制器的闪存。当然,在计算校验和时,您必须忽略存储校验和本身的内存区域。

要进行检查,您计算闪存(在微控制器上)的校验和,并将其与您在将程序写入闪存之前计算的校验和进行比较。


推荐阅读