-
Data: 2021-11-15 19:07:59
Temat: Re: AVR po latach
Od: heby <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 15/11/2021 18:57, Grzegorz Niemirowski wrote:
>> 1) Możesz zostawić środowiko arduino i używać
>> Eclipse/Netbeans/QtCreator/Atom/itd jako edytora.
> Idąc za ciosem można zrezygnować z Arduino zupełnie.
Dokładnie tak. Przecież to był tylko pretekst do ewaluacji
"hobbystyczne" vs "profesjonalnie" gdzie oba, to tylko inna odmiana
dziadostwa, typowego dla embedded.
>> 2) Debugowanie jest praktycznie niemożliwe bez emulacji sprzetu.
>> Często ta emulacja sprzetu jest milion razy trudniejsza. Dlatego
>> wymysliliśmy techniki pisania kodu, które praktycznie redukują
>> potrzebę debugowania na *prawdziwym* targecie, asymptotycznie do zera.
>> Zaryzykuje że poprawnie napisany program w języku C/C++ będzie wymagał
>> debugowania w emulatorze CPU w mniej niż promilu przypadków. Za to
>> będzie znakomicie debugował się na hoście.
> Moje doświadczenia są zgoła odmienne. Nie wiem do czego miałby mi być
> potrzebny emulator CPU. Kod pracuje w jakimś urządzeniu i komunikuje się
> z innymi układami. Potrzebna jest możliwość sprawdzania co się dzieje w
> rzeczywistym układzie. Tu przydaje się oscyloskop, analizator stanów
> logicznych oraz debuger.
Prawie nigdy nie jest potrzebne, przy prawidłowych abstrakcjach na
poziomie kodu i unit testach. Bez najmniejszego problemu mogę napisać
kod obsługujący, powiedzmy, modbusa przy pokryciu po stronie hosta na
poziomie 95% coverage, gdzie po stronie AVR znajduja się juz tylko gołe
read/write do rejestrów uartu. Nie wiem gdzie tu miejsce dla
oscyloskopu, to ostateczność.
To kwestia bardziej jakości kodu i umiejętności pisania abstrakcyjnego,
ale blisko sprzetu.
Zaznaczam, że wbrew opini niedzielnych programistów C++, ta abstrakcja
przychodzi z zerowym obciązeniem dla kodu wynikowego, nie pojawi się
nawet instrukcja więcej.
>>> 2. Biblioteki pisane na kolanie
>> Nikt nie każe z nich korzystać.
> Więc kłania się punkt 1 - można zrezygnować z Arduino całkowicie, skoro
> nie oferuje żadnej dużej wartości.
Dokładnie do tego dążę.
>> W 99% programów pojawi się taki setup/loop.
> Pojawia się, ale jest to sztuczne zaciemnianie.
Akurat to jest prawdziwe rozjaśnianie intencji ;)
>> Problem w tym że nie padło "poważne zastosowania" u wątkotwórcy, za to
>> padło ATTINY. Co niejako stoi bokiem do koncpecji "profesjonalnych
>> IDE" skoro kod nie jest większy niż max kilka stron na ekranie i może
>> być pisany w Arduino czy czymkolwiek innym, wliczając notatnik. Choć
>> tak nisko bym nie upadał.
> Nawet krótki kod wolę pisać w wygodnym IDE.
I tu wchodzi jakiś tuzin znakomitych środowisk do pisania w C/C++. Bo
tylko tyle potrzeba w 99% wypadków pisania kodu embedded.
Co innego gdy to jest hobbystyczne pisanie na ATTINY. Tam można sobie
pomigać diodą w symulatorze, wiadomo. Ale czy to nie jest aby własnie
"hobbystyczne"?
Następne wpisy z tego wątku
- 15.11.21 19:19 Grzegorz Niemirowski
- 15.11.21 19:34 heby
- 15.11.21 19:57 Grzegorz Niemirowski
- 15.11.21 20:22 heby
- 16.11.21 09:03 Atlantis
- 16.11.21 11:26 Grzegorz Niemirowski
- 16.11.21 11:51 Grzegorz Niemirowski
- 16.11.21 18:18 heby
- 16.11.21 18:22 Pcimol
- 16.11.21 18:30 Pcimol
- 16.11.21 19:30 Atlantis
- 17.11.21 10:53 Grzegorz Niemirowski
- 17.11.21 11:45 Marek
- 17.11.21 12:05 Marek
- 17.11.21 12:58 Marek
Najnowsze wątki z tej grupy
- Thunderbird i dysk...
- opornosc falowa
- Bateria 9V 6F22, alkaliczna v cynkowa, samorozładowanie, bateria wysokiej trwałości do miernika
- Tani zakup z ali?
- w czasach LED komary mają ciężko
- walizka z kodami
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
Najnowsze wątki
- 2025-07-23 Gdańsk => Programista Delphi <=
- 2025-07-23 Gdańsk => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-23 Warszawa => Starszy inżynier DevOps (AWS) <=
- 2025-07-23 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-23 Kraków => Senior Fullstack Engineer (Low-Code Platform) <=
- 2025-07-23 Wrocław => Senior Key Account Manager IT <=
- 2025-07-23 Trójmiasto => Head of Social Media <=
- 2025-07-23 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-23 Lublin => ERP Implementation Consultant (AP Module) <=
- 2025-07-23 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-23 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-23 Kraków => Kotlin Developer <=
- 2025-07-23 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-07-23 Warszawa => Java Developer <=
- 2025-07-23 Wrocław => Konsultant wdrożeniowy (systemy controlingowe) <=