-
Data: 2021-11-15 19:34:19
Temat: Re: AVR po latach
Od: heby <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 15/11/2021 19:19, Grzegorz Niemirowski wrote:
>> 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.
> Wiadomo, że można (i powinno się) pisać na podstawie dokumentacji
Nie, dalej nie rozumiesz. Ja nie mówie o pisaniu zgodnie z dokumentacją
i wymagania nieomylności.
Ja mówie o pisaniu kodu w sposób, który redukuje potrzebę debugowania w
sprzęcie do zera lub blisko zera. To wymaga innych technik
programowania, niż stosowane w embedded, w szczególności przeproszenia
sie z C++ (przez co czeka nas przeczekanie obecnego pokolenia
programistów embedded, jako że to problem białkowy).
> uruchamiania kodu po każdej napisanej linijce. Chodzi o to, że
> praktycznie zawsze coś potem nie działa i wcale niekoniecznie z Twojej
> winy.
Jest śladowo prawdopodobne, abyś dał radę znaleźć nowy bug w AVR.
Miliony programistów Arduino raczej by go znalazły.
>> Nie wiem gdzie tu miejsce dla oscyloskopu, to ostateczność.
> Nie tylko Modbus jest na świecie. Poza tym mówimy o styku programowania
> z elektroniką. Jeśli oscyloskop nie jest potrzebny, to jest to albo
> prosty projekt albo embedded wysokopoziomowe (odległe od sprzętu).
Ani jedno ani drugie. Możesz napisać skomplikowany projekt blisko
sprzetu, w 95% pokryty testami po stronie komputera dev. To nie jest
rocket science. To normalna praktyka pisania kodu na dowolną platoformę,
od superkomputerów do attiny.
Debuggery hardwareowe to ostatecznośc. Jesli podczas pisania kodu musisz
ich używać, to masz kiepsko napisany kod.
Zgodzę się, że czasami mogą być przydatne przy uruchamianiu kodu, ale
zazwyczaj to oznacza, że coś jest spieprzone i nieprzetestowane
wcześniej, lub błąd masz w konkretyzacji abstrakcji (gdzie zwyczajowo
kodu wiele nie ma).
> W każdym razie ta część wątku zaczęła się od emulatora CPU. Arduino i
> tak go nie ma, więc nie ma co tu drążyć :)
Nie bez powodu. Dzięki temu, że ma gotowe bibliteki, taki debug jest
mało potrzebny.
>> I tu wchodzi jakiś tuzin znakomitych środowisk do pisania w C/C++. Bo
>> tylko tyle potrzeba w 99% wypadków pisania kodu embedded.
> Wracamy więc do początku wątku. Jeśli ktoś wybiera znakomite środowisko
> zamiast Arduino IDE, to nie ze względów religijnych ale dlatego, że jest
> ono... znakomite :)
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".
Następne wpisy z tego wątku
- 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
- 17.11.21 14:51 Grzegorz Niemirowski
- 17.11.21 16:17 Marek
Najnowsze wątki z tej grupy
- 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
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
Najnowsze wątki
- 2024-11-24 Aby WKOOOORWIĆ ekofaszystów ;-)
- 2024-11-22 OC - podwyżka
- 2024-11-22 wyszedł z domu bez buta
- 2024-11-22 Bieda hud.
- 2024-11-24 DS1813-10 się psuje
- 2024-11-23 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-23 Szczecin => QA Engineer <=
- 2024-11-23 Warszawa => SEO Specialist (15-20h tygodniowo) <=
- 2024-11-22 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-22 Warszawa => Senior Account Manager <=
- 2024-11-22 Warszawa => Key Account Manager <=
- 2024-11-22 Warszawa => DevOps Specialist <=
- 2024-11-22 Kraków => IT Expert (Network Systems area) <=
- 2024-11-22 Warszawa => Infrastructure Automation Engineer <=
- 2024-11-22 Warszawa => Presales / Inżynier Wsparcia Technicznego IT <=