EEprom groß genug?

OP #504242
Lesenswert?

Hallo. Ich schreibe gerade im assembler, und bange darum, das der 
Speicher des mega8515 dafür reicht. woran erkenne ich, wie groß das 
programm ist? muss ich alle befehel im quellcode zählen und die bytes 
zusammenzählen !?! Oder muss die Hexfile einfach von der größe rein 
passen?
danke für die Hilfe
OP #504248
Lesenswert?

hey, ich habe gerade entdeckt, wenn ich debugge bekomme ich ja immer enn 
kleinen bricht, und da steht unteranderem folgendes drinne:

ATmega8515 memory use summary [bytes]:
Segment   Begin    End      Code   Data   Used    Size   Use%
---------------------------------------------------------------
[.cseg] 0x000000 0x0000de    222      0    222    8192   2.7%
[.dseg] 0x000060 0x000060      0      0      0     512   0.0%
[.eseg] 0x000000 0x000000      0      0      0     512   0.0%


gibt used 222 an, das 222 byte gebraucht werden?
Gast #504275
Lesenswert?

...aber was gibt dann die 222 an? wenn ich einen befehl aism code 
rausnehme
sinkt der wert genau um die anzahl, wieviele bytes der befehl braucht.
??...

Dann ziehe mal eine logische Schlussfolgerung, wenn PRO BEFEHL WENIGER 
diese Zahl um zwei Bytes sinkt....
OP #504277
Lesenswert?

dann wird die zahl wohl die größe des codes in byte angeben, aber dann 
kommt das mit den 2,7 % ja überhaupt nicht mehr hin, weil der 8515 nur 
512 Bytes EEprom hat.

222   =  2,7 %
8,148 =  1 %
814,8 = 100 %

814,8 = 512 ???? neee

Schlussfolgerung Das datenblatt oder der Assembler lügt. Oder beide :-D


???
#504285
Lesenswert?

Die meisten Befehle beötigen 1 Wort (2 Byte).
Ein paar bestehen auch aus 2 Worten (4 Byte).
Welcher Befehl wieviel Speicher benötigt, siehst Du im AVR Befehlssatz 
(AVR instruction set).

Solange Du keine Strings oder konstante Daten verwendest, musst Du Dir 
über die Größe Deines Programms wenig Sorgen machen.

Stefan
OP #504296
Lesenswert?

Was sind denn Strings und konstante Daten? Interessiert sei Ich habe 
gerade alles bis hier hin verstande und komme gut zurecht, aber das kenn 
ich noch nicht. Gibs dazu tutorials oder so?

Wie steht denn nun die Byte anzahl mit der % zahl in verbindung? isser 
EEprom voll, wenn ich 100% habe, oder wenn ich da ne 512 stehen habe?
#504331
Lesenswert?

@Lukas:
Du solltest Dich mal mit den verschiedenen Speicherarten des AVRs 
vertraut machen. Dabei könnte das Datenblatt helfen. Auch das hiesige 
Tutorial kann da sehr hilfreich sein.

Soviel vorweg: EEPROM ist für Daten, die gelegentlich (nicht zu oft, 
EEPROM hat Verschleiß) geändert werden. Programme landen nicht im EEPROM 
sondern im Flash. Neben Flash und EEPROM solltest Du auch Register 
(untere und obere, mit Konstanten ansprechbare), I/O-Bereich 
(bitorientierter und byteorientierter), extended-I/O (nicht beim 8515), 
internes SRAM und externes SRAM auseinanderhalten können, sonst wird das 
mit dem Programmieren nix.

...
#504336
Lesenswert?

Jupp wrote:
> Und noch ergänzend, auch der Flash-Speicher unterliegt einem Verschleiß.

Ja sicher doch, sogar bedeutend höher als EEPROM. Aber Programme 
wechselt man ja nicht allzu oft. Daher hielt ich es nicht für nötig, 
darauf hinzuweisen.

Trotzdem meine ich, dass sich Lukas das selbst erarbeiten muss 
(Tutorial?), es wäre unfair den Anderen Anfängern gegenüber, die sich 
ihr Grundwissen auch selbst erarbeiten.

Ich wollte ihm mit meinem Text lediglich zeigen, dass er etwas tun muss.

...
#504407
Lesenswert?

Lukas -- wrote:
> OK, wodurch erarbeitet man sich das denn dann außer durch tutorials
> fragen denken datenblatt nachschaun ausprobieren und wieder lesen...

Die Richtung stimmt. Allerdings sollte der Punkt "verstehen" noch mit 
aufgenommen werden.

Tutorials können nur die ersten Schritte erklären und vor bekannten 
Stolperfallen warnen. Den Rest lernt man, indem man mit kleinen, 
überschaubaren Projekten beginnt (Du wirst staunen, was man da alles 
falsch machen kann) und sich schrittweise steigert. Der Blick in fremde 
Programme (um zu verstehen, nicht um zu kopieren ohne zu verstehen) kann 
auch sehr hilfreich sein. Das Datenblatt des betreffenden Controllers 
braucht man praktisch immer, die einzelnen Typen sind einfach zu 
unterschiedlich ausgestattet. Auch die Online-Hilfe des AVR-Studio kann 
manches Problem lösen.

Viel Erfolg...

...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren