Który symulator AVR jest „prawilny”?

Nov 20, 2025 Last reply: 7 miesięcy temu 15 Replies

Takie szybkie pytanie do AVR-owców. Na stronie avrdudes/avr-libc wynieniają SimulAVR, ale jest też „standardowy” symulator wchodzący w skład binutils. Który jest prawilny? Ten drugi jest trochę nowszy w sensie dat commitów w repozytorium. Generalnie chodzi o to, aby sobie odpalić testsuite avr-gcc.


W dniu 20.11.2025 o 04:05, JDX pisze:

A w Avr Studio to jaki jest? bo ja zawsze ten odpalam. Tyle że to pod W10 trzeba, na ubuntu mam to w vbox-ie co mnie wkurza bo to takie sięganie lewą reką do parawego ucha :( ale chętnie się dowiem jak natywnie programować avr-a w ubuntu.

AVR Studio to totalna skamielina, oczekiwałbym czegoś nowszego. :-) Nawet Atmel Studio jest już chyba niewspierane (chociaż ściągnąć od Microchipa zdaje się można). Teraz jest Microchip Studio. :-D W każdym razie Microchip podchodzi do tematu konserwatywnie i upycha w swoich IDE dosyć stare wersje toolchainów. Nie twierdzę, że to źle, aczkolwiek oczekiwałbym czegoś bardziej „bleeding edge”. Czy są jakieś nieoficjalne, popularne wśród hobbystów wersje tolchaina dla AVR? Chodzi mi o Windows, bo linuksiarze pewnie korzystają z tego, co oferuje ich distro.

Ja, aby wydrukować coś na mojej starej, ale jarej HP LJ5M, też muszę odpalić WinXP@VirtualVbox. :-D

Nie do końca rozumiem co to znaczy „natywnie”, ale obstawiam, że dokładnie tak samo, jak pod Windows. A może nawet lepiej biorąc pod uwagę to, że opensourcowe narzędzia deweloperskie (w tym dla MCU) powstają najpierw pod Linuksem (ogólnie czymś Unix-like), a dopiero później są portowane na Windows. Kwestia IDE to sprawa wtórna, najważniejszy jest toolchain.

~~+ vim~~ +visual studio code + pluginy do avr.

Kurcze, ludzie tak się podniecają tym VSCode, ale IMO, póki co, do rzeźbienia w C czy C++ słabo się nadaje. Nie powiem, edytor kodu jest przepiękny, ale obsługa „projektów” to IMO porażka – znaczy się to całe rzeźbienie w dżejsonie. Oczekiwałbym jednak dialogów tak jak w „klasycznych” IDE, gdzie łatwo można stworzyć „projekt”, a następnie różne konfiguracje danego projektu.

We wszystkich systemach znajdziesz

formatting link
To jest środowisko do budowania w zasadzie wszystkiego co jest embedded, poza tym ma masę ficzerów takich jak automatyczne instalowanie biblitek, rózne targety, wsparcie dla konkretnych płytek dev, automatyczne pobieranie toolchainów pod daną architekturę cpu, unit testy itd itp. Ma plugin do Visual Studio Code pozwalajacy m.in. na debug, uzupełnianie składni, analizę statyczną itd.

Pod spodem są "jakieś" kompilatory gcc, ale nikogo to nie interesuje skąd się biorą i jakie mają być to wersje, to jest ogarniane automatycznie, choć możesz tym sterować jeśli musisz.

Dodatkowo można tego używać w wersji "portable", gdzie PlatformIO jednym wgetem można zainicjować i odpalić lokalnie w katalogu projektu.

Tu masz przykład jak "z niczego" zainstalować PlatformIO, pociągnąć źródła jakiegoś projektu i skompilować, z jednego trywialnego skryptu bash:

formatting link

Odwrotnie, chwilowo nie ma nic lepszego, a najnowsze platformy do komercyjnego rzeźbienia w C/C++ powstają na jego bazie (Cursor).

Rzeźba w json ma tą zaletę, że trzyma się ją w systemie kontroli wersji oraz można ja generować automatycznie. Przykładowo brak tego ficzera powoduje że Eclipse jest niesłychanie upierdliwe do utrzymywania dużych projektów i był przyczną nr 1 do jego porzucenia w wielu firmach.

Nikt nie oczekuje takich dialogów od czasu Delphi 1. My chcemy mieć wszystko, włacznie z konfiguracjami, trzymane w systemach kontroli wersji i możlwie do generowania automatycznego. Nie chcesz wizardów do tworzenia projektów, tylko chcesz mieć solidny framework do tego, taki jak CMake czy jakiś homebrew, aby minimalizować udział białka w procesie tworzenia konfiguracji.

Przecież Eclipse też trzyma konfigurację projektu w plikach tekstowych i jak mniemam, można ją generować automatycznie (AFAIR CMake tak robi).

Wizardów zdecydowanie nie chcę (IMO generalnie są bezużyteczne), ale zmienić właściwości projektu wolę z poziomu okna dialogowego. Chodzi mi o to, że normalnie projekt buduje się za pomocą CMake, ale już jakąś zabawę z kodem w kontekście debugowania czy dodawania ficzersów lepiej jest IMO robić w IDE i tam zmieniać ustawienia projektu (np. definiować makra czy bawić się z ustawieniami kompilatora).

Trzyma je poza kodem źródłowym. To jest poważna niedogoność.

Zgadza się, że małe zmiany lepiej kliknąć. Ale ludzie pracujący w konsoli mogą nie klikać. Część wspólna musi być łatwa dla obu. jsony w visualu są takim kompromisem.

Niekoniecznie.

Wyobraź sobie, ze projekt jest budowany w 100 róznych targetach. Aktumatycznie generowane są rózne wariany z roznymi opcjami kompilatora. Chcemy to móc generować automatycznie. Zazwyczaj, jeśli są to parametry generowane z IDE, będą one kłopotliwe do modyfikacji.

Ogólnie, poprawny, duży projekt, powinien być mozliwy do zbudowania ze źródłami na nośniku read-only. Zazwyczaj to nie jest ogarnialne przez konfigurator IDE.

W dniu 20.11.2025 o 11:45, heby pisze:

A dla amatorów coś jest w miarę prostego? coby nie strzelać z armaty do wróbla :)

Własnie na tym polega ciekawostka: VSCode jest bardzio przyjazny amatorsko i jednocześnie, zupełnie jak by to nie Microsoft projektował, użyteczny przemysłowo. Aż dziwne, że MS zrobił coś fajnego.

Warto się nim pobawić, o ile na początku może się wydać trochę dziwny, to po dłuższej randce jest nie do zastapienia. A dla konserwatystów: ma tryb emulacji VIMa, więć koniec głupich wymówek.

Wystarczu zapytać co używa suweren programistyczny:

formatting link

W dniu 20.11.2025 o 10:08, JDX pisze: ...

A GhostScript Ci nie pasuje? Umie LJ5 i chodzi na wszystkim...

Do testsuite to pewnie ten z binutils. Tzn. binutils jest robione przez ludzi związanych z gcc więc jak oni testują gcc to prawdopodobnie używają ten z binutils.

Nie da się jakoś normalnie zainstalować? Dobrać inną?

Ewentualnie ... tam może nawet postscript jest.

J.

W dniu 20.11.2025 o 10:08, JDX pisze: [...]

Miałem do tego sterownik typu HP Generic. Ale nie potrafię powiedzieć jaki, poszło w recykling.

P.P.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required