-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
e.net!feeder.erje.net!eternal-september.org!reader02.eternal-september.org!.POS
TED!not-for-mail
From: heby <h...@p...onet.pl>
Newsgroups: pl.misc.elektronika
Subject: Re: AVR po latach
Date: Mon, 15 Nov 2021 20:22:11 +0100
Organization: A noiseless patient Spider
Lines: 75
Message-ID: <smuc18$2qb$1@dont-email.me>
References: <618f7a0a$0$23913$65785112@news.neostrada.pl>
<smreh5$3aj$1@dont-email.me> <6191856f$0$551$65785112@news.neostrada.pl>
<smu2ot$nns$1@dont-email.me> <6192991e$0$543$65785112@news.neostrada.pl>
<smu61k$jqk$1@dont-email.me> <61929f95$0$539$65785112@news.neostrada.pl>
<smu7m3$kaf$1@dont-email.me> <6192a4bc$0$552$65785112@news.neostrada.pl>
<smu97g$bau$1@dont-email.me> <6192adb1$0$518$65785112@news.neostrada.pl>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 15 Nov 2021 19:22:16 -0000 (UTC)
Injection-Info: reader02.eternal-september.org;
posting-host="fa6edf8215f72c2aeeada2545663a409"; logging-data="2891";
mail-complaints-to="a...@e...org";
posting-account="U2FsdGVkX1/6Omb1DmoM758mWdGsgYI7"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.3.0
Cancel-Lock: sha1:8naoe02H0ySEUNrLpovXdy+g5ng=
In-Reply-To: <6192adb1$0$518$65785112@news.neostrada.pl>
Content-Language: en-US
Xref: news-archive.icm.edu.pl pl.misc.elektronika:768302
[ ukryj nagłówki ]On 15/11/2021 19:57, Grzegorz Niemirowski wrote:
>> Jest śladowo prawdopodobne, abyś dał radę znaleźć nowy bug w AVR.
>> Miliony programistów Arduino raczej by go znalazły.
> Oczywiście nie mówię o bugach w AVR. Chodzi o to, że urządzenie nie
> składa się z samego MCU. Masz też różne inne układy, które mogą się
> zachowywać inaczej niż myślałeś lub mieć błędy. Przykładowo UART w
> Raspberry Pi wysyłał na początku transmisji dodatkową szpilkę, która
> mogła być traktowana jako bit startu. Nie było to nigdzie opisane.
> Pracując w embedded takie i inne kwiatki spotyka się cały czas.
Zgadza się. Dlatego psu na budę debugger softwareowy w roli debuger
hardwareowego. To najzwyczajneij zupełnie inne zagadnienie.
>> Debuggery hardwareowe to ostatecznośc. Jesli podczas pisania kodu
>> musisz ich używać, to masz kiepsko napisany kod.
> To jest akademicka teoria. Powiedz twórcom GDB, że zmarnowali swój czas
Obserwacja z pola bitwy: prawidłowe pisanie kodu minimalizuje potrzebę
używania debuggera. Do zera? Nie. Blisko zera? Tak. Mówiąc "pisanie
kodu" mam na myśli testowanie go a dopiero potem pisanie. Zwyczajowo
waga unit testów znaczaco przekracza wagę kodu produkcyjnego.
Obserwacja z innego pola: debuggery softwareowe nie nadają się do
*rzeczywistych* systemów hardwareowych gdzie istnieją zalezności
czasowe. Do tego bezpieczniej jest stosować symulatory logiczne z
emulacją cpu i peryferiów. Tylko wtedy nie wiadomo czy bug jest u mnie
czy w emulacji. I takie symulatory za darmo się nie rozdają.
Ja ten problem rozwiązywałem kiedyś kradnąć rdzeń AVR z projektu MAME i
dorabiając ręcznie napisany emulator pewnego peryferium, dzięki czemu
udało się namierzyć buga, ale to jednorazowy wyskok, raczej desperacja.
> :) Debuger jest normalnym narzędziem i sięganie po niego nie musi wcale
> źle świadczyć o programiście. Jego brak jest ograniczeniem środowiska.
Nie o tym mowa.
W środowisku softwareowym, debugger to normalne narzędzie z łatwo
(zazwyczaj) powtarzalnymi przypadkami.
W środowisku hardwareowym jest to narzędzie skrajnie trudne do użycia.
Wyobraź sobie debugowanie przez JTAG procesora, który ma wysyłać co
milisekundę heartbeat do watchdoga zewnątrznego. Zatrzymujesz go na
breakpoincie i jesteś umarty.
Albo symulujesz całość *systemu* hardwareowego i tam debugujesz w
komfortowych warunkach, albo masz na głowie niezliczone ilosci problemów
z faktem że czas mimo zatrzymania programu pędzi dalej, przerwania się
nie obsługują, bufory się przepełniają, ciekłe kryształy się elektrolizują.
gdb to nie jest narzędzie do debugowania w hardware, poza śmiesznie
prostymi przypadkami debugowania kodu wysokopoziomowego. Co akurat robi
się prawie zawsze na maszynei dev, a nie w hardware.
>> Nie bez powodu. Dzięki temu, że ma gotowe bibliteki, taki debug jest
>> mało potrzebny.
> Piszesz o nich jak o bibliotekach libc. Tymczasem mają one nieraz błędy
> i słabą dokumentację.
Zupełnie jak wiele kawałków hardware, używanych codziennie. Ogólnie
świat hardware to nic specjalnie pewnego. Więc niejako karę za hobby
embedded niech będzie czujnośc, że wszędzie czają się bugi, a te
hardwareowe są najweselsze.
>> Ale nie jestem przekonany, czy środowiska do embedded są znakomite.
>> Jak na razie po kontakcie z kilkoma na przestrzeni 20 lat, uciekam na
>> same słowa "embedded IDE".
> No właśnie :) Tym bardziej Arduino IDE :)
Od Arduino jak najdalej. Nie miej wrażenia, że jesli zapytałem o
religijnośc poglądów na Arduion, to jestem fanem. To Qpa. Ale pozwole
sobie na jeden komplement: mimo wymachiwania pięściami przez 60latków z
embedded, wprowadził tylnymi drzwiami C++ do świata uC. Podziękowania
się należą, nowe pokolenie programistów embedded będzie dzieki temu
bardziej ateistyczne.
Następne wpisy z tego wątku
- 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
- 17.11.21 14:51 Grzegorz Niemirowski
- 17.11.21 16:17 Marek
- 17.11.21 18:18 heby
- 17.11.21 18:22 heby
Najnowsze wątki z tej grupy
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
Najnowsze wątki
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO
- 2024-11-28 droga laweta
- 2024-11-28 Co tam się odpierdala w tej Warszawie?
- 2024-11-28 skąd się biorą tacy debile?
- 2024-11-28 JDG i utylizacja sprzetu
- 2024-11-27 Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- 2024-11-28 Katowice => Technical Artist <=
- 2024-11-28 Katowice => Technical Artist <=
- 2024-11-28 Bydgoszcz => QA Engineer <=
- 2024-11-28 Zielona Góra => Spedytor międzynarodowy <=
- 2024-11-28 Kraków => DevOps Engineer (Junior or Regular level) <=
- 2024-11-27 Warszawa => Analityk Biznesowo-Systemowy <=
- 2024-11-27 Zielona Góra => Senior PHP Developer <=
- 2024-11-27 Warszawa => Senior Java Developer <=