mikrocontroller.net

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


Autor: Tobias Eckhardt (doenges2)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AT91SAM7S mit OpenOCD programmieren -> Lock-Bits entfernen

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>bin gerade dabei meine Diplomarbeit vorzubereiten
darf ich mal fragen was du studierst?

gruss
gerhard

Autor: Tobias Eckhardt (doenges2)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tobias Eckhardt (doenges2)
Datum:

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

Autor: Tobias Eckhardt (doenges2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Gerhard: Wieso diese Frage?

Gruß

Tobias

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tobias Eckhardt (doenges2)
Datum:

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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tobias Eckhardt (doenges2)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Dank, der aber steht Peter zu.

Autor: Tobias Eckhardt (doenges2)
Datum:

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

Autor: Andreas Böhme (a_boehme)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

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

Was machst Du denn ?

Autor: Marius S. (lupin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas hast du die irgendwo online? oder kannst mal erzählen was du 
gemacht hast?

Autor: Andreas Böhme (a_boehme)
Datum:

Bewertung
0 lesenswert
nicht 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

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.