Forum: Mikrocontroller und Digitale Elektronik AT91SAMS -> main.bin mit 20 k zu groß?


von Tobias E. (doenges2)


Lesenswert?

Hallo,

bin gerade dabei meine Diplomarbeit vorzubereiten und habe dazu einigige 
.h Dateien die die main.bin auf nahezu 20k aufblasen! und programmiert 
habe ich noch gar nichts!
Bei der Übertragung an den ARM bekomme ich dann gesagt, daß das Lock 
Error Bit gesetzt ist:

Error:   at91sam7.c:257 at91sam7_wait_status_busy(): status register: 
0x20005
Error:   at91sam7.c:259 at91sam7_wait_status_busy(): Lock Error Bit 
Detected, Operation Abort


ist die main nur 3 k groß läuft alles einwandfrei!
Die Library endian.h + inttypes.h scheinen das Ganze so groß zu machen!
Wißt ihr warum?


Gruß

Tobias

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

AT91SAM7S mit OpenOCD programmieren -> Lock-Bits entfernen

von gerhard (Gast)


Lesenswert?

>bin gerade dabei meine Diplomarbeit vorzubereiten
darf ich mal fragen was du studierst?

gruss
gerhard

von Tobias E. (doenges2)


Lesenswert?

Hallo Andreas,

danke für den Tip, allerdings ist das nicht der Grund, da ich die Zeilen 
schon in meinem Script habe!
Sobald ich wirklich nur die Libraries hinzufüge klappt es nicht mehr, da 
die main.bin bei nahezu 20k diese Fehlermeldung hervorruft!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> und habe dazu einigige .h Dateien die die main.bin
> auf nahezu 20k aufblasen!

.h-Dateien blasen gar nichts auf. In denen werden nur Dinge deklariert 
bzw. definiert, die keinen Programmcode erzeugen.

von Tobias E. (doenges2)


Lesenswert?

Das dachte ich auch!
Aber das ist wirklich die einzige Änderung, die ich vornehme.

von Tobias E. (doenges2)


Lesenswert?

@Gerhard: Wieso diese Frage?

Gruß

Tobias

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Die Library endian.h + inttypes.h scheinen das Ganze so groß zu machen

Das sind keine Libraries, sondern nur Headerdateien.

Könnte es sein, daß Du Debugcode erzeugst? Dann ist die Größe erklärlich 
- die enthält noch Debuginformationen, die aber nicht die eigentliche 
_Code_größe und folglich auch nicht den belegten Programmspeicher 
beeinflussen.

von Tobias E. (doenges2)


Lesenswert?

wie genau finde ich das den heraus?
Allein die main.bin ist 20k groß!

von Peter D. (peda)


Lesenswert?

Tobias Eckhardt wrote:
> wie genau finde ich das den heraus?
> Allein die main.bin ist 20k groß!

Laß ein Map-File erzeugen und schaus Dir an.


Peter

von Tobias E. (doenges2)


Lesenswert?

Danke Rufus für dem Tip!

Anstatt

#define __inline static inline
#include "lib_AT91SAM7S256.h"

in mein LCD -Library einzufügen hatte ich nur

#include "lib_AT91SAM7S256.h"

zund schon habe ich alle möglichen Funktion aus dieser Library in meiner 
map gesehen!

Vielen Dank für die schnelle Hilfe und eine Gruß aus Köln

Tobi

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Danke für den Dank, der aber steht Peter zu.

von Tobias E. (doenges2)


Lesenswert?

Durch dich hatre ich den Gedanken und Peter zeigte mir den einfacheren 
Weg, also auch vielen danke Peter.

von Andreas B. (a_boehme)


Lesenswert?

Hi,

ich habe auch meine Diplomarbeit über nen AT91SAM7X256 geschrieben (nun 
fast fertig)...

Was machst Du denn ?

von Marius S. (lupin) Benutzerseite


Lesenswert?

Andreas hast du die irgendwo online? oder kannst mal erzählen was du 
gemacht hast?

von Andreas B. (a_boehme)


Lesenswert?

Hi,

das Resultat ist momentan unter http://deltawave.dyndns.org:81/ 
verfügbar.

Es handelt sich hierbei um ein Steuerungsmodul mit Ethernet-Anbindung.

Hier eine kleine Übersicht:

AT91SAM7X256
+ Atmel 32 MBit Dataflash für Webseiten (FAT12 Dateisystem)
+ 8 analoge, 8 digitale I/O's
+ RTL8201 Phyceiver für Ethernet Netzwerk

Hauptproblem der Entwicklung war nicht die Hardware, sondern die 
Software.. Ich habe für die Steuerung auf keine vorhandene Lösung zurück 
gegriffen, sondern einen komplett neuen Protokoll-Stack geschrieben.

Gruß,
Andreas

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.