Hallo alle
Ich möchte gerne das angehängte File zu einem HEX-File builden. Doch ich bekomme Errors. Ich verwende die neuste Version der MPLAB X IDE. Ich verwende den pic-as(v2.5) compiler Danke für Inputs!
|
Anzeige
|
Kann assembler file nicht buildenHallo alle Ich möchte gerne das angehängte File zu einem HEX-File builden. Doch ich bekomme Errors. Ich verwende die neuste Version der MPLAB X IDE. Ich verwende den pic-as(v2.5) compiler Danke für Inputs!
Gast
#7735018
Da fehlt die Floating Point Library "FP.TXT". Nach der hatte ich schon gesucht, kann sie aber nirgends finden im web.. Ich habe das File inzwischen gefunden. Wie muss ich die TXT-Datei in die Library integrieren? Wohl nicht als Textdatei, oder?
Ja und sonst noch? wäre ja schon spannend hier. Wie gesagt habe ich das File FP.TXT gefunden. Ich kenne mich aber noch nicht wirklich mit MPLAB IDE aus. Deshalb weiss ich nicht, wie ich diesen Text zu einer Library für mein assembler file machen kann. Ich sehe ja in Zeile 1261:
Doch egal, ob ich FP.TXT in Source Files oder in Header Files lege, kommen die Errors trotzdem
Gast
#7735078
Zeig die Library. Im Anhang findet ihr die library Warum hat ne library eine .TXT Endung?
Gast
#7735092
Einfach ins selbe Verzeichnis wie deinen Quellcode packen, dann lässt sich das problemlos assemblieren. Ich hab das Hexfile mal angehängt.
Das darf die haben. Die dürfte sogar .CYBLORD heißen, aber das will ja niemand. Hab ich gemacht, aber bei mir siehts immer noch so aus:
Gast
#7735109
Zeig mal den Anfang des Output-Fensters. Hier den Anfang des Output-Fensters
Nur war das nicht die Frage.
Dann würde ich mal vorschlagen, mit der Behebung des allerersten Fehlers zu beginnen. Da passt doch etwas ganz grundsätzlich nicht. Gut möglich, dass all die anderen Fehler nur Folgefehler sind.
Gast
#7735129
Ich kenne die aktuelle MPLAB X zu wenig, verwende noch die schon 12 Jahre alte MPLAB 8.84, und damit läuft das problemlos. Haben die einen ganz neuen Assembler mit anderer Syntax eingebaut? In deinem ersten Bild wird der Assembler mit -mcpu=PIC16F628A, vermutlich von deiner Projekt Definition, aufgerufen. Im .asm-File in Zeile 176 wird der processor auf 16f628 definiert. Angeblich beißt sich das. Ich würde einfach mal Zeile 176 auskommentieren und schauen was dann passiert :-) Edit: Und ggf die richtige .inc Datei includen falls sich der A und der nicht A unterscheiden.
Es ist gar keine Library, aber seit der Arduinoisierung können das viele nicht mehr differenzieren. Weil es ja den einen kleinen Ausnahmefall gibt, daß in C++ tatsächlich Code in einer Headerdatei (*.h) untergebracht sein kann, deswegen muss man die bislang klare Differenzierung zwischen Sourcedatei, Headerdatei, Objektdatei und Library in die Tonne treten. Hilft ja auch total bei der Fehlersuche, so etwas. Früher (tm) hätte diese Datei *.inc geheißen.
Gast
#7735162
Die gabs schon als Arduino noch in weiter Ferne lag, und sowas wurde auch damals schon Library genannt. ; RCS Header $Id: fp24.a16 2.7 1996/10/07 13:50:29 F.J.Testa Exp $ ; $Revision: 2.7 $ ; PIC16 24 BIT FLOATING POINT LIBRARY
Dann nennen wir doch fortan einfach alles Library. Das macht das Leben viel einfacher, und so Nitpickeligkeiten wie das, was ein Linker macht, die sind für die KI da, damit muss man sich nicht mehr beschäftigen.
Gast
#7735166
Depp.
Das ist doch Unsinn. Auch in C kann man "Code" in Headerdateien schreiben (bei allem, bei dem man inlining forcieren möchte, muss man das sogar). Und in Asm natürlich sowieso. Wenn schon rummeckern, dann am C-Konzept. Denn das hätte hergeben müssen, das in Headern kein Code sein kann und kein Code sein muss. Das hat C nicht leisten können, weil es halt nur ein wahnwitzig aufgeplusterter Macro-Assembler ist. Und naja: C++ hat's dann von C geerbt...
Nö. Die hätte einfach *.asm geheißen. Weil: da wird tatsächlich Code erzeugt. Das entspricht einer *.c-Datei (du scheinst ja sowieso nix anderes zu kennen, deswegen diese Erläuterung für dich). Das Äquivalent zu einer *.h-Datei im C/C++-Umfeld nennt man im Asm-Umfeld dann allerdings tatsächlich bevorzugt *.inc. Das macht klar, dass hier eben kein Code erzeugt werden soll. Code-Konstrukte sollten in solchen Dateien nur als Macros auftauchen, was Funktionen mit force inline in C entspricht. Alles richtig, aber wohl unwichtig für das konkrete Problem des TO. Da kommt es darauf an, was diese IDE tut und was der verwendete Assembler tut. Ich kenne beide nicht, aber im Prinzip gibt es zwei Varianten:
Gast
#7735192
So weit kommt es beim TE ja gar nicht, bei meiner älteren IDE schon. Ich hab der aber auch erzählt, dass es um einen PIC16F628 geht, nicht PIC16F628A. Allerdings gäbe es da bei der älteren Version nur eine Warnung, nicht einen Abbruch.
Das spricht dann eindeutig dafür, dass der verwendete Assembler keine linkbaren Code erzeugt. Der TO sagt:
Was'n das? Gehört das zur IDE? Ist die darauf vorbereitet? Ist das überhaupt ein Assembler? Fragen über Fragen...
Gast
#7735202
Assembler
Der TE kennt den Unterschied wohl nicht. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|