mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR231 (AES Bootloader) in AS7


Autor: Juergen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Ich versuche seit ein paar Stunden den AVR231 Bootloader in Atmel Studio 
7 zum laufen zu bekommen.
Leider ohne Erfolg.
Die Fehlermeldungen sind etwas dürftig bzw. ich komme da nciht weiter, 
da beim Doppelclick immer ins Makefile gesprungen wird, wo ich, gelinde 
gesagt, keine Ahnung habe (aber daran arbeite).
Severity  Code  Description  Project  File  Line
Error    recipe for target 'sys_startup.o' failed  AES  C:\Users\juerg\Documents\Atmel Studio\7.0\Bootloader\AES\default\Makefile  117
Error    recipe for target 'aes.o' failed  AES  C:\Users\juerg\Documents\Atmel Studio\7.0\Bootloader\AES\default\Makefile  117
Error    recipe for target 'bootldr.o' failed  AES  C:\Users\juerg\Documents\Atmel Studio\7.0\Bootloader\AES\default\Makefile  117
Error    recipe for target 'usart.o' failed  AES  C:\Users\juerg\Documents\Atmel Studio\7.0\Bootloader\AES\default\Makefile  117

Ich habe schon mehrere Bootloader heruntergeladen, aber irgendwie sind 
die alle so alt, das ich mit AS7 nicht weit komme.
Der Bootloadeer, der meine Anforderungen am ehesten erfüllt ist der aus 
AVR231, daher auch dieser Thread.
Habe auch die Forensuche bemüht, aber ich komme nicht weiter...

Laufen soll das ganze auf einem Arduino Mega 2560, allerdings als 
normales Entwicklerboard und nicht als Arduino...

Schonmal ein herzliches Dankeschön an alle...

Gruß
Jürgen

Autor: Juergen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uhh...
Sehe grad, das die .zip-Datei zweimal drangehängt wurde.
Sind beide identisch.

Autor: Leo C. (rapid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Juergen schrieb:
> Die Fehlermeldungen sind etwas dürftig bzw. ich komme da nciht weiter,
> da beim Doppelclick immer ins Makefile gesprungen wird, wo ich, gelinde
> gesagt, keine Ahnung habe (aber daran arbeite).

In der Makefile-Zeile 117 wird jeweils avr-gcc mit den folgenden 
Dateien aufgerufen:
sys_startup.c
aes.c
bootldr.c
usart.c

Leider habe ich keine Ahnung von Atmel Studio, und weiß deshalb nicht, 
warum nur der Output von make erscheint, und nicht der des Compilers.

"sys_startup.c" compiliert bei mir ohne Fehler, aber den anderen Dateien 
fehlt jeweils die Include-Datei "aesglobal.h".

Autor: Juergen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo und Danke fürs drüberschauen.

Ich habe mittlerweile herausgefunden, das nach dem Importieren des 
orioginalen AS4 Projektes als default WinAVR eingestellt ist.
Habe jetzt die aktuelle Version von WinAVR installiert.
Keine Ahnung, ob ich da auf dem richtigen Weg bin...

Die fehlenden Dateien konnte ich mit den Kommandozeilentools generieren. 
Also aeskeys.h und bootldr.h.

Autor: Juergen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin ein ganzes Stück weiter gekommen.
Der Code lässt sich jetzt problemlos compilieren, aber ich hatte noch 
keine Möglichkeit, den zu testen.
Wenn ich weiter komme, dann melde ich mich.

Kleiner Wermutstropfen: die Größe liegt bei 2266 Bytes. Könnte etwas 
kleiner sein...

Autor: Leo C. (rapid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Juergen schrieb:
> Habe jetzt die aktuelle Version von WinAVR installiert.

Wird mit Atmel Studio 7 denn kein aktueller Compiler (Atmel AVR 8-bit 
Toolchain) mitgeliefert?
WinAVR wurde schon ewig nicht mehr aktualisiert. Der darin enthaltene 
Compiler ist ebenfalls uralt:
  @echo Invoking: AVR/GNU C Compiler : 4.3.3

Juergen schrieb:
> Kleiner Wermutstropfen: die Größe liegt bei 2266 Bytes. Könnte etwas
> kleiner sein...

Aktueller Compiler würde schon etwas helfen.
Die Toolchain kann man jedenfalls auch getrennt herunter laden:
http://www.atmel.com/tools/atmelavrtoolchainforwindows.aspx

Autor: Rudolph R. (rudolph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin dazu übergegangen alte Projekt neu anzulegen, anstatt die von 
AS7 konvertieren zu lassen.
Ein bisschen Copy/Paste und Setup ist deutlich stressfreier als das was 
AS7 da mitunter so treibt.
Je nach Projekt muss ich dann vielleicht die ISR Funktionen umbennen und 
der neuere GCC hat noch ein Warnungen zusätzlich.

Autor: Juergen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soo...
Bin jetzt von WinAVR weg.
Das Programm lässt sich compilieren und nach dem flashen geht auch ein 
Update (test.hex, ist schon verschlüsselt).
Nur jetzt fangen die Probleme an. Scheinbar wird das Programm beim 
Update nicht wirklich geflasht.
Habe zum rudimentären Debuggen ein paar Ausgaben per uart_puts/uart_putc 
eingefügt.

Wers mal mit einem Arduino Mega versuchen möchte:
AES.hex:
I - Initialisieren des Bootloaders
D - Download-Modus
R - geflashtes Programm wird gestartet

test.hex
Init OK! - uart wurde initialisiert (mehr genutzte Funktionen gibts noch 
nicht im Pwogramm)
P - die Schleife in main.c zur Rücksendung des eimpfangenen Zeichens 
wird gestartet

avrdude gibt beoim fläshen vom AES.hex folgendes aus:
>avrdude -c stk500v2 -p m2560 -P com7 -U flash:w:AES.hex:i

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9801 (probably m2560)
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 "AES.hex"
avrdude: writing flash (260248 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 260248 bytes of flash written
avrdude: verifying flash memory against AES.hex:
avrdude: load data flash data from input file AES.hex:
avrdude: input file AES.hex contains 260248 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 260248 bytes of flash verified

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

avrdude done.  Thank you.

Ist das so richtig, das avrdude als Programmgöße 260248 Bytes ausgibt?
Das Programm ist nach dem Compilieren genau 2200 Bytes groß. Das käme 
hin, wenn man den freien Programmspeicher (ohne Bootloader) plus 
Bootloader nimmt.

Autor: Juergen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Uhh...
Habe vergessen das Projekt anzuhängen.
Sorry.

Autor: Juergen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falls das mal irgendjemand am laufen hat wäre es schön, wenn er das hier 
posten würde.

Danke
Jürgen

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.

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