Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

AVR/ARM/STM/?? - Co ma przyszłość (i da pracę).

ghost666 10 Sty 2017 21:06 6279 108
  • #1 10 Sty 2017 21:06
    ghost666
    Tłumacz Redaktor

    Witam, państwo :).

    Jak to się mówi - mam pytanie, może głupie może nie. Przeglądałem sobie dział µC na Elektrodzie i widzę, że rodzin układów i architektur jest tylko więcej, a w dodatku robią się one coraz popularniejsze wśród hobbystów (i nie tylko).

    Nie jestem amatorem - kiedyś bawiłem się AVRami i PICami, uczyłem się też VHDLa na FPGA, ale to było kiedyś (~5 lat temu). Teraz co rusz się zabieram do tego, aby wrócić do tych zabaw, ale mam już mętlik w głowie - co wybrać.

    Programować potrafię (nieźle) - C++, Python itp, ASMa też co nie co pamiętam.

    Szukam mikrokontrolera (czy całej rodziny/architektury), który jest mocny, popularny (w przemyśle jak i w środowisku amatorskim) i daje perspektywy, że nie stanie się niszowym dinozaurem za kilka lat.

    Mam możliwość zakupienia układów startowych do STMów (m.in. STM3210B-Primer, ST STM32F3DISCOVERY, ST STM32F429DISCOVERY, STM32L476 Nucleo) od znajomego z pracy, ale w ogóle nie znam rodziny STM32.

    A może coś ciekawego dzieje się z PICami? Pamiętam wychodziły fajne układy typu PIC32 czy dsPIC... ale wsparcie "amatorskiego" środowiska dla tych elementów jest nikłe.

    A może coś zupełnie innego jest teraz 'na topie'?

    Dodatkowo - chciałbym, aby to mogło mi się kiedyś przydać w pracy zawodowej ;) u nas w kraju ;),

  • #2 10 Sty 2017 21:16
    dondu
    Moderator Mikrokontrolery Projektowanie

    Nie da się tego jednoznacznie powiedzieć, a tym postem znowu rozpętasz burzę :)

    Odpowiedź jest w zasięgu ręki: Należy przeglądać ogłoszenia o pracę.

    Generalnie każda wiedza się przydaje, ale i tak zależy od tego, gdzie pracę podejmiesz.
    Moim zdaniem bardziej istotne jest biegłe programowanie, algorytmika, sposób pisania kodu, znajomość interfejsów, skomplikowanych metod obróbki sygnałów, itd. ... a mikrokontroler to tylko narzędzie.

  • Pomocny post
    #3 10 Sty 2017 21:17
    dasej
    Poziom 28  

    Witam.

    Ja nadal walczę za Atmegą.
    Ale uważam że przyszłość mają STM32.
    Firma prowadzi dobrą politykę marketingową i cenową.
    Zdają sobie sprawę że jak uczącym się amatorom dadzą dużo za niewielkie pieniądze coś do zabawy,
    to za parę lat będą w każdym projekcie ich STM.
    Z tego powodu mam zamiar wziąć się za STM32.

  • #4 10 Sty 2017 21:20
    ghost666
    Tłumacz Redaktor

    dondu napisał:
    Nie da się tego jednoznacznie powiedzieć, a tym postem znowu rozpętasz burzę :)


    Wiem :twisted: ale daje szansę użytkownikom na dorosłe zachowanie.


    dondu napisał:
    Odpowiedź jest w zasięgu ręki: Należy przeglądać ogłoszenia o pracę.


    To nie do końca jest prawda - ilość ogłoszeń w danej tematyce nie w pełni oddaje sytuację na rynku pracy, bo mówi tylko o popycie na danych specjalistów. Ja bym chciał znać jeszcze podaż i zarobki (tzn nie dokładnie, ale ogólnie wiedzieć coś o tym, skoro już o rynku pracy mówimy).

    dondu napisał:
    Generalnie każda wiedza się przydaje, ale i tak zależy od tego, gdzie pracę podejmiesz.
    Moim zdaniem bardzie istotne jest biegłe programowanie, algorytmika, sposób pisania kodu, znajomość skomplikowanych metod obróbki sygnałów, itd. ... a mikrokontroler to tylko narzędzie.


    Programuję w różnych rzeczach od ~10 lat, generalnie nie idzie mi to źle ;). No ale na x86, a to nie do końca jest to co bym chciał.

    Ja wiem, że mikrokontroler to tylko narzędzie, ale jak wejdziesz na forum dla stolarzy i zapytasz się "jaki młotek do czegośtam" to - mimo, że to tylko narzędzie - dostaniesz odpowiedź (i może rozpętasz też burzę).

  • #6 10 Sty 2017 21:22
    tronics
    Poziom 35  

    PIC w Polsce nie są bardzo popularne, za granicą prędzej. STM są popularne w zasadzie wszędzie. Poznanie STM32 nie gwarantuje, że każdego ARMa sobie kolega bez problemu oprogramuje, tylko różnice te są w kwestii peryferiów. Zatem poznawszy niuanse cortexa produkowanego przez ST nic nie powinno zaskoczyć w NXP, itp. AVR nie ma zbyt różowej przyszłości, to hobbystycznie było bardzo popularne (i nadal jest umiarkowanie dzięki arduino), ale zawodowo lepsze będzie zainwestowanie w cokolwiek na ARM. Najpopularniejsze są STM, ale LPC są też dobre, fajne środowisko LPCXpresso (bazujące na Eclipse). Dalej jest XMC z infineona. Fajne obudowy i świeże publikacje. I wreszcie Kinetisy z Freescale (teraz też NXP) z Codewarrior (też Eclipse) - tutaj plusem mogą być serie zasilane bezpośrednio z 5V (a nie tylko z pinami 5V tolerant)

  • #7 10 Sty 2017 21:23
    ghost666
    Tłumacz Redaktor

    dasej napisał:
    Witam.

    Ja nadal walczę za Atmegą.
    Ale uważam że przyszłość mają STM32.
    Firma prowadzi dobrą politykę marketingową i cenową.
    Zdają sobie sprawę że jak uczącym się amatorom dadzą dużo za niewielkie pieniądze coś do zabawy,
    to za parę lat będą w każdym projekcie ich STM.
    Z tego powodu mam zamiar wziąć się za STM32.


    Dzięki, bardzo pomocna uwaga.

    grko napisał:
    @ghost666 Jeżeli jesteś dobry z programowania to po prostu poszukaj sobie w tym pracy i tam będziesz mógł poznać konkretna rodzinę procesorów. Żaden rozsądny pracodawca nie wymaga o szczegóły programowania STM32 czy innej rodziny MCU.


    Przeglądając oferty pracy zauważyłem, że jednak ludzie piszą o znajomości takich czy innych mikroklocków. Poza tym ja generalnie od dłuższego czasu programuję na PC i RPi (też w sumie PC), więc czuję potrzebę przesiadki na coś "niżej" ;).

  • #8 10 Sty 2017 21:25
    dondu
    Moderator Mikrokontrolery Projektowanie

    Jasne :)
    Problem w tym, że stolarze (czytaj maluczcy) nie są wyznacznikiem zapotrzebowania w przyszłości, o którą pytasz.

    Firma firmie nierówna. W jednej do projektu wybierają układy różnych producentów, w innych tylko jednego.
    Oba systemy mają swoje wady i zalety. Dlatego pisałem, że to pytanie do firmy, w której chcesz pracować.

    Na pewno ARM to jedna z tych umiejętności, która jest istotna, a to czy tego, czy innego producenta, to już nie jest istotne.


    ... ważny jest angielski techniczny, ale Ciebie to już nie dotyczy :)

  • #9 10 Sty 2017 21:35
    dasej
    Poziom 28  

    @dondu
    Raczej firmy wybierają to na czym robią, by nie zwiększać magazynów. i kręcą się w kółko.
    Zmiana następuje jedynie wtedy gdy to co mają na magazynie nie da rady.

    A tak a propo jestem z zawodu stolarzem.

    Skąd wiesz który z tych maluczkich przypadkiem nie zrobi coś wielkiego.

    Ktoś kto w młodym wieku zetknie się z czymś to w dorosłym życiu będąc szefem narzuci swoim
    podwładnym i albo się dostosujesz jako pracownik albo zmienisz firmę. Czy nie takie jest życie.

  • #10 10 Sty 2017 21:35
    grko
    Poziom 32  

    ghost666 napisał:

    Przeglądając oferty pracy zauważyłem, że jednak ludzie piszą o znajomości takich czy innych mikroklocków. Poza tym ja generalnie od dłuższego czasu programuję na PC i RPi (też w sumie PC), więc czuję potrzebę przesiadki na coś "niżej" ;).


    Zdarza się, że takie wymagania pojawiają w ofertach. Jednak często są one w sekcji "nice to have". Jeżeli jakaś firma znajomość danej rodziny MCU stawia jako główne wymaganie to naraża siebie na śmieszność.

  • #11 10 Sty 2017 21:40
    dondu
    Moderator Mikrokontrolery Projektowanie

    @dasej
    Na decyzję firmy nie wpływają magazyny, bo nikt nie kupuje mikrokontrolerów w ten sposób.
    Za to wpływa tysiące innych czynników: http://mikrokontrolery.blogspot.com/2011/04/jaki-mikrokontroler-wybrac-do-projektu.html

    A co do stolarza, to nie tego o czym piszesz był przykładem i nie o tym dyskutujemy.


    grko napisał:
    Jeżeli jakaś firma znajomość danej rodziny MCU stawia jako główne wymaganie to naraża siebie na śmieszność.

    Nie na śmieszność, tylko takie w danej chwili ma potrzeby. Może np. pracownik zginął w wypadku samochodowym, a projekt trzeba dokończyć.
    A może należą do tej grupy firm, która ma strategię projektowania z wykorzystaniem szerokiej oferty dużego producenta? Ta strategia ma swoje zalety.
    A może dostali wytyczne od zamawiającego?
    ... itd.

  • #12 10 Sty 2017 23:16
    ghost666
    Tłumacz Redaktor

    Okej, czyli jeżeli konsensus jest generalnie taki, że nie ważne jaki układ, bo można być elastycznym, to czy STM32 jest dobrym wyjściem?

    Czy płytka STM32F429DISCOVERY jest dobra na początek? Mam okazję taką nabyć ;).

    A czy obecnie coś ciekawego w zakresie płytek rozwojowych dzieje się dla układów PIC32 lub dsPIC? mam dziwną słabość do Microchipa... ale nie chciałbym wchodzić w jakiś zaułek przez to.

    Na pewno STM32 ma taką przewagę, że to ARM, którymi świat dzisiaj stoi... czy na długo?

    A co do polityki zatrudnienia firm - firma szuka takich programistów, jakich potrzebuje, raczej nie odwrotnie. Nie wiem jak w mikroklockach, ale w moich rejonach, jest tak, że jak się w jakąś technologię wejdzie, to się nie wychodzi, bo IDE kosztuje kupę kasy, a przepisywanie rzeczy na nowo zajmuje cenny czas.

  • #13 10 Sty 2017 23:18
    Marek_Skalski
    Poziom 33  

    @ghost666
    Z mojego podwórka to wygląda trochę inaczej. Nikt nie pyta o rodzinę mikrokontrolerów czy procesorów, ponieważ praktycznie wszystko robi się albo w LabView, albo w FPGA. Jeżeli masz certyfikat TI dla LabView, to masz pracę. Jeżeli potrafisz projektować strukturę układu do potrzeb i pisać w VHDL czy innym Verilog'u, to masz pracę. Na początku trochę mnie to dziwiło, ale po pewnym czasie stało się oczywiste. Procesory czy uC mają swój naturalny cykl życia i prędzej czy później odchodzą, narzędzia się zmieniają, licencje wygasają, a w przypadku układów opartych o FPGA, potrzebujesz tylko przenieść projekt na nowszą platformę i to wszystko. Język pozostaje ten sam, struktura ta sama, funkcje można łatwo dodawać, itd.
    Zupełnie inną rzeczą jest, że w Holandii programista jest uważany za słabo opłacanego rzemieślnika, który tylko przygotowuje kod według specyfikacji przygotowanej przez architekta lub seniora. Ale seniorem lub architektem z dobrymi zarobkami można zostać dopiero po kilku latach klepania kodu, albo po zrobieniu doktoratu, niekiedy w zupełnie innej dziedzinie. Możesz rozważyć co jest dla Ciebie bardziej interesujące.
    edit:
    ST ma obecnie dość interesującą ofertę i rodzina STM32 będzie jeszcze poszerzana o układy radiowe (wbudowane). Łatwo się też zapisać na szkolenia czy to organizowane przez ST, czy przez dystrybutorów, np. Arrow.
    Microchip strasznie wtopił z rodziną PIC32MZ. Pierwsza generacja była zupełnie nieudana. Druga jest trochę lepsza, ale jakieś 3 lata za późno. Wcześniejsza rodzina PIC32MX znacząco odstaje od STM32F4xx czy LPC4xxx. Być może PIC23MM będzie bardziej udana, ale to są układy Low Power. W obszarze dsPIC33/PIC24 nic ciekawego się nie dzieje, a szkoda.

  • #14 10 Sty 2017 23:24
    ghost666
    Tłumacz Redaktor

    @Marek_Skalski - o, programiasta LV, piąteczka :D. O pracę w tym nie tak łatwo, bo mało firm (relatywnie) korzysta z LV (bo drogie, bo trudne, bo zamknięty ekosystem a sprzęty NI drogie) ale idzie dostać pracę i bez CLD czy CLADa.

    A co do mikrokontrolerów - no okej, jest cykl życia, ale popatrz - taki dziadek '51 ile lat jest obecny na rynku? Ile lat był bardzo popularny? Teraz np. ARMy są wszędzie i nie rozumiem z jakiego powodu by miały zniknąć, albo zostać nagle wycofane (jako rodzina rdzeni, nie chodzi mi o konkretne układy oczywiście).

    Marek_Skalski napisał:
    Zupełnie inną rzeczą jest, że w Holandii programista jest uważany za słabo opłacanego rzemieślnika, który tylko przygotowuje kod według specyfikacji przygotowanej przez architekta lub seniora. Ale seniorem lub architektem z dobrymi zarobkami można zostać dopiero po kilku latach klepania kodu, albo po zrobieniu doktoratu, niekiedy w zupełnie innej dziedzinie. Możesz rozważyć co jest dla Ciebie bardziej interesujące.


    Doktorat mam (z trochę innej dziedziny), ale jakoś po prostu mi się nie chce wyjeżdżać. Miałem takie możliwości (w nauce) i nie chciałem - jako deweloper chyba też bym nie chciał - to nie są aż tak kosmiczne pieniądze moim zdaniem.

  • #15 11 Sty 2017 01:13
    michalko12
    Specjalista - Mikrokontrolery

    Moje zdanie jest takie. Kup coś najprostszego (AVR, ale nie wchodź w Arduino) zapoznaj się z tym w jak najkrótszym czasie, oklep z każdej strony, tak żeby wiedzieć jak się obchodzić z samym uC i cała resztą potrzebna do pracy z nim, a potem wyrzuć w kąt. Jak przejdziesz ten etap będziesz miał wystarczającą wiedzę żeby płynnie przejść na cokolwiek z wyższej półki, Cortexy, MIPSe, Xtensy czy jeszcze coś innego. Wszystko z tej wyższej półki wiąże się z dużymi ilościami dokumentacji nie dla amatora. Czytając ją trzeba już dużo wiedzieć w temacie, żeby zrozumieć o co chodzi, bo do wielu spraw podchodzi się z założeniem "że to jest oczywiste".

    Z reszto możesz już teraz zrobić krótki test, biorąc dokumentację od jakiegoś AVRa i np STM32 czy LPC i sprawdzić jak idzie Ci ich pojmowanie. Warto też zajrzeć na strony ARMa i poczytać dokumentację o samych rdzeniach.

  • #16 11 Sty 2017 08:33
    Rinho
    Poziom 19  

    dondu napisał:
    @dasej
    Na decyzję firmy nie wpływają magazyny, bo nikt nie kupuje mikrokontrolerów w ten sposób.
    Za to wpływa tysiące innych czynników: http://mikrokontrolery.blogspot.com/2011/04/jaki-mikrokontroler-wybrac-do-projektu.html

    A co do stolarza, to nie tego o czym piszesz był przykładem i nie o tym dyskutujemy.


    grko napisał:
    Jeżeli jakaś firma znajomość danej rodziny MCU stawia jako główne wymaganie to naraża siebie na śmieszność.

    Nie na śmieszność, tylko takie w danej chwili ma potrzeby. Może np. pracownik zginął w wypadku samochodowym, a projekt trzeba dokończyć.
    A może należą do tej grupy firm, która ma strategię projektowania z wykorzystaniem szerokiej oferty dużego producenta? Ta strategia ma swoje zalety.
    A może dostali wytyczne od zamawiającego?
    ... itd.


    Dokładnie. Często zleceniodawca ustala odgórnie rodzine MCU, a do tego ważnym czynnikiem jest też cena... (różnica 1-2 dol przy paruset tys. sztuk swoje robi). Wymienione są już ARMy, AVR, PICi, MIPSy, a jakiś ładny i pokaźny kawałek AGD stoi na NECu/Renesasie.

  • #17 11 Sty 2017 12:08
    Piotrus_999
    Poziom 39  

    grko napisał:
    Jeżeli jakaś firma znajomość danej rodziny MCU stawia jako główne wymaganie to naraża siebie na śmieszność


    Dokładnie - każda firma wie, że jak ktoś umie dobrze programować to opanowanie jakiejś linii sprzetu to pestka. Pracuje się w zespołach - i generalnie nawet jak nie używałeś jakiejś rodziny i rozumiesz czegoś z DS to łatwo zapytać kogoś, kto to robił.

    Oczywiście w CV dobrze napisać że ma się duże doświadczenie w programowaniu systemów embedded opartych na : ...... tu długa lista i najlepiej z jakimś odniesieniem nawet do projektu hobbystycznego. A pożniej rekruter bedzie Cię pytał o jakieś głupoty (przykład z zeszłego tygodnia zaszłyszany w hachspace: jaka jest różnica pomiedzy volatile char * a volatile char volatile * i inne w podobnym stylu), bo większe firmy z nich korzystają.

  • #18 11 Sty 2017 15:06
    Aroni525
    Poziom 6  

    Piotrus_999 napisał:
    jaka jest różnica pomiedzy volatile char * a volatile char volatile *


    Jaka? :D Tzn co w zasadzie oznacza drugi zapis, przy okazji może czegoś się dowiem

    Co do tematu, to może nie tyle bym się zgodził, że uC całkiem odejdą do lamusa, ale ostatnio spotykam się coraz częściej z wykorzystaniem FPGA z wbudowanym NIOS'em - taka implementacja rdzenia ARM w układy FPGA, które kręcą setki MHz i mogą mieć kilka rdzeni, a obsługuje się je praktycznie jak zwykłe mikroklocki... Wydaje mi się, że w przyszłości ze względu na swoją elastyczność i możliwości FPGA mogą namieszać. A jeśli jeszcze ich cena zejdzie to już w ogóle...

  • #20 11 Sty 2017 16:00
    tronics
    Poziom 35  

    Cytat:
    Wydaje mi się, że w przyszłości ze względu na swoją elastyczność i możliwości FPGA mogą namieszać.

    Są za drogie jak na oferowane możliwości, szczególnie te z wyższych speed grade. Tak samo drukarki 3D nie wyprą wtryskarek ;) Jasne, znacznie to elastyczniejsze, ale ani szybsze, ani tańsze (dla dużych partii). Czasem się przydają jako uzupełnienie klasycznych MCU czy też bloki oferujące specyficzną funkcjonalność. I podczas projektowania nowych rdzeni czasem się testuje design w FPGA, zanim pójdzie do krzemu.

  • #21 11 Sty 2017 16:31
    Aroni525
    Poziom 6  

    Też racja, firmy o których mówię zajmowały się głównie przetwarzaniem dużych ilości danych, wiec FPGA było nieuniknione praktycznie, a skoro już nimi się bawili to i NIOSa zastosowali. W sumie podobnie z procesorami do PC i graficznymi, które są specjalizowane. Ani te pierwsze nie wyprą drugich, ani na odwrót. Każdy ma swoje wady i zalety.

    No to chyba trzymając się tego można by stwierdzić, że warto uczyć się ARM. Ja się jeszcze nie spotkałem z konkretnym wymaganiem konkretnej rodziny uC, jeśli już to dobrze mieć po prostu doświadczenie z ARM. W sumie z tego co widzę po znajomych i sam byłem w paru miejscach, to prawie wszyscy na ARM siedzą, tylko w jakichś prostszych aplikacjach można znaleźć jeszcze AVR. A jakiej firmy - tu już jest losowość, PIC'ów jakoś tylko jeszcze nie spotkałem, poza tym każdą rodzinę gdzieś wykorzystywali.

  • #22 11 Sty 2017 16:31
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Aroni525 napisał:
    Wydaje mi się, że w przyszłości ze względu na swoją elastyczność i możliwości FPGA mogą namieszać. A jeśli jeszcze ich cena zejdzie to już w ogóle...

    no właśnie - jak w takich tematach ludzie piszą, że 10zł za mikrokontroler to zbyt dużo, to o czym tu w ogóle gadać, skoro FPGA kosztuje zwykle 10x tyle? O rozmiarze, obudowach (BGA) i ilości dodatkowych układów wymaganych dookoła nawet nie ma co wspominać.

    Piotrus_999 napisał:
    jaka jest różnica pomiedzy volatile char * a volatile char volatile *

    Zapewne chodziło o "volatile char*" vs "volatile char* volatile".

  • #23 11 Sty 2017 16:50
    Piotrus_999
    Poziom 39  

    Freddie Chopin napisał:
    Zapewne chodziło o "volatile char*" vs "volatile char* volatile".
    Oczywiście że tak.

    Dodano po 2 [minuty]:

    Freddie Chopin napisał:
    i ilości dodatkowych układów wymaganych dookoła nawet nie ma co wspominać.
    oraz o poborze mocy.

  • #24 11 Sty 2017 19:17
    piotrek0207
    Poziom 13  

    Mam pytanie do kolegów odnośnie mikrokontrolerów STM8. Jaka jest różnica w ich architekturze oraz programowaniu w porównaniu do STM32? Jakie są różnice w porównaniu do 8-bitowych AVR-ów?

  • #25 11 Sty 2017 19:20
    excray
    Poziom 38  

    STM8 to przykład jak połączyć wszystkie wady ARMów z wadami mikrokontrolerów 8-mio bitowych.

  • #26 11 Sty 2017 19:28
    piotrek0207
    Poziom 13  

    Ale chyba te ARMy to nie są takie złe :) Nie chce znowu wbijać kija w mrowisko. Nie siedzę zawodowo w elektronice, ale moi koledzy robiący w automatyce przemysłowej używają ARMów. Nie STMów, lecz MSP i oni twierdzą, że AVRy są dla amatorów :)

  • #27 11 Sty 2017 19:47
    Freddie Chopin
    Specjalista - Mikrokontrolery
  • #28 11 Sty 2017 20:25
    piotrek0207
    Poziom 13  

    Freddie dziękuję za korektę. Nie orientuję się dobrze, ale TI chyba też robi ARMy. MSP takiej architektury nie mają. To inaczej zadam pytanie. Na bazie moich doświadczeń z STM32 czy do zabawy z STM8 wystarczy?
    1. IDE
    2. Znajomość C chyba, że je się programuje w asm
    3. Programator ST-link
    4. Plik z definicjami rejestrów jeżeli takie są do nich też dostarczane

  • #30 11 Sty 2017 20:29
    piotrek0207
    Poziom 13  

    Piotrus_999 napisał:
    Przecież masz stronęST i tam wszystkie downloady.



    Ściągałem dla 446RE. Nie szukałem dla STM8, ale jeżeli takie same pliki są dla STM8 to ok. Dziękuję:)

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME