Skocz do zawartości

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


astony

Pomocna odpowiedź

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

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

Link do komentarza
Share on other sites

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
Link do komentarza
Share on other sites

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
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.