Forum: Mikrocontroller und Digitale Elektronik PIC & Assembler: Sectionsfehler


von Ulla E. (superole)


Lesenswert?

Hallo Leute,

habe bis jetzt nur mit dem PIC16f84 zu tun gehabt. Hatte diesen in C 
programmiert. Wollte mich aber mal mit den größeren befassen. Habe 
PIC16f876 versucht in Assembler zu programmieren. Leider bekomme ich 
eine Fehlermeldung:

"Error - section 'org_1' can not fit the absolute section"

Kann mir jemand weiterhelfen? Muß ich einen speziellen Speicherbereich 
im Compiler festlegen?

Vielen Dank für eure Hilfe

von Jens Plappert (Gast)


Lesenswert?

Org_1  ???

Assemblerprogramme fangen bei mir immer mit Org 0x00 an

0x04 is der Interuptvektor

von hasso (Gast)


Lesenswert?

poste mal deinen asm code.

von Ulla E. (superole)


Angehängte Dateien:

Lesenswert?

hier mal der code. habe diesen im netz gefunden und wollte mal schauen, 
ob der funktioniert. leider bekomme ich die schon beschriebene 
fehlermeldung...

danke für eure hilfe

von Schubi (Gast)


Lesenswert?

Womit arbeitest du denn?
Ein Build mit MPLAB funktioniert problemlos...

von Severino R. (severino)


Lesenswert?

Kannst Du nicht mal das ganze Projekt posten?

Ich vermute, die Meldung stammt vom Linker.

von Ulla E. (superole)


Angehängte Dateien:

Lesenswert?

hi,

hier das Projekt. Die Fehlermeldung stammt tatsächlich vom linker...

Kann sein, dass es ein blöder Fehler ist, aber ich arbeite erst seit 
kurzem mit MPLAB

danke

von Severino R. (severino)


Lesenswert?

Entferne das Linker-Script-File aus Deinem Projekt.

Dann klappt es.

Die Anweisungen "org" dürfen nur zusammen mit absolutem Code verwendet 
werden. Linker-Scripts verwendet man hingegen mit relozierbarem Code.
(siehe Hilfe zu MPASM, Stichwort "org").

von Ulla E. (superole)


Lesenswert?

hmmm, hat irgendwie nicht geklappt. du meintest, dass ich das 
linkerscript löschen soll im projekt, richtig?

werde mal ne nacht drüber schlafen...
kann man sonst noch etwas falsch machen bei MPLAB? habe handbücher zum 
c18 c compiler; da muss man nämlich das linker file einbinden...

trotzdem danke, werde morden mein glück weiter versuchen

von Severino R. (severino)


Angehängte Dateien:

Lesenswert?

Ja, wenn Du mit C arbeitest, brauchst Du ein Linkerscript.
Der Linker muss ja Deinen Code mit dem Startup-Code und mit den 
Libraries linken.
Wenn Du aber nur ein Assembler-Modul hast und auch keine Libs 
verwendest, brauchst Du keinen Linker.

Ich meinte wirklich Entfernen (Rechtsklick - "Remove"), nicht das File 
löschen.

Beiliegend das assemblierte Projekt.

Viel Spass

von Ulla E. (superole)


Lesenswert?

Vielen Dank für die Hilfe,

jetzt hat es auch bei mir geklappt!!!

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.