Forum: Compiler & IDEs avr-gcc / Atmel Studio -> make mit VSCode ausführen?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von tgif (Gast)


Bewertung
0 lesenswert
nicht lesenswert
avr-gcc unter Windows enthält kein make.
Atmel Studio enthält ein älteres make: "C:\Program Files 
(x86)\Atmel\Studio\7.0\shellUtils\make.exe"

Damit klappt es sogar mit dem Bauen - offenbar sind im Makefile alle 
Pfade enthalten:
\Release>"C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe"
Building file: .././main.c
Invoking: AVR/GNU C Compiler : 5.4.0
"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe"  -x c -funsigned-char -funsigned-bitfields -DNDEBUG  -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.3.229\include"  -O3 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -mmcu=attiny85 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.3.229\gcc\dev\attiny85" -c -std=gnu99 -MD -MP -MF "main.d" -MT"main.d" -MT"main.o"   -o "main.o" ".././main.c"
.././main.c:357:6: warning: return type of 'main' is not 'int' [-Wmain]
 void main(void) {
      ^
Finished building: .././main.c


Wie kann ich das nun mit VSCode per Hotkey ausführen?
Und avrdude - kommt das besser als weiteres "target" ins Makefile oder 
separat als Hotkey in VSCode?

von tgif (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Der Aufruf braucht noch "all" als Argument, sonst werden keine 
brauchbaren Dateien erzeugt...

von Vincent H. (vinci)


Bewertung
0 lesenswert
nicht lesenswert

von tgif (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Danke, seh ich mir an!

von tgif (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Nach dem ersten Absatz folgt leider ein spezifisches Beispiel für 
TypeScript, mit irgendwelchen Automatiken - besser dann hierhin:
https://code.visualstudio.com/docs/editor/tasks#_custom-tasks

Dann wird's fummelig; relative Pfadangaben funktionieren nicht so 
richtig.
Und ${cwd} ist nicht gleich "cwd".

.vscode/tasks.json
{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "build",
            "command": "C:\\Program Files (x86)\\Atmel\\Studio\\7.0\\shellUtils\\make.exe",
            "args": [
                "all",
            ],
            "options": {
                "cwd": ".\\Release"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "type": "shell",
            "label": "flash",
            "windows": {
                "command": "${cwd}\\Release\\avrdude.exe",
                "args": ["-pt85", "-cusbasp", "-B10", "-Uflash:w:GccApplication1.elf"                ],
                "options": {"cwd": "Release"},
            },
            "problemMatcher": [
            ],
            "group": "none",
            "presentation": {
                "reveal": "always"
                //, "panel": "new"
            }
        }
    ]
}

build: STRG SHIFT B
flash: STRG ALT T

Geht aber bestimmt noch schicker.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.