Forum: Mikrocontroller und Digitale Elektronik HILFE Brauche hilfe bei einem PIC 16F877


von Christian M. (gaga1983)


Lesenswert?

Hallo
Ich habe Probleme mit meinem Comepiler bzw. Mikrocontroller.
Also, ich programmiere einen Pic 16F877. Als Entwicklungsumgebung 
benutze ich MPLAP und den ICD2 Debugger. Als Compiler benutze ich die 
kostenlose freie Version von HI TECH (Picc Lite v9.50). Ich weiß, dass 
der Compiler Einschränkungen bezüglich der Quellcodegröße hat, welche 
ich aber nicht überschritten habe. Mein Programm läuft einwandfrei und 
wird auch compeliert. Jetzt das Problem. Nachdem mein Programm eine 
gewisse Größe hat (ca. 1k) und ich eine weiter Variable (int) anlege 
kommt folgende Fehlermeldung :
//////////////////////////////////////////////////////////////////////// 
////////////////////////////////////////////////////
Advisory[1207]   : some of the command line options you are using are 
now obsolete Advisory[1208]   : use --help option or refer to the user 
manual for option details Error[593]   : can't find 0x1 words (0x1 
withtotal) for psect "xtemp" in segment "BANK0" BUILD FAILED: Tue Sep 25 
09:12:41 2007 
//////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////
Ich verstehe das nun so, dass der Datenspeicherbank 0 “voll ist”. Aber 
was kann ich jetzt dagegen machen? Bzw. warum nutzt der Controller nun 
nicht die bank2.
Ich habe auch schon auf den HP von „Fernando Heitor“ „Sprut“ und einigen 
anderen nachgeschaut aber dazu konnte ich nichts finden. Wer kann mir 
helfen?
Vielleicht bringt euch das was. Wenn ich die Variable (int) wieder 
entferne kommt folgende Aussage vom Compiler :
//////////////////////////////////////////////////////////////////////// 
////////////////////////////////////////////////////////////
Memory Usage Map:
Program space:
CODE                 used   4BCh (  1212) of   800h words   ( 59.2%) 
CONST                used     0h (     0) of   800h words   (  0.0%) 
ENTRY                used     0h (     0) of   800h words   (  0.0%) 
STRING               used     0h (     0) of   800h words   (  0.0%) 
Data space:
BANK0                used    5Dh (    93) of    60h bytes   ( 96.9%) 
BANK1                used     0h (     0) of    50h bytes   (  0.0%) 
COMBANK              used     0h (     0) of    10h bytes   (  0.0%) 
EEPROM space:
EEDATA               used     0h (     0) of   100h bytes   (  0.0%)  ID 
Location space:
IDLOC                used     0h (     0) of     4h bytes   (  0.0%) 
Configuration bits:
CONFIG               used     0h (     0) of     1h word    (  0.0%) 
Summary:     Program space        used   4BCh (  1212) of   800h words 
( 59.2%)     Data space           used    5Dh (    93) of    B0h bytes 
( 52.8%)     EEPROM space         used     0h (     0) of   100h bytes 
(  0.0%)     ID Location space    used     0h (     0) of     4h bytes 
(  0.0%)     Configuration bits   used     0h (     0) of     1h word 
(  0.0%)  Loaded F:\Christian\Diplomarbeit\Projekte\Test1.cof. BUILD 
SUCCEEDED: Tue Sep 25 09:16:59 2007 
//////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////// 
////////////////////////////////////////////////////////////////

ICH VERZWEIFLE WAS SOLL ICH TUN??
VIELEN DANK IM VORAUS!!!!!!!!

von Stefan B. (Gast)


Lesenswert?

Vielleicht musst Du blos dem Compiler mitteilen dass diese Variable in 
Bank1 oder wo auch immer stehen soll!

Beim CC5X-Compiler z.B. kann man optional jeder Variable angeben in 
welcher Registerbank diese "stehen" soll.

Gibt es bei dem Compiler den du Verwendest ein Handbuch? Dort sollte es 
stehen.

Ich glaube nicht, dass der Compiler dies automatisch für dich erledigt

Stefan B. aus Linz

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.