mikrocontroller.net

Forum: Projekte & Code CAN Bootloader für AVRs und MCP2515


Autor: Fabian G. (kjion) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

da kein CAN Bootloader für AVRs und den MCP2515 zu finden war, habe ich 
selbst einen geschrieben:

Um andere Kommunikation auf dem CAN Bus möglichst wenig zu stören werden 
nur zwei CAN Identifier verwendet, nämlich 0x7ff (PC zu AVR) und 0x7fe 
(AVR zu PC).
Der Code (hauptsächlich in C mit ein bisschen Assembler) belegt im 
Moment ungefähr 1200 Bytes und benötigt damit leider noch ein 1024 Words 
großes Plätzchen im Bootloaderbereich des AVRs. Da aber bisher nur wenig 
optimiert wurde sollte es durchaus möglich sein das auf unter 1024 Bytes 
zu drücken.

Der PC Teil wurde in Python geschrieben und sollte mit allen 
Lawicel-kompatiblen CAN<>PC Adaptern funktionieren (allerdings habe ich 
es nur meinen CAN Debugger ausprobiert).

Getestet ist das Ganze bisher mit ATMega168, ATMega16/32 und ATMega644, 
andere AVRs sollten aber genauso funktionieren.
Auch auf einem voll ausgelasteten Bus im Roboter sind bisher keine 
Fehler aufgetreten. Es dauert nur entsprechend länger, da die beiden 
Identifier die niedrigsten Prioritäten haben.

Geschwindigkeit liegt bei ungefähr 10-15 Sekunden für 20 kByte (je nach 
Puffergröße es AVRs) bei einem "leeren" Bus.

Eine genauere Dokumentation und den jeweils aktuellsten Quelltext gibt 
es unter http://www.kreatives-chaos.com/artikel/can-bootloader

Viel Spaß damit ;-)

Grüße
Fabian

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Hat diesen Bootloader schon mal jemand mit einem anderen Interface zum 
laufen gebracht? Ich habe ein Eigenbau Can Rs232 Interface und es bleibt 
bei der Kommunikation mit dem Bootloader auf dem AVR stecken. Mein 
Interface geht mit einem VC++ Programm (senden/lesen). Von dem Python 
Programm verstehe ich leider nicht viel um den Fehler zu suchen.
Frank


P.s. Gibts schon eine GUI?

Autor: Pepe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Ich wollte mal fragen ob schon einer eine Gui für Win umgesetzt hat?
Es gibt nicht viele Bootloader für den MCP2515.. Ich hab bisher nur den 
hier gefunden.

Autor: Ulrich E. (ulrich_e)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe den Python Code von:
http://www.kreatives-chaos.com/artikel/can-bootloader
auf Github gepushed:
https://github.com/uescher/can-bootloader-python

Falls jemand die zwei Erweiterungsvorschläge von mir kommentieren 
möchte, ist er gerne eingeladen dies auf dem jeweiligen Pullrequest zu 
tun.

Pullrequests:
https://github.com/uescher/can-bootloader-python/pulls

MFG

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,gibt es bezüglich Gui schon was neues? Auf der Kreatives Chaos 
Seite gibts ja leider nix neues.
gruss

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Atmel hat da übrigends auch einen fertigen CAN Bootloader für die 
AT90CAN... AVRs und die ATMEGA16M1/32M1/64M1

http://www.atmel.com/images/doc8247.pdf
http://www.atmel.com/Images/AVR076.zip

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich suche auch einen CAN Bootloader.
Kreatives Chaos scheint echt spitze zu sein! Kriege leider das Phyton 
Programm nicht zum laufen und kann deswegen den Bootloader nicht testen! 
Weiss jemand wie man es macht? Ich habe versucht das Phyton Programm zu 
öffnen. Phyton 2.7 ist installiert. Da das Programm angspasst wurde sind 
die Endungen anders. Ich habe versucht jedes File zu starten, jedes 
Fenster macht auf und macht sofort zu! Ausser bei dem bootloader.py da 
wird eine neue Datei can.pyc erstellt. Diese wird aber beim aufmachen 
auch sofort zugemacht. Was mache ich falsch? Über CMD klappt auch 
nichts!
Ich kenne mich mit Phyton gar nicht aus. Würde aber eine GUI schreiben, 
wenn ich weiss das alles funktioniert und dass es läuft. Habe den CAN 
Debugger auch nachgebaut, kriege diese Phyton Sache einfach nicht zum 
laufen!

Ich würde gerne auch den CAN-Bootloader von Atmel ausprobieren, ist aber 
leider für IAR Compiler! Hat das vielleicht jemand auf Atmel Studio 6 
umgesetzt?

Gruss

Autor: Ulrich E. (ulrich_e)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe es bisher nur unter Linux verwendet.
Aber unter windows müsste es auch gehen.
Was sind den die genauen Ausgaben wenn du über die Kommandozeile python 
bootloader.py mit den entsprechenden Parametern aufrufst?

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.