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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.