-
Data: 2014-11-03 19:13:18
Temat: Re: Jak zacząć ENC28J60 i STM32F103RBT6 ?
Od: "Grzegorz Niemirowski" <g...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Atlantis <m...@w...pl> napisał(a):
> Czyli co? Każdy powinien w celach edukacyjnych nauczyć się sterować
> każdym układem za pomocą machania pinami i wypisania heksadecymalnych
> wartości do poszczególnych rejestrów? Tylko po co? Po co robić od nowa
> pracę, którą ktoś już wykonał? Po co marnować czas na pisania już
> istniejącej biblioteki?
> Dla mnie jest to trochę tak absurdalne, jak twierdzenie, że początkujący
> powinien móc sobie ten układ najpierw zaprojektować z bramek (a
> najlepiej tranzystorów) a potem oprogramować go w assemblerze
> określonego procesora.
> Najważniejsze jest to, żeby zacząć i uruchomić układ. Jeśli początkujący
> będzie zaczynał podejście od najbardziej stromego zbocza, to w końcu
> spadnie, potłucze się i zniechęci. Nie ma nic złego w korzystaniu z
> wydeptanej ścieżki. A pozostałą wiedzę kiedyś trzeba będzie opanować -
> przy okazji portowania albo modyfikacjo biblioteki. Jednak wszystko w
> swoim czasie.
Jak nabędziesz praktyki, to zmienisz nieco zdanie. Zakładasz, że biblioteka
to gotowiec, który wystarczy wpiąć do projektu. Ale to tylko tzw. chłyt
makietinkowy autora/autorów. Tak może się wydawać przeglądając opis albo
uruchamiając przykłady. Jednak jak robisz własny projekt, nieco bardziej
rozbudowany, albo jest to już któryś kolejny projekt wykorzystujący daną
bibliotekę, to widzisz jak ona jest kanciasta, gdzie autor poszedł na
skróty, że poczynił pewne założenia, które w Twoim projekcie nie muszą być
prawdziwe, że coś jest nieudokumentowane, że coś się zmieniło w tej wersji
którą masz w porównaniu z wersją użytą w przykładach, że coś jest
niekompatybilne z Twoim kompilatorem, że biblioteka używa jakichś zasobów
(np. timery), które też chciałeś użyć, że definiuje jakieś makra i coś Ci
redefiniuje, że biblioteka ma błędy (nawet jak jest od renomowanego
producenta).
Tak, nie ma sensu wynajdować koła. Warto korzystać z bibliotek. Ale w
praktyce i tak się okazuje, że musisz wziąć manuala i obczaić jak ustawić
ten czy tamten bit w danym rejestrze. Szczególnie w naszym świecie embedded,
gdzie jesteś bardzo blisko sprzętu. To nie jest pecet, że system operacyjny
np. chroni pamięć jednego procesu przed modyfikacją przez inny proces. Tutaj
masz mikrokontroler i jesteś ciągle milimetry od strzelenia sobie w stopę.
Nie możesz traktować bibliotek jako czarnych pudełek, które się podczepia do
projektu i one działają. Potem ludzie piszą "wziąłem STM32CubeMX, wyklikałem
projekt i on nie działa!". Nie trzeba zaczynać koniecznie od stromego
zbocza, tylko potem bywa tak, że ktoś odpali "Hello World!" i sobie myśli,
że teraz kilkoma kliknięciami walnie sobie Ethernet. I Zonk, nie działa.
Albo działa, ale koszmarnie wolno. Lub tez działa, ale tylko przez godzinę.
I zaczyna się debugowanie, pisanie na elektrodę, rozczajanie jak działa
biblioteka i sięganie po ten straszny reference manual. I okazuje się, że
jednak jesteśmy na dosyć stromej ścieżce.
Nie zrozum mnie źle, nie neguję Twojego zdania. Tylko po prostu
rzeczywistość jest bardziej skomplikowana, a czaso(praco)chłonność projektu
znów jak zwykle okazuje się niedoszacowana :)
--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 34 days, 23 hours, 56 minutes and 38 seconds
Następne wpisy z tego wątku
- 03.11.14 22:49 Atlantis
- 04.11.14 11:01 Bool
- 04.11.14 13:03 Marek Borowski
- 04.11.14 17:58 Atlantis
- 04.11.14 18:41 Bool
- 04.11.14 19:54 Atlantis
- 05.11.14 09:53 Bool
- 10.11.14 20:50 pawel
- 10.11.14 22:24 platformowe głupki
- 10.11.14 23:53 butek
- 11.11.14 10:58 platformowe głupki
- 11.11.14 12:14 platformowe głupki
- 11.11.14 13:06 platformowe głupki
Najnowsze wątki z tej grupy
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
Najnowsze wątki
- 2025-02-12 Warszawa => Expert Recruiter 360 <=
- 2025-02-12 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-02-12 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-12 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-12 Kraków => PHP Full Stack Developer <=
- 2025-02-12 Karta dźwiękowa stereo
- 2025-02-12 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-12 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-12 Łódź => NodeJS Developer <=
- 2025-02-12 Błonie => Sales Specialist <=
- 2025-02-12 Dziwne zachowanie magistrali adresowej w 8085
- 2025-02-11 Mini pecet
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=