Bootloader über CAN

Gast #544607
Lesenswert?
• ▲
▼
Hallo allerseits,

ich programmiere gerade einen CAN-Knoten, dem ich einen Bootloader 
verpassen möchte. Als µC kommt ein Tiny45 zum Einsatz, zusammen mit 
einem MCP2515 + Treiber für die CAN-Schnittstelle.

Ich habe in meiner Applikation für den MCP2515 Routinen geschrieben, mit 
denen ich den CAN-Bus steuern kann (Senden, Empfangen, interne Register 
schreiben etc.).

Nun ist es ja aber so, dass ich diese Routinen auch für den Bootloader 
brauche! Also sowohl einmal da als auch einmal in der Applikation. Wenn 
ich die Routinen jetzt in den Bootloader implementiere und damit 
ausserhalb der Applikation - wie kann ich dann von der Applikation aus 
drauf zugreifen? Die beiden sind doch getrennt voneinander und die 
Applikation kennt die Routinen des Bootloaders nicht :-( Umgekehrt ist 
das Problem das Gleiche...

Kennt jemand eine Lösung?

Viele Grüße,
Steffen
Gast #576389
Lesenswert?
• ▲
▼
Üblicherweise sind die CAN-Routinen dann sowohl im Bootloader als auch 
in der Applikation implementiert. Die kommen sich auch nicht ins Gehege, 
da nach dem Anschalten erstmal der Bootloader läuft. Dieser guckt ob 
CAN-Aktivität da ist die ihn z.B. dazu veranlasst etwas zu laden. Wenn 
nicht, beendet sich der Bootloader selbst und startet die Applikation.
Gast #576482
Lesenswert?
• ▲
▼
Bei meinem CAN-BootLoader ist es auch so, dass die Routinen 2mal 
vorhanden sind. Das ist solange kein Problem, wie ich noch Platz für 
meine Applikation habe.

Grundsätzlich könnte man allerdings über eine Funktionspointer-Tabelle 
von der Applikation aus Routinen im Bootloader benutzen. Im GCC Forum 
gibts ein paar Anregungen zu diesem Thema.

Grüße, Matthias

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.