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



Teraz jest 18 kwi 2024, o 15:53


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: 1079
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
Avatar użytkownika

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

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 :)

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



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
Avatar użytkownika

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

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


tak to wygąda w praktyce :)

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



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
Avatar użytkownika

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

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 ....

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



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 1 gość


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