Skocz do zawartości

Zmiana położenia pliku wynikowego ".hex" w Arduino IDE?


Pomocna odpowiedź

Napisano (edytowany)

Witam. Chciałbym ustawić Arduino tak, żeby plik wynikowy był wpisywany do folderu szkicu.

Czy jest taka możliwość? Jak?

A przynajmniej kopię .

Edytowano przez astony

Cześć,

plik Hex powstaje w takiej lokalizacji:

C:\Users\TwojUser\AppData\Local\Temp\arduino_build_xxxx

patrz zrzut ekranu:

ArduinoIDE.thumb.png.3b50c9ab24ef49a01d0ff76fad364918.png

Wystarczy go przekopiować jakimś prostym skryptem (np. bat)

Pozdrawiam

  • Lubię! 1
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

15 minut temu, FlyingDutch napisał:

arduino_build_xxxx

 

15 minut temu, FlyingDutch napisał:

Wystarczy go przekopiować jakimś prostym skryptem (np. bat)

O ile się wie co to jest xxxx (a to już nie jest takie proste)

 

(edytowany)

Właśnie chodzi o to, żeby ułatwić ścieżkę dostępu (zautomatyzować) .

Edytowano przez astony
2 godziny temu, ethanak napisał:

 

O ile się wie co to jest xxxx (a to już nie jest takie proste)

 

Powstaje tylko jeden taki katalog = więc wystarczy sprawdzić czy jest "arduino_build_" i jakieś cyfry na końcu. da się to zrobić skryptem.

Pozdrawiam

1 minutę temu, FlyingDutch napisał:

Powstaje tylko jeden taki katalog

Niekoniecznie - nie wiem jak pod Windowsem, ale pod Linuksem mam jeden katalog dla jednego projektu, a przecież mogę mieć kilka otwartych (np. dwa komunikujące się układy).

Pod Linuksem owszem będzie to trywialne - zwykłym findem znajdę najnowszy plik hex. Tyle że o ile zrozumiałem pytanie, chodzi o to aby plik wynikowy automagicznie lądował w katalogu z programem (tzn. katalogi build, cache i tak dalej). Był nawet taki request, ale panowie dewelopierze uznali że /tmp jest najlepsze.

  • Lubię! 1
(edytowany)

PlatformIO pod VSCode (i pewnie pod Atomem też) umieszcza .hex i .elf w katalogu z projektem. Drzewko wygląda tak (nas interesuje firmaware.hex i firmware.elf):

│   .gitignore
│   platformio.ini
├───.pio
│   ├───build
│   │   │   project.checksum
│   │   └───uno
│   │       │   .sconsign37.dblite
│   │       │   firmware.elf
│   │       │   firmware.hex
│   │       │   libFrameworkArduino.a
│   │       │   libFrameworkArduinoVariant.a
│   │       │
│   │       ├───FrameworkArduino
│   │       │       ...
│   │       └───src
│   │               main.cpp.o
│   └───libdeps
│       └───uno
├───.vscode
│       c_cpp_properties.json
│       extensions.json
│       launch.json
├───include
│       README
├───lib
│       README
├───src
│       main.cpp
└───test
        README

 W bonusie dostajemy świetny edytor + InteliSense.

 

3 godziny temu, Belferek napisał:

Najciemniej pod latarnią 🙂 - to może znasz jeszcze równie szybki sposób na uzyskanie listingu asm?

To też można zrobić odpowiednio konfigurując projekt (platformio.ini) akurat niedawno robiłem coś takiego pod Teensy 3.6 - tutaj jest link do tematu na forum PlatformIO co trzeba ustawić, żeby dostać takie rzeczy: https://community.platformio.org/t/can-the-compiler-be-set-to-output-the-assembly-that-would-be-used/11872. Nie zbadałem tematu na tyle, żeby powiedzieć coś więcej, ale może komuś się to przyda. 

 

Generalnie PlatformIO pozwala na dość dużą ingerencję w build system - można usuwać i dodawać flagi co jest czasami bardzo pomocne gdy np. chcemy zrobić coś więcej niż standardowo robi narzędzie. A że zmiany dokonujemy w pliku projektu to niezależnie od tego na jakim komputerze czy systemie powinno to zawsze działać tak samo.


Jak ktoś jest zainteresowany to PlatformIO daje także możliwość pisania testów jednostkowych które możemy zarówno uruchomić na płytce jak i na naszej maszynie deweloperskiej. Bardzo wygodne i przydatne gdy ktoś robi takie rzeczy.

Edytowano przez Matthew11
  • Lubię! 2

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...