Forum: Mikrocontroller und Digitale Elektronik Speicher frei aber Page voll


von Bernd (Gast)


Lesenswert?

Hallo zusammen,

ich programmiere gerade eine Software in MPLAB 8 mit dem HIGH-TECH 
Compiler für einen PIC16. Ich modifiziere das Projekt nur, darum der 
veraltete Compiler. Laut dem Memory Usage Gauge von MPLAB habe ich nun 
noch grob 20% Speicher frei (sowohl Flash Memory als auch Data). Sobald 
ich nun aber ein Paar Befehle hinzufüge, bekomme ich diese 
Fehlermeldung:

Error   [1347] ; 0. can't find 0xD words (0xd withtotal) for psect 
"strings" in segment "CODE" (largest unused contiguous range 0xEC)

Eine kleine Google Recherche hat ergeben, dass der gesamte speicher zwar 
noch nicht voll ist, aber dafür eine Page. Aber in C habe ich ja gar 
keinen Einfluss darauf, welche Page wofür genutzt wird. Was kann man da 
machen? Könnte ein anderer Compiler den Code vielleicht besser 
verteilen?

Diese Tipps aus dem aus dem Microchip Forum habe ich bereits beherzigt:
- use the smallest possible datatypes (best 8bit-variables)
- use local variables and functions.
- avoid big arrays.
- try to use reusable functions.

Grüße
Bernd

von Bernd (Gast)


Lesenswert?

Die Pro Version des Compilers hat das Problem behoben. Plötzlich sind 
fast 50% des Speichers frei und auch das Page Problem ist erstmal gelöst 
:)

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.