Visual Studio Code, MPLAB extension, avrasm2

OP (Firma: TravelRec.) Persönliche Seite #8085517
Lesenswert?

Hallo Forengemeinde,

hat unter obiger Konstellation schon einmal jemand ein AVR-Projekt wie im Microchip-Studio erstellt und zum Laufen gebracht? Das System ist Windows 11. Ich habe ein neues Projekt (hier: Workspace) eingerichtet. Ich bin den Anweisungen des Projektwizards gefolgt, habe einen Controller und einen Projektordner ausgewählt und habe nichts weiter konfiguriert. Mir wird als Toolchain avrasm2 angeboten, welche vom letzten Microchip-Studio 7 noch auf dem Rechner installiert ist. Die main.asm wurde wie beim Microchip-Studio automatisch im Projektordner angelegt. Und auch das passende Curiosity nano Board wurde als Tool gefunden. Wenn ich den Build-Prozess starte (auf den Hammer drücken im MPLAB-Reiter), wird ein Fehler zurückgegmeldet, dass die entsprechende *.hex-Datei nicht angelegt bzw. gefunden werden kann. Das wars. Weiter komme ich nicht. Gibt es noch Hoffnung?

: Bearbeitet durch User
OP (Firma: TravelRec.) Persönliche Seite #8085549
Lesenswert?

Sorry, aber das sind alles böhmische Dörfer für mich. Und ja, D:...existiert. Den Projektordner hat der Projektwizard ja selbst angelegt, nachdem ich ihn auf den übergeordneten Ordner auf D:\ habe zeigen lassen. Wie gesagt, habe ich manuell nichts verändert. Wenn ich mit Microchip-Studio ein neues Projekt erstelle, kann ich danach auch sofort die main.asm kompilieren. Ich hoffte, das würde hier auch erst einmal grundsätzlich gehen. Wenn ich aber manuell noch was ändern muss, dann wüsste ich nicht wie. Sowohl das VS-Studio als auch die MPLAB Extensions sind frisch installiert und nicht verbogen, nur dass das Studio auch auf D:\Programme\ installiert wurde. Dort im Nachbarordner liegt auch das Microchip-Studio.

OP (Firma: TravelRec.) Persönliche Seite #8085562
Lesenswert?

Es wäre, glaube ich, hilfreich, wenn jemand mal ausprobiert, was ich getan habe und dann versucht, das Ganze ans Laufen zu bringen.

Es gibt diese CMakeLists.txt

1
# This CMakeLists.txt is generated.
2
# Do not modify directly.
3
# If you want to customize cmake behavior create a user.cmake in this
4
# directory and add it to your version control system.
5

6
# format v1.00
7
# {
8

9
cmake_minimum_required(VERSION 3.24.0)
10
set(CMAKE_SYSTEM_NAME "Generic")
11

12
project(AVR64EA48_Test2_default_project LANGUAGES )
13

14
include("${CMAKE_CURRENT_LIST_DIR}/.generated/main.cmake")
15

16
if (EXISTS ${CMAKE_CURRENT_LIST_DIR}/user.cmake)
17
    include(user.cmake)
18
endif()
19

20

21
# }
Angehängte Dateien:
: Bearbeitet durch User
#8085600
Lesenswert?

Erstelle in dem Projektordner eine neue Datei user.cmake.

Folgendes hinzufügen:

1
# Erstellt das fehlende Verzeichnis vor dem eigentlichen Build-Schritt
2
execute_process(
3
    COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_BINARY_DIR}/out/AVR64EA48_Test2"
4
)

Danach Cache löschen und ein neues Build starten.

Jetzt schauen was die Ausgabe ausgibt.

Gruß D. T.

: Bearbeitet durch User
OP (Firma: TravelRec.) Persönliche Seite #8085816
Lesenswert?

Also hallo nochmal, da hat sich genau gar nichts verändert. Ich würde mich freuen, wenn jemand mit VS-Studio mit mplab extension ein "leeres" default-AVR-Assembler-Projekt mit der avrasm2.exe vom letztveröffentlichten Microchip-Studio erstellen kann, welches sich kompilieren lässt. Wenn sich, wie jetzt, nicht mal die 2 Zeilen Start-Code direkt aus dem Wizard kompilieren lassen, meine ich, dass da was faul ist. Danke euch!

(Firma: 1984now) #8085830
Lesenswert?

Knut B. schrieb:

Ich würde mich freuen, wenn jemand mit VS-Studio mit mplab extension ein "leeres" default-AVR-Assembler-Projekt mit der avrasm2.exe vom letztveröffentlichten Microchip-Studio erstellen kann, welches sich kompilieren lässt.

Also, irgendwie verstehe ich den Sinn der Aktion nicht. Wozu brauchst du die mplab-Extension bei der Sache? Wenn du eine existierende Studio-Installation hast, dann hast du doch schon alles da, was nötig ist, um mit VS-Code eine funktionierende Build-Umgebung zu bauen. Allenfalls Debugging würde noch weitere Maßnahmen erfordern.

OP (Firma: TravelRec.) Persönliche Seite #8085839
Lesenswert?

Und wenn ich mir ein aktuelles Eval-Board mit dem Controller einer neuen Serie kaufe und der darauf befindliche Debugger nicht mehr unterstützt wird? Solange der Debugger zumindest als Laufwerk erkannt wird, kann ich wenigstens per Drag and Drop die *.hex-Datei draufladen. Fuses umstellen ist dann aber nicht möglich. Ich hätte es gern einfach, so wie früher. Sorry, wenn ich damit nicht mehr ganz auf der Höhe der Zeit bin.

#8085849
Lesenswert?

Knut B. schrieb:

Also hallo nochmal, da hat sich genau gar nichts verändert. Ich würde mich freuen, wenn jemand mit VS-Studio mit mplab extension ein "leeres" default-AVR-Assembler-Projekt mit der avrasm2.exe vom letztveröffentlichten Microchip-Studio erstellen kann, welches sich kompilieren lässt. Wenn sich, wie jetzt, nicht mal die 2 Zeilen Start-Code direkt aus dem Wizard kompilieren lassen, meine ich, dass da was faul ist. Danke euch!

D. T. schrieb:

Jetzt schauen was die Ausgabe ausgibt.

Da Du nicht bereit bist mir die Ausgabe zu veröffentlichen, kann man nur raten.

Die CMakeLists.txt solltest Du nicht ändern.

Ersetze den Code aus der user.cmake wie folgt:

1
# Holt den Namen des Projekts dynamisch ein
2
set(TARGET_NAME "AVR64EA48_Test2_default_project")
3

4
# Erzwingt das Erstellen des Ordners direkt vor dem Kompilieren
5
if(TARGET ${TARGET_NAME})
6
    add_custom_command(
7
        TARGET ${TARGET_NAME} PRE_BUILD
8
        COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_BINARY_DIR}/out/AVR64EA48_Test2"
9
        COMMENT "Erstelle Ausgabeordner vor dem Build..."
10
    )
11
endif()

Cache löschen und ein neues Build starten.

Fehlermeldung Posten nicht vergessen. Steht dort immer noch exakt dasselbe cd /D D:/... oder hat sich der Pfad verändert?

Poste auch den Inhalte der .generated/main.cmake zu finden in dem Projektordner.

Gruß D. T.

: Bearbeitet durch User
#8085850
Lesenswert?

Knut B. schrieb:

Und ja, ich würde auf VS-Code umsteigen, wenn es denn funktionieren würde.

Evtl. hilft das ja weiter:
https://github.com/microchip-pic-avr-examples/avr64ea48-breathing-led-mplab-melody/tree/1.0.0

Das ist ein offizielle MCHP-Project für deinen Prozessor, das zumindest mit MPLAB-X läuft. Angeblich. Von das aus auf VSC zu kommen sollte dann (hoffentlich) leichter sein.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren