Hallo, ich fange gerade an, theoretisch einen kleinen Hausbus zu planen. Da ich nicht der Held bin und sicherlich öfter was umprogrammieren muß, muß ein Firmwareupdate über CAN möglich sein. Die LPC15xx können das ja (und haben CAN-Funktionen im ROM). Mein erster Gedanke ist so: Ein eigener Bootloader im ersten Flash-Sektor wird nach dem Reset immer durchlaufen (falls mal eine Firmware "daneben" ging). Weiterhin werden gleich dahinter knotenspezifische Daten abgelegt (CAN-ID, welche individuelle externe Peripherie usw.). Danach kommt dann die Anwendung, die bei allen Knoten gleich sein soll. Nur die wird immer neu geflasht (sofern nicht der Bootloader mal selbst upgedatet werden muß). Macht das so aus Erfahrung Sinn?
Nichts macht Sinn! Einiges könnte sinnvoll sein. Du schreibst nicht, was du vor hast. Also kann dir niemend helfen. Was planst du? "Hausbus" ist so nebulös wie "Klimawandel".
Ich denke, daß die Frage klar ist. Es geht darum, einem LPC15xx über CAN ein Firmwareupdate zu verpassen. Und das ist eigentlich völlig unabhängig davon, wozu dieser CAN-Bus da sein soll.
Die Frage seh ich jetzt eher darin: Was ist dein Problem? Firmwareupdate per CAN ist sicher eine nette Sache. Ich würde mir aber auch Gedanken machen, wie die Haustechnik auf einen Ausfall des Hausbus reagiert.
Ja sicher, aber darüber mach ich mir später Gedanken. Ich bin ja noch am Anfang der Planung und das rein theoretisch. Mir geht es jetzt nur ganz konkret darum, wie man vom_ _Prinzip_ _her so einen Updatemechanismus implementieren sollte. Also z.B. Stromausfall beim Update usw.. Auch eine Prüfsumme vor und nach dem Flashen usw.. Oder wenn der Platz reicht, eine Version in der ersten Hälfte, die Neue in der zweiten, beim nächsten mal natürlich andersrum. Sowas meine ich.
FW-Update per Bus ist ein Muss, wenn alles eingebaut ist. Hab ich auch so gemacht. Aber die Vorschreiber haben schon recht. Was du sonst so vor hast sagst du nicht. Bei den meisten fängt das Basteln mit den Funktionen an, und nicht mit dem Bus...
Hi Tom, zumindestens beim LPC11Cxx ist der interne CAN-Bootloader/Flashloader/Treiber unbrauchbar für ein remote Update, so wie du es wahrscheinlich aus dem Automotive Bereich kennst. Du kannst aber einen eigen Boot/Flashloader bereitstellen. Der interne taugt nur, um eine einzelne ECU zu anzusprechen, nicht mehrere ECU's im Netz, schon gar nicht gleichzeitig. Grüße Canni
Einer zur Zeit reicht ja eigentlich auch vollkommen aus. Mehrere gleichzeitig zieht ja schon wieder einen Wust an Software nach sich, wenn einer mal einen Frame nicht mitbekommen hat. Der muß dann später nachgeholt werden, oder alle anderen müssen warten, bis der Nachzügler auch am gemeinsamen Stand angekommen ist, oder...
Du solltest Dir erstmal Gedanken machen was Du eigentlich vor hast. Den davon hängt überhaupt mal ab, was für ein Bus es werden muss. Evtl. brauchst Du ja garkeinen. Wenns zB nur um Licht und Rolläden geht. Da wär ein Bus overkill....
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.