Antworten

Der Beitrag verursachte die folgenden Fehler, die behoben werden müssen:
Achtung: In diesem Thema wurde seit 120 Tagen nichts mehr geschrieben.
Wenn Sie nicht absolut sicher sind, dass Sie hier antworten möchten, starten Sie ein neues Thema.
Einschränkungen: 8 pro Beitrag (8 verbleibend), maximale Gesamtgröße 8,79 MB, maximale Individualgröße 1 MB
Entfernen Sie den Haken der Dateianhänge, die gelöscht werden sollen
Klicken Sie hier oder ziehen Sie Dateien hierher, um sie anzuhängen.
Anhänge und andere Optionen
Verifizierung:
Bitte lassen Sie dieses Feld leer:
Geben Sie die Buchstaben aus dem Bild ein
Buchstaben anhören / Neues Bild laden

Geben Sie die Buchstaben aus dem Bild ein:

Tastenkürzel: Alt+S Beitrag schreiben oder Alt+P für Vorschau

Zusammenfassung

Autor ^Cobra
 - 15.06.2024, 22:05:14 CEST
Schön zu hören das es läuft!

Bei mir dauerts noch etwas, Fußboden ist grade in Arbeit, danach noch Wände dämmen, dann innen Einrichtung basteln und dann der Umzug der Werkstatt.
Träume bereits pic Projekte da drin mal endlich fertig zu kriegen. :D
Gruß cobra
Autor picass
 - 14.06.2024, 17:56:19 CEST
MÄNNER !
Da leuchtet eine LED und das nicht per Zufall ! Was ,ne Freude!
Mit MPLAB v6.20 und  XC8 v2.46 und unter ,,Projekt Properties" Einstellung für ,,Compiler Toolchain" pic-as gabs keine Meckermeldung und stattdessen begann das ganz große Glühen!

Mitnichten möchte ich behaupten, dass nun eine strahlende, ganz neue Zukunft beim Programmieren anbricht. Stattdessen bin ich einfach nur erleichtert, dass nicht alles umsonst war. Da hatte ich 3 Tage lang gerungen, gestern auch fleißig Dokumente studiert wie
- Microchip_Unified_Stamndard_Library_Reference_Guide (586 Seiten) und
- MPASM-to-MPLAB_XC8_PIC-Assembler_Migration-Guide (44 Seiten) und
- MPLAB_XC8_C_Compiler_Legacy_User_Guide (582 Seiten)
- ach ja: die ,,Installings" auch noch

und tatsächlich den einen oder anderen verwertbaren Hinweis gefunden.....
Aber nix...., kein einziges komplettes Beispiel. Immer nur 3 bis 5 Zeilen für einen speziellen Befehl/Ausdruck, aber nix für den Überblick.

Ist sicher individuell verschieden, aber wenn es nicht gerade um z.B. die passende Deklarierung für einen Port-Pin oder meinethalben Befehle für Interrupt-Routinen geht, dann bringt mir das aller dickste Datenbuch wenig bis nichts. Aber so ein komplettes, nachvollziehbares und vor allem funktionierendes kleines Progrämmchen....... , das ist für mich Gold wert. Einmal durch die von einem Freundlichen geöffnete Tür hindurch und dann sind der Nebel und der Druck weg.
Gaaaaanz herzlichen Dank für deine Umschreib-Bemühungen, Volker.
Und dank natürlich auch an Cobra. Schön, wenn man nicht alleine im Dustern verbleibt.
War auch kurz vor dem Hinschmeißen, alleine schon, weil einfach zuviel Zeit drauf gegangen war. Das ganz normale Leben ,,abseits" der einzig wichtigen MicroProzessor-Arbeit fordert auch mal Tribut. So ging heute Morgen endgültig eine Rollladen-Steuerung in die Binsen. Nein, nicht meine stonealte Steuerung, vielmehr versagte die in dem gleichalten Rollladenmotor verbaute Elektronik und vergass immer wieder eine Endposition. Das führte heute zu einem üblen Aufwickeln der Rollladenstäbe auf der Motor-Achse. Also alles raus reißen, neue Rollladenpanzer vermessen und bestellen und – ach ja – die Welle mit dem defekten Motor muss auch noch raus. Für dieses heutige Manöver hatte die Hausfrau eine sehr deutliche Prämisse ausgegeben. Da erhellt mir jetzt das umwerfende, gleißende Licht der LED die vorige Dunkelheit in meinem Keller-Labor. Ein perfekter Trost. Nochmal Danke.
Grüße, picass
hallowelt.jpg
Autor vloki
 - 14.06.2024, 10:01:59 CEST
Das mit den Linker Einstellungen liest man am besten in der Doku nach ;-)

Beispiele sind im Dokument .../xc8/v2.xy/docs/MPLAB_XC8_PIC_Assembler_User_Guide_for_Embedded_Engineers.pdf

Für PIC18 passt:
PSECT resetVec,class=CODE,reloc=2   ; define "-presetVec=0h" in custom linker options resetVec:

Ich häng mal mein PICkit3_Starter_18F14K22 Projekt an, bei dem ich allerdings nicht über das 2. Beispiel hinaus gekommen bin.
Autor ^Cobra
 - 14.06.2024, 00:13:53 CEST
Wenn ich das richtig verstehe kann man wohl
In den linker Einstellungen  die variable so definieren :
-presetVec=0h

Ich würde die Zeile 

PSECT resetVec,class=CODE,delta=2
Löschen und stattdessen beim Code die Adresse hinschreiben 
  Code 0x00 (oder 0h)

Gruß 
Cobra
Autor picass
 - 13.06.2024, 11:08:06 CEST
