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


von Juergen (Gast)


Angehängte Dateien:

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).
1
Severity  Code  Description  Project  File  Line
2
Error    recipe for target 'sys_startup.o' failed  AES  C:\Users\juerg\Documents\Atmel Studio\7.0\Bootloader\AES\default\Makefile  117
3
Error    recipe for target 'aes.o' failed  AES  C:\Users\juerg\Documents\Atmel Studio\7.0\Bootloader\AES\default\Makefile  117
4
Error    recipe for target 'bootldr.o' failed  AES  C:\Users\juerg\Documents\Atmel Studio\7.0\Bootloader\AES\default\Makefile  117
5
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

von Juergen (Gast)


Lesenswert?

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

von Leo C. (rapid)


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:
1
sys_startup.c
2
aes.c
3
bootldr.c
4
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".

von Juergen (Gast)


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.

von Juergen (Gast)


Angehängte Dateien:

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...

von Leo C. (rapid)


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:
1
  @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

von Rudolph R. (rudolph)


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.

von Juergen (Gast)


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:
1
>avrdude -c stk500v2 -p m2560 -P com7 -U flash:w:AES.hex:i
2
3
avrdude: AVR device initialized and ready to accept instructions
4
5
Reading | ################################################## | 100% 0.01s
6
7
avrdude: Device signature = 0x1e9801 (probably m2560)
8
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
9
         To disable this feature, specify the -D option.
10
avrdude: erasing chip
11
avrdude: reading input file "AES.hex"
12
avrdude: writing flash (260248 bytes):
13
14
Writing | ################################################## | 100% 0.01s
15
16
avrdude: 260248 bytes of flash written
17
avrdude: verifying flash memory against AES.hex:
18
avrdude: load data flash data from input file AES.hex:
19
avrdude: input file AES.hex contains 260248 bytes
20
avrdude: reading on-chip flash data:
21
22
Reading | ################################################## | 100% 0.01s
23
24
avrdude: verifying ...
25
avrdude: 260248 bytes of flash verified
26
27
avrdude: safemode: Fuses OK (E:FF, H:DF, L:FF)
28
29
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.

von Juergen (Gast)


Angehängte Dateien:

Lesenswert?

Uhh...
Habe vergessen das Projekt anzuhängen.
Sorry.

von Juergen (Gast)


Lesenswert?

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

Danke
Jürgen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.