www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bootloader über CAN


Autor: Steffen Hausinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Beeblebrox (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: MNR (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.