Forum: Mikrocontroller und Digitale Elektronik Größe Programmspeicher PIC


von Sven (Gast)


Lesenswert?

Hallo,
ich muß noch einmal ne ganz dumme Frage stellen:
Wieviel Programm passt in einen Pic?   :-)

Ich habe ein Programm geschrieben, was immer größer wurde. Zuerst
passte es nicht mehr auf einen 16F84, dann bin ich auf den 16F628
ausgewichen, der ja 2048*14 bit orientiert ist. Für mein .hex-File
sehe
ich eine Größe (in den Eigenschaften des Windoofs-Explorer) von 2633
Bytes. Nach einer ähnlichen Frage, die ich hier schonmal stellte und
den Antworten darauf dachte ich:

2633 Byte * 8 bit (PC-Format)= 21064 bit (wurde mir hier damals so
vorgerechnet....)

21064 / 14 bit (PIC-Format) = 1504 Byte im Pic-Format. Aber auch in
diesen PIC mit 2k Speicher passt das Proggi nicht mehr, ich nehm jetzt
den 16f873.

Wo ist da mein Denkfehler??

Tschöö Sven

von Dominik S. Herwald (Gast)


Lesenswert?

Kleiner Tipp:
In MPLAB sieht man nachdem man MPASM hat drüberlaufen lassen in
"Window->Absolute Listing" ganz ganz unten aufgelistet, wieviel
Speicher belegt wird.

Also wozu die Dateigröße ansehen, die vermutlich sowieso nicht die
Größe im ROM des PIC wiederspiegelt?!

Nimm einfach nen 16F876, der hat 8K Speicher und da sollteste lange mit
hinkommen...

MfG,
Dominik S. Herwald

von Sven (Gast)


Lesenswert?

Hi Domonik,

bei mir ist im Menü Window dieser Punkt leider nicht vorhanden. Muß man
da noch etwas vorher einstellen?

Sven

von Benedikt (Gast)


Lesenswert?

Das ist ne Hex Datei...
Bei einer Hex Datei werden zusätzliche Infos gespeichert wie z.B.
Checksumme usw.
Eine Bin Datei (also das was später im uC gespeichert wird) ist etwa
44% so groß, wie die Hex Datei. Zumindest bei 8 bit. Bei 14bit müsste
es ähnlich sein.
Wenn du von Hex Dateigröße (in Bytes) auf Words (14bit=1 Word) im PIC
umrechnest, dann vermute ich, dass nur etwa 30% der Hex Dateigröße der
Größe des erforderlichen Speicherplatzes im PIC entsprechen.

von Dominik S. Herwald (Gast)


Lesenswert?

@Sven:

1. Ich heisse Dom_i_nik

2. Welche Version von MPLAB benutzt du?
(Ich hab die 5.7, da MPLAB 6 meine alte FW vom Picstart nicht
unterstützt)

Aber du siehts ja auch wenn du den PIC programmieren willst in dem Hex
Fenster welche Speicherzellen belegt sind... da kann man ungefähr
abschätzen wieviel schon belegt ist - "Programm Memory", 3FFF
bedeutet dass die Speicherzelle nicht belegt ist...

MfG,
Dominik S. Herwald

von Sven (Gast)


Lesenswert?

Hallo Dominik,

sorry für den Tippfehler..   :-)

Ich habe die Version 6.4 von MPLAB. Das mit dem Program Memory ist ein
guter Tip!
Aber danach müsste mein Proggi auch noch im 16F84 laufen, wenn ich das
mal so ansehe. Aber als ich an die kritische Stelle kam, hab ich mal
nur paar Warteschleifen eingefügt, die definitiv ok waren, und das
Proggi lief nicht mehr. Daher dachte ich halt, der Speicher ist zu
klein, aber laut dieser Anzeige müsste im PIC noch genug frei sein.
Naja.. irgendwie schwer nachzuvollziehen. Trotzdem danke für die
Antworten, ich nehm halt erstmal den großen Pic, da läuft es ;-)

Sven

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.