Kurz vor dem Ziel ? ::)

Meine Fragen nach der Einsatzumgebung wurden in Volkers Prog-Beispielen beantwortet. Demnach passte MPLAB v6.20 und XC8 v2.46. Auch dies: über "Projekt öffnen" konnte auf den Ordner gezeigt werden, das MPLAB typisch graue Muster tauchte auf und die MPLAB-IDE-Oberfläche bevölkerte sich mit der Auswahl aller Beispiele. Allerdings gabs eine Meckermeldung, dass "device family Packs" upgreating erforderlich sei. Nach dessen Zustimmung kams zur Bevölkerung. Und dann ließ sich nach kurzem Gefummel das erste Beispiel ohne Fehler debuggen. Das war der erste Erfolg.

Is klar, den Prozessor 16F1829 hatte ich nicht im Vorrat, also musste umgestellt werden auf einen PIC18F13K22. Dann ging eine ziemliche Orgie los an Fehlermeldungen. Die alte Config stimmte ja nicht mehr, in der Folge hatte ich Diverses versucht und nun zum Schluss - leider noch keinem guten -blieb nach Umstellungen auf den neuen µC über die "Projekt Properties" sichtbar ein Fehler übrig: der "program entry point" wäre mehr als einmal vergeben.
Mag sein, dass auch noch auf das alte PIC16f1829.inc-File gezeigt wird - so ein anderer Hinweis. Jetzt noch den Entry-Punkt knacken. Dafür fehlt mir im Moment noch das Verständnis für die Syntax.

In der angehängten Text-Datei findet sich oben das erschütternd kurze Programm, dadrunter die dazu passende Fehlermeldung. Wer hilft beim Zieleinlauf?
Grüße, picass
fehlertext7.txt 
Autor picass
 - 13.06.2024, 09:24:19 CEST
Hallo Volker!

Habe nun auch versucht, ein Prog aus deiner Sammlung zu Laufen zu bringen, aber ach - , es blieb beim Versuch. Die Fehlermeldungen habe ich grad' nicht zur Hand, kann sie aber nach reichen. Aber ganz grundsätzlich brauche ich eine Beschreibung, wie das Ganze denn hand zu haben ist. Damit meine ich zunächst: welche MPLABX-Version u. welche XC8-Version hattest du genutzt, rsp. welche wären brauchbar? Dann das praktische Starten eines Projektes. Welcher Weg ist richtig:
- ein neues Projekt anlegen mit dem genannten µC, dann das fertige "main.c"-file aus der Vorgabe als Source-Code "relativ" dazu fügen und das dann debuggen?
oder alternativ:
- auf "Projekt öffnen", auf den Ordner mit den Vorgaben zeigen, und dann debuggen?

Meine spontane Begeisterung über die tollen Beispiele unter der o.g. Webside "breadboard" ist totaler Ernüchterung gewichen. Die haben derart grundlegende Fehler eingebaut, rsp. ausgeführt, dass deren Beispiele für Assembler-Lernwillige völlig unbrauch wurden. Inzwischen rate ich ab. Gründe dazu später.
Grüße, picass
Autor vloki
 - 10.06.2024, 16:58:52 CEST
Hi picass,

ich sehe in den ganzen Beispielen immer noch steinzeitliches EQU für "Variablen"

Wir hatte ja schon mal davon geträumt, die PICkit3 Starter Beispiele für Einsteiger neu mit dem picasm zu machen.
Die PIC16F1829 Beispiele hatte ich sogar fast komplett durch, aber leider keine überarbeitete Doku.
:-( also für blutige Anfänger nicht wirklich nutzbar )-:

Ich hänge das 16F-Projekt trotzdem mal hier an.
Die Lessons werden über "Set Project Configuration" ausgewählt. (Dropdown in der Symbolleiste)
Autor picass
 - 08.06.2024, 10:15:11 CEST
Diese Webside wäre meine Empfehlung: "CircuitBread"
Laut eigener Beschreibung, Zitat: "CircuitBread is an internal project for SwellFox, a collection of engineers, videographers, 3D artists, motionographers, designers, developers, translators and content writers that typically work with electronic manufacturers and distributors" Zitat-Ende

Die Namensgebung ist nicht zufällig, Schaltungsentwürfe auf "Kreis-Brettern" werden bevorzugt angeboten. Das weitere Angebot ist sehr vielfältig, insbesondere gibt es dort mehr als interessante Tutorials, viele Hilfen für Beginner. Da nennt sich eine Serie an Tutorials "Microcontroller Basics" und verwendet einen einfachen PIC und Assembler-Sprache. Die Erläuterungen sind aber so ausführlich, dass auch Anwender anderer Sprache mit-lernen können. Diese Serie besteht aus etwa 20 Lektionen, beginnt "ganz vorne" und führt durch die einzelnden Funktionsblöcke, rsp. Programmier-Features des PICs. Die ausführlich besprochenen einzelnen Programme gibt es sowohl in der eher alten Fassung des MPLABS als auch - Tusch: in der neuesten Fassung des MPLAB Assemblers, also derjenigen, welcher mit MPLAB X XC8 erstellt wurden. Die Totorials liegen hier: https://www.circuitbread.com/tutorials/series/microcontroller-basics/p2

Das erinnert in seiner Art an die sehr gelungenen Tutorials von Microchip, welche mit dem PICkit3 mitgeliefert wurden. Hier also ein würdiger Nachfolger für die neueste MPLAB Assembler-Version! Hoch erbaulich für diejenigen, welchen ein Umstieg auf die neue Version als zu kompliziert erschien.
Grüße, picass

Similar topics (3)