Hallo Leute, schon beim ersten Versuch die 1K-Grenze des CC5X-Compilers mit MPLAB zu umgehen, stoße ich (als Hobby-Programmierer) beim PIC 16F872 auf nachfolgende zahlreiche und gleichartige Fehlermeldungen wie diese: Message[302] C:\PIC\BEISPIELE\16F872\TEST_V001.ASM 556 : Register in operand not in bank 0. Ensure that bank bits are correct. Die Register sind z.B.: ADIE, EEADRH, EEADR, ...u.v.a! Woran mag das liegen? Ich habe unter Source Files zwei *.asm Files angelegt, unter Header Files das P16F872.inc hinzugefügt und bei Linker Scripts den 16f872.lkr ausgewählt. Doch beim Versuch "Build all" unter Project, erscheinen im Output´-Fenster zahlreich zuvor beschriebene Fehlermeldungen. Hat jemand ein Tip für mich? Ciao Oldwabbel
Gast
#223161
Abgesehen davon, dass MPLAB 6.2 schon relativ alt ist... Du schreibst Fehlermeldungen wie diese: Message[302] C:\PIC\BEISPIELE\16F872\TEST_V001.ASM 556 : Diese Meldung wird zu Recht als "Message", also Nachricht, bezeichnet. Es handelt sich nämlich lediglich um den Hinweis, dass das angesprochene Register nicht auf Registerbank 0 liegt und deshalb die Bankbits im Statusregister (könnten RB0 und RB1 heissen) richtig gesetzt sein müssen. In "Poject", "Build Options" kann lässt sich für die Assembler Dateien unter "Categories" = Output der Error and Warning level einstellen. Die Meldungen lassen sich auf diese Weise ausschalten. Dieter
Hallo Dieter, danke für den Hinweis, doch nach der Vielzahl von (Warn-)Meldungen folgt am Schluß noch die folgende Error-Meldung, die die Erzeugung eines Hex-Files unterbindet. Copyright (c) 2003 Microchip Technology Inc. Error - section 'PROG' can not fit the section. Section 'PROG' length=0x00000666 Errors : 1 Habe jedoch keine Ahnung, wo ich hier nach dem "Fehler" suchen kann!!! Ciao Oldwabbel
Gast
#223163
Hallo Rainer, das mit der Linkersteuerung ist nicht ganz trivial. Vielleicht hilft ein Blick in das manual, ist allerdings ein 2,6MB Download. http://ww1.microchip.com/downloads/en/DeviceDoc/33014J.pdf Dieter
Hallo Dieter, inzwischen bin ich weiter gekommen. Ursache für diese (und andere) Fehlermeldungen war eine nicht gerade sorgfältig gestaltete Linker-Datei meines eingesetzten PICs. In dieser 16F872.lkr überschnitten sich z.T. die Adressbereiche oder waren andererseits viel zu knapp ausgelegt. Trotzdem Danke für deine Hilfe Rainer