Suche Arduino-Bootloader-Hex-Code für AT90CAN128

OP #7896510

Hallo,

ich möchte einen AT90CAN128 über die serielle Schnittstelle programmieren. Dafür suche ich einen geeigneten Bootloader.

Im Internet habe ich "ATmegaBOOT_168_at90can.hex" und "AVR-CAN_UART.hex" gefunden und mit einem Tremex AVR-Prog geflasht. Anschließend habe ich versucht, mit folgendem Befehl ein LED-Blink-Programm zu programmieren:

avrdude -F -V -c arduino -p c128 -P /dev/ttyUSB0 -U flash:w:led.hex

Beide Male mit dem gleichen Ergebnis:

avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00 avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00 avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00 avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00 avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

avrdude done. Thank you.

Wenn ich mit obigen Befehl einen Arduino Uno programmiere, funktioniert alles perfekt.

Hätte jemand für mich einen geeigneten Bootloader?

Vielen Dank!

OP #7896524

Nachtrag

Ich habe eine Olimex AVR-CAN-Platine.

Wenn ich das Blink-Programm mit dem AVR-Prog herunterlade, erhalte ich folgendes:

avrdude -F -V -c avrispmkII -p c128 -P usb -U flash:w:0_blink_can128.hex:i

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9781 (probably c128) avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed To disable this feature, specify the -D option. avrdude: erasing chip avrdude: reading input file "0_blink_can128.hex" avrdude: writing flash (236 bytes):

Writing | ################################################## | 100% 0.08s

avrdude: 236 bytes of flash written

avrdude: safemode: Fuses OK (E:FF, H:99, L:FF)

avrdude done. Thank you.

#7896660

Pin F6 und F7 richtig beschaltet bzw. beim Reset auf dem richtigen Pegel gehabt?

DTR-nach-Reset-Schaltung eingebaut?

Beim Aufspielen des Bootloaders die Fuses richtig gesetzt? BOOTSZ=10, BOOTRST=0 oder so ähnlich?

Baudrate auf 19200?

OP #7897035

Wenn mit den Pins F6 und F7 die gemeint sind, an denen auch ADC6 und ADC7, bzw. TDO und TDI anliegen: die habe ich gar nicht beschalten.

Ich steuere /RST über DTR und einen 100 nF-Kondensator an. Schutzschaltung 2 x 1N4148 nach 5 V und 0 V.

Meine Fuses sind wie oben gesetzt. Laut fusecalc sind BOOTSZ0 = 0, BOOTSZ1 = 0 und BOOTRST = 1.

Ich probiers mal mit BOOTRST = 0.

#7897055

Michael schrieb:

Kein Unterschied.

Ich würd' halt einfach mal die Fuses so setzen, wie sie im Makefile vom Bootloader angegeben sind. Und ein kleiner Blick in den Bootloader-Quelltext offenbart, für was die beiden Pins gut sind: Damit wählst du aus, ob nach dem Reset der Bootloader auf UART0 oder auf UART1 lauscht. Oder ob der direkt zum Hauptprogramm springt.

Und mit ein paar angepassten #defines kriegst du den Bootloader auch so eingestellt, dass er zu deiner Hardware passt, wenn die default-Settings im HEX-File, was du runtergeladen hast, nicht passen.

OP #7897515

Kann es - und es kann gut.

Unter Linux aber nur auf i386. Ich habe aber AMD64. Das letzte Mal, als ich Software installiert habe, die auf i386 läuft, hat mir das den PC so zugemüllt, dass ich ihn neu aufgesetzt habe.

Ich mag M$ nicht und möchte es vermeiden, wo es nur geht.

(Firma: Gast) #7897527

Michael schrieb:

Kann es - und es kann gut.

Unter Linux aber nur auf i386. Ich habe aber AMD64. Das letzte Mal, als ich Software installiert habe, die auf i386 läuft, hat mir das den PC so zugemüllt, dass ich ihn neu aufgesetzt habe.

Ich mag M$ nicht und möchte es vermeiden, wo es nur geht.

AVRdude spricht auch flip

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über ein Jahr alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.