-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: "Grzegorz Niemirowski" <g...@p...onet.pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Jak zacząć ENC28J60 i STM32F103RBT6 ?
Date: Mon, 3 Nov 2014 19:13:18 +0100
Organization: ATMAN - ATM S.A.
Lines: 55
Message-ID: <m38gk4$8vk$1@node2.news.atman.pl>
References: <5...@g...com>
<5...@g...com>
<a...@n...neostrada.pl>
<m3042j$oj2$1@portraits.wsisiz.edu.pl>
<m30jnl$ccj$1@portraits.wsisiz.edu.pl>
NNTP-Posting-Host: 031011139062.warszawa.vectranet.pl
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="UTF-8"; reply-type=original
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1415038404 9204 31.11.139.62 (3 Nov 2014 18:13:24 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Mon, 3 Nov 2014 18:13:24 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: OE PowerTool 4.5
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157
X-WWW: http://www.grzegorz.net/
Xref: news-archive.icm.edu.pl pl.misc.elektronika:673518
[ ukryj 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
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- Problem z odczytem karty CF
- 74F vs 74HCT
- Newag ciąg dalszy
- Digikey, SN74CBT3253CD, FST3253, ktoś ma?
Najnowsze wątki
- 2025-01-22 Gdańsk => System Architect (Java background) <=
- 2025-01-22 Katowice => Senior Field Sales (system ERP) <=
- 2025-01-22 Warszawa => Java Developer <=
- 2025-01-22 pokolenie Z
- 2025-01-22 Wyświtlacz ramki cyfrowej
- 2025-01-22 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A
- 2025-01-22 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-22 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-01-22 oferta na ubezpieczenie OC życie prywatne
- 2025-01-22 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-22 Warszawa => International Freight Forwarder <=
- 2025-01-22 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-21 Zgromadzenie użytkowników pojazdów :-)
- 2025-01-21 bateria na żądanie
- 2025-01-21 Warszawa => IT Business Analyst <=