-
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
- Działalność nierejestrowana/definicja sprzętu elektronicznego/misie i kolejki
- Smukły, długi ściągacz izolacji do kynaru
- rezystor 3 omy 400W
- [newbie] Jaki multimetr za 2-4 stówy?
- szafka sieciowa
- Raspberry Pi 5 + dyski SATA
- lutownica na węgiel
- Znów czary (albo niewiedza) - tym razem fotowoltaika
- Chess
- Vitruvian Man - parts 7-11a
- przeźroczyste koszulki
- Re: Win 10/11 nie lubi OKI
- Programator czasowy TUYA.
- Dlaczego energia elektryczna jest droga i cały czas drożeje
- twardy dysk stuka
Najnowsze wątki
- 2024-05-14 Białystok => ERP Implementer <=
- 2024-05-14 Przerabianie na Indonezje
- 2024-05-14 Kielce => UX/UI Designer <=
- 2024-05-14 Warszawa => Sales Representative for Outsourcing Services <=
- 2024-05-14 Prowadzenie działalności za kogoś - to legalne?
- 2024-05-14 nieletni na plaży naturystów
- 2024-05-13 Działalność nierejestrowana/definicja sprzętu elektronicznego/misie i kolejki
- 2024-05-13 Szczecin => Realtime (C) Software Developer <=
- 2024-05-13 ekran sie odspaja
- 2024-05-13 Wrocław => ERP Implementation Consultant <=
- 2024-05-13 Marki => Senior DevOps Engineer <=
- 2024-05-13 Białystok => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-13 Warszawa => Key Account Manager <=
- 2024-05-13 Warszawa => Senior Account Manager (on-site) <=
- 2024-05-13 Zielona Góra => Engineer R&D Energy Electronics <=