Gast
#6540751
Hallo, bevor jetzt alle meckern, ja ich kenne die AN von Microchip bzgl. Bootloader über UART sowie über CAN. Ich würde aber gerne mein Applikationsupdate über die normale Applikation mit einem Protokoll welches ich schon für andere Kommunktion zwischen einem PIC und Rechner nutze durchführen. Auch erfolgt aus diversen Sicherheitsgründen (u.a. DIN EN 51508) eine spezielle Autorisierung und Überprüfung des Firmwareupdates. Meine Idee wäre erstmal, dass ich aus der normalen Applikation das Firmwareupdate in einem SRAM oder Flash abspeichere. Danach erfolgen meine Sicherheitsprüfungen, Checksummenvergleich, etc. Erst wenn dieses erfolgreich war, boote ich in den Bootloader und lasse von dort die Daten aus dem SRAM/Flash in den PROM des Pic18 kopieren. Als Vorteil von einem Flash könnte ich auch dort mehrere Applikationen ablegen. Im Gedanken bin ich da aktuell bei einem Golden Image oder halt "Werkseinstellung". Die Flashs haben ja keine große Anforderung an Speed oder Größe. Dachte da z.B. an einen SST25VF020B mit 2MB oder als RAM an einen IS62WVS2568. Gibt es Gründe die gegen so eine Vorgehensweise sprechen? Die meisten Beispiele und AN gehen davon aus, dass ich mit einem speziellen Protokoll direkt im Bootloader update. Ich sehe da u.a. den Nachteil, dass ich entweder ein stark vereinfachtes Protokoll nehme und meine Sicherheitsfunktionen für unerlaubtes Flashen drumherumstricke. Das bläht den BL Code unnötig auf, da ich dieses eh schon in der Applikation habe. Auch muss ich erst den Adressbereich mit der Applikation erst löschen und dann neu schreiben. Sprich sollte es zwischen dem Update ein fehlerhaftes auftreten wird dies erst beim CRC festgestellt und lässt sich nur mit einem erneuten Durchlauf des Updates beheben. Sprich ich könnte den inkonsisten Fall ohne Applikation auf dem Gerät hinterlassen. Oder kann ich einen PIC18 auch direkt aus einem ext. Flash booten lassen? Ich vermute mal nein. Viele Grüße