Tworzenie własnych bibliotek jest dość proste. Dokumentacja specyfikacji rejestru jest całkiem dobra, większość, jeśli nie wszystkie urządzenia peryferyjne są łatwe do skonfigurowania. Korzystanie z bibliotek jest dla mnie o wiele bardziej bolesne. ale może to tylko ja. Odnosi się to do st, nxp, ti, atmel, aby wymienić tylko kilka (nie tyle w przypadku danych wywiadowczych i mikroczipa).
Dlaczego zmieniają biblioteki, może być z wielu powodów, jakiś nowy szef przejął, jakiś oddział został zamknięty, a inny przejęty. Marketing chciał nowego wizerunku produktu. Jak wspomniano ElectronS, może to być próba większego oderwania się od sprzętu, aby przyciągnąć użytkowników, którzy nie chcą lub nie są w stanie zrobić goły metal. Chciałbym pójść dalej i powiedzieć, że prawdopodobnie próbują konkurować ze zjawiskiem Arduino. Które mbed i wszyscy inni zawsze próbowali zrobić i zawiedli (nawet przed Arduino).
W każdym razie im dalej od sprzętu, tym bardziej staje się on wzdęty i wolniejszy, więc tym więcej trzeba wydać na jednostkę dla ROM, RAM i MHZ. Tylko żebyś mógł spędzić tyle samo czasu na programowaniu? Robisz to inaczej?
Mówisz, że pochodzisz ze świata PIC, teraz wykonali dobrą pracę z narzędziami, ich dokumentacja chipowa była jednak okropna, niektóre z najgorszych. skompensowali biblioteki i piaskownice.
Pod koniec dnia wypróbuj różne opcje, wypróbuj konkurencyjne produkty, aby zobaczyć porównanie ich narzędzi. Wiele z tego możesz zrobić za darmo, aby zobaczyć, czy to ma sens, i możesz kompilować rzeczy. Może nawet użyj symulatora zestawu instrukcji. Znajdź ten, który pasuje do Ciebie.
Uwaga: opcja bez bibliotek w puszkach jest ZAWSZE dostępna. Nie jesteś ograniczony co do tego, jakiego zestawu narzędzi możesz użyć, jaki system operacyjny hosta, jaki ide, edytor itp. Mogą przylgnąć do ciebie przy programowaniu części, jeśli ich opcje są bardzo ograniczone pod tym względem, przejdź na inny układ lub sprzedawca, jeśli możesz.
Aby sprzedać taki produkt chipowy, muszą zapewnić środowisko programistyczne, niezależnie od tego, czy jest to ich całe, czy też darmowe produkty, które skleili ze sobą. I zwykle łączą jakąś bibliotekę. Musi tylko wyglądać wystarczająco dobrze, a mrugnięcie ledowego przykładu działa wystarczająco dobrze, aby skłonić kierownictwo lub zespół sprzętowy do zaprojektowania ich produktu, a następnie, gdy produkt planszy zostanie wrzucony do ściany przez oprogramowanie, nastąpi ból nie przybywa lub nie. Jeśli to prawie działa, ale nie całkiem, jest to duża wygrana dla sprzedawcy chipów, ponieważ teraz zapłacisz za wsparcie techniczne w tym ostatnim kawałku. Dlatego w ich najlepszym interesie jest, aby być prawie na miejscu, ale nie całkiem.
Dostawcy układów muszą tylko wyglądać wystarczająco dobrze, aby wygrać projekt. Muszą ciągle ulepszać (? Zmieniać) produkt, aby przyciągnąć nowych i starych klientów. Będą mieli do czynienia z nadpisywaniem, jak daleko się różnią i ile wcześniejszych bibliotek nadal obsługuje, są różne. Tak więc prawie każda biblioteka, do której się przyzwyczaisz, w końcu zniknie. Naucz się więc dostosowywać (lub nie używaj ich i używaj własnych, które możesz w nieskończoność wspierać). To prawda, że najlepiej jest opracować aplikację tylko raz dla każdego produktu, dostosować oprogramowanie układowe do perfekcji (powodzenia w przypadku korzystania z bibliotek stron trzecich) i nie trzeba wracać i znaleźć komputera, który załaduje ich zestaw narzędzi, jeśli można znaleźć skopiuj go i pamiętaj, jak korzystać ze starej biblioteki. Pamiętaj, że nie tylko powinieneś zapisać swój kod źródłowy, ale powinieneś także zapisać wszystkie ich narzędzia i dokumenty.
Ich biblioteki są obsługiwane tylko na jednym łańcuchu narzędzi, w ramach jednego, może dwóch IDE, a czasem tylko w systemie Windows i niektórych wersjach. Ponownie nie masz żadnych z tych ograniczeń, z pewnością nie dla ARM, jeśli robisz swoje. Zawsze możesz przeczytać dowolną / wszystkie ich biblioteki, aby zobaczyć, jak to robią. Ale to często jest bardzo przerażające, nie używają programistów zespołu A do bibliotek, wyodrębniłem kilka wierszy kodu, aby zapytać kandydatów na rozmowę kwalifikacyjną, co jest nie tak z tym kodem.
aby zaoszczędzić czas i wysiłek zarówno po stronie krzemowej, jak i programowej, bardzo często przetwarzają ten sam adres IP, więc kiedy zobaczysz, jak urządzenie peryferyjne działa na jednym z ich układów, często działa tak samo na wielu innych układach. Tak, systemy zegarowe mogą być trudne z bibliotekami lub bez nich. Duża szansa na zepsucie chipa, czyli tam, gdzie wydarzyła się większość moich układów. Pomaga zrozumieć, jak działają ich układy, na przykład AVR, większość, jeśli nie wszystkie, można przeprogramować, gdy układ jest resetowany, więc każdy zły kod, który zakłóca styki potrzebne do przeprogramowania lub zawiesza logikę potrzebną do przeprogramowania, nie ważne, możesz przeprogramować te żetony. Niektórzy z tych dostawców (st jest jednym) mają wewnętrzny moduł ładujący, który można wybrać za pomocą paska (BOOT0 na przykład w świecie st),
Jeden rozmiar pasuje do wszystkich, nie pasuje do nikogo. Szczególnie dotyczy oprogramowania. Tak więc każda próba wyodrębnienia sprzętu powoduje, że jest on powolny i wzdęty. Równie dobrze możesz zdobyć większy układ i uruchomić na nim Linuksa, jeśli naprawdę tego chcesz. Wiele z tego wynika jednak z faktu, że programiści nie chcą ubrudzić sobie rąk, więc w zasadzie poprosiliśmy o to i starają się to dostarczyć.
Ponownie, nie zamykaj się w st ani w żadnym innym dostawcy (chyba że jest za późno, a zarząd i / lub zespół sprzętowy przylgnął do ciebie, zauważ, że produkty stm32 są ładne i łatwe w użyciu). Robić zakupy. TI wkłada dużo jajek do kosza m4. Możesz wykonać mbed na wielu produktach arm, a także na rozwiązaniach obsługiwanych przez dostawcę.
Jedną z rzeczy, na których zawsze możesz polegać, jest to, że od czasu do czasu zmieniają biblioteki i ostatecznie przestają wspierać tę, do której się przyzwyczaiłeś.