MPLAB x für Linux

Begonnen von pic18, 24.10.2021, 19:11:23 CEST

⏪ vorheriges - nächstes ⏩

pic18

Hallo, ich habe vor kurzem Linux installiert und möchte MPLAB x ide benutzen. MPLAB x habe ich installiert, aber ich bekomme keinen C-Compiler installiert. Kennt sich jemand mit Linux aus?
Ich habe folgende Zeile schon installiert
sudo apt-get install libc6:i386 libx11-6:i386 libxext6:i386 libstdc++6:i386 libexpat1:i386

nun habe ich versucht den CCSLoad Programmer zu installieren, ich habe diesen heruntergeladen, das Verzeichnis entsprechend verändert und versucht diesen zu installieren. (Nach Anleitung: http://www.ccsinfo.com/downloads/readme_ccsload.txt).
Leider kommt ständig die Fehlermeldung das der Befehl nicht gefunden wird, siehe screenshot.

Hat jemand eine Ahnung was ich hier falsch mache? Bzw wie ich einen C-Compiler installieren kann?
Vielen Dank Pic18

pic18

ich habe jetzt versucht den XC8 Compiler zu installieren, leider wird hier auch kein Befehl gefunden. Irgendwas mache ich da falsch. Das Verzeichnis müßte aber stimmen.

vloki

#2
Hi,
ich schätze mal, du musst das X.XX mit der Versionsnummer deiner Installationsdatei ersetzen.
Bzw. der Dateiname muss dem der von dir runter geladenen entsprechen!

(vermutlich xc8-v2.32-full-install-linux-x64-installer.run)

pic18

Danke, das war der Fehler, wie ich die x.XX reinkopiert habe weiß ich nicht. Nun habe ich das nächste Problem. Nach Start von MPLABx.ide kommt die Meldung das ich den CCS C Compiler nicht installiert habe. Wenn ich installieren Ja drücke, dann läd er eine Exe-Datei herunter, welche ich unter Linux nicht öffnen kann. Bei Nein macht er weiter und ich kann offenbar ein xc8 Projekt laden. Wenn ich MPLABx neu starte kommt wieder die Meldung das der CCS C Compiler nicht installiert ist.

vloki

#4
Anscheinend gibt es nur CCS Compiler für die Kommandozeile in Linux, nicht integrierbar in die IDE.

-> https://www.ccsinfo.com/faq.php?page=linux

pic18


pic18

#6
so, nun habe ich es geschafft mein C18 Projekt fehlerfrei zu kompilieren.
Ich mußte einige Verzeichnisse von der Headerdatei ändern also z. B. mußte ich #include "lcd.h" anstatt #include "lcd/lcd.h" schreiben, obwohl sich lcd.h tatsächlich im Unterverzeichnis lcd/ befindet. In Microsoft mußte ich das Verzeichnis aber richtig angeben.  :o. Verstehe wer will? Mein Problem ist nun: ich bekomme dann auf den Windowsrechner die Fehlermeldungen ::)

was ich auch nicht verstehe, das Microchip nicht in der Lage ist die Dateien richtig zu bezeichnen. Linux unterscheidet nämlich zwischen Groß- und Kleinbuchstaben.

da steht in der p18cxxx.inc Datei folgendes:

  IFDEF __18F4685
    INCLUDE <p18F4685.INC>

und tatsächlich heißt die Datei aber p18f4685.inc

Mit Benutzerrechte und Schreibrechte Änderungen konnte ich die Datei entsprechend umbenennen. Was aber nicht eine zufriedene Lösung ist da ich entweder alle Dateien umbenennen müßte oder die ganze inc-Datei(en) umschreiben muß.

was mich auch noch stört, das beim Start die Meldung: CCS C Compiler nicht installiert kommt und ich diese Meldung nicht weg bekomme, den Compiler bekomme ich nicht installiert, da es ihn offenbar unter Linux nicht gibt.
Bildschirmfoto von 2021-11-02 17-08-07.png

vloki

#7
Wozu benötigst du die Assembler Include Dateien denn?
Soweit ich mich erinnere, habe ich immer nur #include <p18cxxx.h> eingebunden.
Da passen die Namen.

Bei ältere Demoprojekten von Microchip war es relativ normal, dass die Linux Regeln nicht berücksichtigt waren.
Groß- und Klein­schrei­bung, bzw. Pfade waren gewöhnlich mit \ anstelle von /

Das mit dem lcd Include Pfad ist wirklich seltsam. Das habe ich noch nie gesehen.
Es handelt sich um eine selbst geschriebene Header Datei, die sich in einem Unterverzeichnis
Namens lcd innerhalb des Projektverzeichnisses befindet?

Hast du noch ein Projekt in der IDE geöffnet, welches den CCS Compiler verwendet hat?
ansonsten wüsste ich auch nicht, warum die IDE danach suchen sollte.
Kannst aber auch mal im Menü Window->Options->Embedded->Build Tools
schauen, ob da irgend welche Relikte rumgammeln.

pic18

Die Assembler Include Dateien benötige ich um Zeitkritische Interrupt Routinen auszuführen, auch habe ich verschiedene Zeitschleifen laufen, die ich in Assembler geschrieben habe. Da kann ich die Taktzyklen genau abzählen. Außerdem habe ich auch einen Bootloader integriert, den ich aber evtl. aus dem Projekt nehmen kann. Übrigens das HEX- Format kann ich auswählen, die Warnung, das extended Mode nach Zeitablauf nicht mehr funktioniert kommt auch nicht. Mal sehen, was später ist.
Nein, ich habe eigentlich überhaupt kein anderes Projekt geöffnet, welches den CCS Compiler verwendet.

pic18

Ich habe Probleme bzw. Fragen zu MPLAB X ide. Bei der alten MPLAB ide (ohne x) hatte ich den erzeugten Assembler Code direkt anschauen können, (so weit ich mich erinnere sogar mit Speicheradresse) ist das bei der X-Version auch möglich? Ich habe auch die benutzte bzw noch freie Speichergröße direkt gesehen, dies finde ich auch nicht. Mit dem Simulator konnte ich die Speicherinhalte sehen wie geht es hier? Ich benutze den C18 Compiler.

Ich habe mal versucht das ganze mit dem debuger zu machen. Aber das scheitert daran das ich Extended Mode benutze. Und ich XINST mit set configuration bits nicht dauerhaft gesetzt bekomme. Fehler: The program file could not be loaded: The program was built using extended CPU instructions, but the Extended CPU Mode configuration bit is not enabled. Außerdem benutze ich einen Bootloader, wo ich alle Config.-Bits gesetzt habe.

Übrigens die Meldung von #3: "Nach Start von MPLABx.ide kommt die Meldung das ich den CCS C Compiler nicht installiert habe" bekomme ich auch nicht weg. (benutze Linux)

vloki

Hi,
den erzeugten Code kann man anzeigen über das Menü:
-Window
  -Target Memory Views
    -Program Memory

Was meinst du mit "set configuration bits" genau?
Den Dialog zum Erzeugen des Codes, welchen du dann in dein Sourcefile einfügst?

pic18

Danke, das kommt schon ziemlich nahe. So wie ich mich erinnere konnte man in der alten IDE den Quelltext sehen, also das C-programm und unten drunter den erzeugten Assemblercode. Geht das hier auch?
Zitat von: vloki am 21.02.2022, 10:11:10 CETWas meinst du mit "set configuration bits" genau?
Ich hatte versucht über
-Production
-set configurations bits
dieses Bit zu setzen damit die Fehlermeldung nicht kommt, aber dieses setzt sich immer wieder zurück.

Ich habe jetzt gesehen unter
-Windows
-Target Memory Views
-configurations bits
kann man dieses Bit auch setzen, es stellt sich aber auch wieder zurück

vloki

Zitat von: pic18 am 22.02.2022, 22:15:25 CETIch habe jetzt gesehen unter
-Windows
-Target Memory Views
-configurations bits
kann man dieses Bit auch setzen, es stellt sich aber auch wieder zurück
Nein, da kann man die Bits nicht setzen, sondern nur den Code erzeugen,
den man dann in eine Sourcedatei des Projektes einfügen muss, damit sie gesetzt werden!

http://microchip.wikidot.com/tls0101:config-bits-lab-rev-3-00

Alles Einstellen
-> Generate Source Code to Output (anklicken)
-> [Strg]+[a]    (im aufgehenden Fenster alles kopieren)
-> in einer Sourcedatei einfügen

vloki

Zitat von: pic18 am 22.02.2022, 22:15:25 CETDanke, das kommt schon ziemlich nahe. So wie ich mich erinnere konnte man in der alten IDE den Quelltext sehen, also das C-programm und unten drunter den erzeugten Assemblercode. Geht das hier auch?
->Window
  ->Debugging (musst dafür natürlich im DebugMode sein)
    ->Disassembly

Komplettes Disassembly-Listing (nur Text keine Syntax-Hervorhebung):
->Window
  ->Files
    ->disassembly
       ->listing.disasm

Schnellantwort

Name:
Verifizierung:
Bitte lassen Sie dieses Feld leer:

2 Beeren und 2 Bananen. Welche Farbe hat die Banane ?:
Tastenkürzel: Alt+S Beitrag schreiben oder Alt+P für Vorschau

Similar topics (5)