Как проверить контрольную сумму памяти кода в контроллере STM8S - PullRequest
0 голосов
/ 24 февраля 2020

Я использую контроллер "STM8103F3". Я хочу выполнить проверку ПЗУ в своем коде, но я не могу найти регистр, который может проверить мою «контрольную сумму памяти». Контрольная сумма памяти я могу получить мои добавления "ROM" байтов, но я сталкиваюсь с проблемой, как проверить это. Может ли кто-нибудь помочь мне в этом вопросе.

1 Ответ

2 голосов
/ 25 февраля 2020

Простой ответ:

Это невозможно.

Почему?

Если бы микроконтроллер имел такую ​​функцию, он не смог бы ничего сделать, кроме простого добавления все байты в памяти Fla sh.

Если в памяти Fla sh есть ошибки, будет вычислена та же неверная контрольная сумма, которую вы вычислили. Вы бы сравнили неверную контрольную сумму с неправильной контрольной суммой микроконтроллера и обнаружили бы, что они идентичны.

Что делать вместо этого?

В автомобильной промышленности вы вычислите контрольную сумму перед записью программы память Fla sh (например, вы используете файл HEX для вычисления контрольной суммы).

Затем вы записываете вычисленную вами контрольную сумму в память Fla sh микроконтроллера. Конечно, при вычислении контрольной суммы вы должны оставить область памяти, в которой хранится сама контрольная сумма.

Чтобы выполнить проверку, вы вычисляете контрольную сумму по памяти Fla sh (на микроконтроллере) и сравните ее с контрольной суммой, которую вы рассчитали перед записью программы в память Fla sh.

...