mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit MBLAB 6.3 beim linken zweier C-Files


Autor: Rainer Solalala (oldwabbel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: dds5 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Rainer Solalala (oldwabbel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: dds5 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Rainer Solalala (oldwabbel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.