Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 23 maja 2025, o 10:17


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
    Autor Wiadomość
    PostNapisane: 4 paź 2017, o 08:10 
    Offline
    Nowy

    Dołączył(a): 06 sty 2014
    Posty: 15
    Pomógł: 0

    Hej,
    mam pytanie dotyczące kariery system embedded developer.
    Jakie umiejętności są wymagane? Głównie chciałbym nastawić się na mikrokontrolery stm32.
    W projektach komercyjnych używane są biblioteki stm? Jeżeli tak, to jakie poznawać?
    Na ile wymagana jest znajomość architektury mikrokontrolera, rejestrów, CMSIS?
    Jakie IDE warto poznawać (które jest używane w firmach)? eclipse czy raczej keil?

    Jeżeli chodzi o materiały, książki, duża większość opiera się opisując biblioteki stm (nie wgłębiają się w rejestry).
    Jaki RTOS warto poznać?

    Czy warto równocześnie poznawać platformę raspberry pi?

    pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 paź 2017, o 11:21 
    Offline
    Użytkownik

    Dołączył(a): 22 sty 2014
    Posty: 1806
    Zbananowany użytkownik

    Pomógł: 168

    Jeżeli chcesz być dobry w embedded to (nie ważne jaka architetura):

    1. Nie nastawiaj się na daną rodzinę mikrokontrolerów. Programista ma być eleastyczny i swobodnie poruszać między róznymi prockami
    2. Naucz się korzystać z bibliotek które daje Ci producent krzemu lub firma dostarczająca RTOS/Linuksa.
    3. Pamiętaj że biblioteki są fajne ale zycie czasem pokazuje że trzeba ryć po rejestrach a czasem nawet w asemblerze i choć taki kod jest mniej portowalny to czasem nie ma wyjścia i się to stosuje.
    4. Naucz się Linuksa Embedded i Linuksa ogólnie. Naucz się jak działa system operacyjny typu RTOS. Jak działają taski, kolejki itp.
    5. Literatura to przedewszystkim książki o programowaniu w C/C++. W modzie też jest teraz Python więc warto go poznać. Naucz się jak wygląda kopmilacja, co to jest linker, co to są pliki obiektowe itd.
    6. Musisz mieć w małym palcu rzeczy takie jak różne magistrale typu SPI, I2C, I2S, UART, CAN. Musisz mieć pojęcie o sieciach komputerowych, o tym jak działa ethernet, jak latają ramki, pakiety. zaznajom się z modelem OSI bo jest on mega uniwersalny. Naucz się praktycznie go wykorzystywać.
    7. Praktyka. Musisz robić dużo projektów, cały czas myśleć i ćwiczyć mózg i kochać Embedded. Bez tego będzie Ci ciężko bo to specyficzna dziedzina programowania gdzie trzeba też ogarniać elektronikę i mieć pojęcie jak to co nabazgrasz w Cy twój mikrokontroler sobie przetwarza.

    w sumie tyle bo ja dopiero jestem na starcie kariery embedowca. Może bardziej doświadczeni się wypowiedzą :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 paź 2017, o 13:03 
    Offline
    Użytkownik

    Dołączył(a): 08 wrz 2012
    Posty: 505
    Pomógł: 6

    Przepraszam za laickie pytanie :oops: Co to jest tak naprawdę "system embedded", ale tak w praktyce? Wpisanie w googla daje nie do końca jednoznaczną (dla mnie odpowiedź) odpowiedź.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 paź 2017, o 13:58 
    Offline
    Użytkownik

    Dołączył(a): 23 sty 2014
    Posty: 1085
    Pomógł: 73

    Tom277 napisał(a):
    Przepraszam za laickie pytanie :oops: Co to jest tak naprawdę "system embedded", ale tak w praktyce? Wpisanie w googla daje nie do końca jednoznaczną (dla mnie odpowiedź) odpowiedź.


    system embedded - system wbudowany, ogólnie mówiąc jest to połączenie elektronika (mikrokontroler-y) + oprogramowanie. Dziś w większości urządzeń wykorzystuje się mikrokotrolery, które wykonują mniej lub bardziej skomplikowany program, jak komputer ale mikrokontroler i elektronika np w pralce czy sterowniku pieca C.O to "za mało" żeby nazwac go komputerem więc nazwę zmieniono na system wbudowany :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 paź 2017, o 16:00 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    można uprościć jak wyżej pisze kolega ...
    w zasadzie to nazwa system wbudowany to kontroler , sterownik, układ zarządzania , itd ...
    oparty o mikrokontroler .... gdyż w dużej mierze właśnie on pełni niejako systemu wbudowanego ...
    w istocie realizuje program zarządzalny lub autonomiczny i nie jako to 1 z podobieństw do systemu komputerowego , i również posiada coś na wzór procesora ... jednakże wyróżnia się tym embeded że jest
    on z peryferiami czyli własną pamięcią ram, flash , eprom oraz portami i/o magistralami itd zamkniety
    w obrębie jednego układu czyli właśnie taki system embeded ... (wbudowany) róznie można to rozumieć
    i interpretować , głównie chodzi o to, że system embeded jest zaprojektowany do ściśle ograniczonej liczby zadań , czesto spełnia aż jedną funkcję :)

    podobnie jak modną i dynamiczną dziedzinę IoT (internet of Things) - czyli internetowe rzeczy -- co oznacza po prostu każde urządzenie nawet embeded i głównie które można podłączyć do internetu, ot takie mamy teraz komplikacje :) i nazewnictwo :)

    Tak jak jest z naszymi układzikami każdy mówi procek atmega , procek arm ... a fizycznie to bzdura
    bo do procka daleko ... a jest to mikrokontroler :)

    oczywiście definicja embeded zmienia się wraz z rozwojem sprzętu i potrzeb ...
    np z takich popularnych embedów jest bankomat :) a nie wygląda :)

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 paź 2017, o 05:39 
    Offline
    Użytkownik

    Dołączył(a): 08 wrz 2012
    Posty: 505
    Pomógł: 6

    Dziękuję Sun
    Twoja odpowiedź potwierdziła tylko moje rozumienie sprawy. Dotychczas jako embedded rozumiałem coś w stylu "Raspberry pi"czy "Intel" i wiele im podobnych, ewentualnie bardziej rozbudowane Discovery. Tymczasem czytając definicję z internetu miałem wrażenie, że właściwie każdy zbudowany sterownik również sterownik lampki RGB jest systemem wbudowanym. No i już sam nie zgłupiałem jak to jest. Gdzieś w podświadomości miałem wrażenie, że dumnie i hucznie nazywany System embedded to nic innego jak to czym się tu na forum zajmujemy, ale żeby brzmiało bardziej wyniośle nazywa się trochę inaczej, czyli to jak z IIC. Lepiej napisać I "kwadrat" C wygląda tak trochę bardziej tajemniczo dla całej reszty nie wtajemniczonych. ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 paź 2017, o 08:16 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    dokładnie
    widzisz prosty np sterownik zegarowy jest systemem embeded :)
    ale i urządzenie typu bankomat też :)


    tak to wygąda w praktyce :)

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 paź 2017, o 08:05 
    Offline
    Nowy

    Dołączył(a): 06 sty 2014
    Posty: 15
    Pomógł: 0

    Hej,
    dziękuję za odpowiedź.

    Z tego co ja zauważyłem, to:
    1. W korporacjach popularny jest eclipse, różne narzędzia oparte o eclipse. Używać głównie tych narzędzi, czy np keil. Może lepiej warto poznawać obsługę z linii komend gcc + prosty edytor, np notepad++
    2. Użytkowanie rozbudowanych IDE wymaga również pewnej wprawy.
    3. Czy również poznawać metody pisania testów? Przykładowo ceedling framework
    4. Może lepiej tworzyć jakieś własne projekty, wykorzystując różne narzędzia: git, testowanie.
    5. Wykorzystywanie tylko rejestrów jest bardzo trudne i czasochłonne. Myślicie, że w zastosowaniach komercyjnych nie korzysta się z bibliotek? Może są biblioteki wewnętrzne. Wydaje mi się, że korzystanie z bibliotek wymaga również pewnej wprawy.
    6. Jeżeli chodzi o protokoły komunikacyjne, powinienem znać na wyrywki różne szczegóły dotyczące sygnałów?

    pozdrawiam,
    lk



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 paź 2017, o 12:53 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Ad1. Głównie środowiska oparte o eclipse i keil -- nie zawracaj sobie głowy pierdołami nikt nie klepie w cmd
    Ad2. Trzeba sie przyzwyczaic niektóre srodowiska czesto reprezentuja przerost formy nad treścia
    Ad3. moze sie przydać ale nie musi , zależy od stanowiska na jakim bedziesz pracował , ew wymogów firmy
    Ad4. To zawsze dobra droga i wiele się przy tym nauczysz i zdobędziesz doswiadczenie
    Ad5. Wiekszośc firm wymaga pracy z CMSIS i Bibliotekami HAL , z rejestrów jako takich rzadko się korzysta
    czasem się przydaje czasem tez znajomość podstaw assemblera
    Ad6. Opanowane perfect : I2C , UART, SPI , CAN ....

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 paź 2017, o 11:24 
    Offline
    Nowy

    Dołączył(a): 06 sty 2014
    Posty: 15
    Pomógł: 0

    hej,
    Dziękuję za porady



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 13 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO