Ich habe versucht die Doku zu Flash Checksum zu begreifen, stoße da aber leider an Grenzen.
So wie ich das verstanden habe kann ich in meinem Programm durch den Import vo
from System import FlashCheck_S, FlashCheck_A;
und
define FlashChkSum = ProgEnd;
veranlassen, dass der Compiler eine Checksumme berechnet und sie ans "Ende des Flashbereichs" speichert. Soweit so gut, sobald ich im Programm dann mit CalcFlashCheck_S(); die CRC prüfe klappt das auch. Es gibt 1 zurück.
Jetzt will ich das ja gerne in meinem Bootloader machen, wo ich das Programm flashe, und danach dann die CRC prüfen will um zu sehen, ob das Flashen fehlerfrei geklappt hat.
Da komme ich nicht weiter, egal was ich versuche liefert CalcFlashCheck_A vom boot aus immer eine 2 zurück.
Wenn ich in der Main App
define FlashChkSum = ProgEnd;
definiere, was muss ich dann in der Bootapp definieren, damit die gespeicherte CRC summe aus dem Bootbereich gelesen werden kann?
In der Doku steht da auch
define FlashChkSum = (2 * BOOTRST) -2;
Das wären 2 Byte unter der obersten Flashgrenze?
Wenn ich das in der Mainapp verwenden will gibt es einen Fehler, "Identifier or factor expected"
Was ist "Progend" genau? In der Doku/Hilfe steht davon nichts.
So wie ich das verstanden habe kann ich in meinem Programm durch den Import vo
from System import FlashCheck_S, FlashCheck_A;
und
define FlashChkSum = ProgEnd;
veranlassen, dass der Compiler eine Checksumme berechnet und sie ans "Ende des Flashbereichs" speichert. Soweit so gut, sobald ich im Programm dann mit CalcFlashCheck_S(); die CRC prüfe klappt das auch. Es gibt 1 zurück.
Jetzt will ich das ja gerne in meinem Bootloader machen, wo ich das Programm flashe, und danach dann die CRC prüfen will um zu sehen, ob das Flashen fehlerfrei geklappt hat.
Da komme ich nicht weiter, egal was ich versuche liefert CalcFlashCheck_A vom boot aus immer eine 2 zurück.
Wenn ich in der Main App
define FlashChkSum = ProgEnd;
definiere, was muss ich dann in der Bootapp definieren, damit die gespeicherte CRC summe aus dem Bootbereich gelesen werden kann?
In der Doku steht da auch
define FlashChkSum = (2 * BOOTRST) -2;
Das wären 2 Byte unter der obersten Flashgrenze?
Wenn ich das in der Mainapp verwenden will gibt es einen Fehler, "Identifier or factor expected"
Was ist "Progend" genau? In der Doku/Hilfe steht davon nichts.