Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Zasady

Jak zacząć-Systemy Wbudowane



 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Elektronika, programowanie niskopoziomowe
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Embedded
Gość





PostWysłany: Pon Paź 31, 2016 5:30 pm  OP    Temat postu: Jak zacząć-Systemy Wbudowane Odpowiedz z cytatem Pisownia

Jestem studentem 3 roku.Chciałbym pójść w kierunku systemów wbudowanych, głównie jako tzw. embedded software engineer.Z tego co wymagają pracodawcy to bdb znajomość C, znajomość architektur mikroprocesorów, dobra znajomość elektroniki, RTOS itp..Rozumiem, że trzeba by zacząć od kupienia jakiegoś 'evaluation board' i rozpoczęcia pisania programów.Moje pytanie:
Czy warto rozpoczynać od procesorów 8-bitowych typu 8051/AVR, czy raczej mając na uwadze systemy operacyjne wbudowane, rozpocząć już od 32-bitowych ARM-ów?

Dziękuję z góry za pomoc
Powrót do góry
marcin_an



Dołączył: 26 Maj 2005
Posty: 18818

PostWysłany: Pon Paź 31, 2016 8:04 pm      Temat postu: Odpowiedz z cytatem Pisownia

Nie mieszaj embedded z RTOS. Embedded nie gwarantuje RTOS, RTOS nie wymaga embedded. W wyniku zaszłości historycznych mają sporą część wspólną, ale to wszystko.

Płytka startowa (evaluation board) to dobra rzecz na start, ale jeśli potrafisz posługiwać się lutownicą, to za trzecią część jej ceny zrobisz sobie własną, lepiej dostosowaną do potrzeb. Jeśli nie pracujesz, czyli nie spieszy ci się, to nawet na zwykłej płytce stykowej możesz się bawić. Powyższe propozycje odpadają, jeśli np. pracujesz i tego czasu nie masz. Ewentualnie jeśli chcesz startować od układów z setką nóżek w małym rastrze albo BGA. Tutaj nie masz większego wyboru - pozostaje kupić płytkę startową.

Ceny AVR-ek zaczynają się od kilkunastu złotych*. Podstawy załapiesz w ciągu klilku dni, szczególnie korzystając z tutoriali na AVRFreaks. SoC-a opartego o ARMa, z USB, ethernetem, GPIO, często także wyjściem audio i video, wspieranego przez którąś popularną dystrybucję Linuksa dostaniesz za 100zł. Jeśli znasz Linuksa, to do najprostszych rzeczy przechodzisz w ciągu dni, do nauki pozostaje przede wszystkim obsługiwanie peryferiów i pisanie modułów kernela. Zapomnij o zastanawianiu się nad tym, które brać... weź obydwa, bo koszt mały, czasu na posmakowanie też wiele nie trzeba.

Do AVR-ek możesz jeszcze pomyśleć nad Arduino, jeśli masz zerowe doświadczenie w pracy z elektroniką, ale tylko wtedy - cena jest sensowna jak na taki produkt, ale obłędna z punktu widzenia kogoś, kto może sobie na płytce stykowej to wszystko poukładać.
____
* Nawet dużo mniej, ale mikrusy typu ATtiny13 (5zł?) to nie jest rzecz na początek.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Embedded
Gość





PostWysłany: Pon Paź 31, 2016 8:40 pm  OP(?)    Temat postu: Odpowiedz z cytatem Pisownia

Dziękuję Ci bardzo za odpowiedź :)
Na elektronice trochę się znam, także Arduino mnie lekko znięchęca.
Tak jak mówisz, rozpocznę od AVR-ów na płytce stykowej(przynajmniej nie będą mnie ograniczały peryferia zamontowane na boardzie), a później przejdę do ARM-ów w zestawie.
Jedynym minusem jeśli chodzi o ARM-y to że nauka ich programowania będzie się opierać chyba wyłącznie na manualu i kursów angielskich z neta.
No bo nie ma to jak dobra książka, w której zachowana jest jakaś hierarchia toku nauki
Powrót do góry
marcin_an



Dołączył: 26 Maj 2005
Posty: 18818

PostWysłany: Wto Lis 01, 2016 3:24 am      Temat postu: Odpowiedz z cytatem Pisownia

Książek niestety nie polecę, bo sam takowych nie używam od bardzo, bardzo dawna. Ostatnio, jeśli zaglądałem do podręcznika, to żeby go ocenić ;). W sieci masz np. wspomniane już AVRFreaks, szczególnie ich tutoriale do AVR (abcminiuser napisał tam masę naprawdę dobrych rzeczy). Do ARM-ów znajdziesz pomoc w społecznościach płytek, których będziesz używał (RaspberryPi i podobne). O hierarchii w materiale do nauki trudno tutaj mówić, bo masz przed sobą dokładnie dwie rzeczy: nauczyć się, jak w ogóle tworzy się i uruchamia kod, a potem... wybierasz jedno z ogromnej liczby zagadnień, które cię interesuje i jest zwykle niezależne od wszystkich innych. Nie musisz umieć obsługiwać timerów i PWM w AVR-ach, żeby zabrać się za przetwornik ADC. Nie musisz mieć jakiegokolwiek pojęcia o ADC, żeby obsługiwać komunikację szeregową. Itede, itepe. W ARM-ach podobnie, aczkolwiek tam są dwa oddzielne światy: moduły kernela, które pozwalają ci na precyzyjną kontrolę czasu i bardzo szybką reakcję, i userspace, w którym tak naprawdę będziesz pisał większość kodu.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
nowator



Dołączył: 16 Sty 2010
Posty: 212
Skąd: Częstochowa

PostWysłany: Wto Lis 01, 2016 7:32 pm      Temat postu: Odpowiedz z cytatem Pisownia

Ja bym Ci polecił od razu zacząć od ARM'a. Ale może nie koniecznie takich na których masz Linux'a. Np. możesz zacząć od układów jakiś TM4C od Texas Instruments lub czegoś od STM, co jest bardziej popularne u nas w kraju.
Ważne byś mógł debuggować kod na procesorze przez jakieś JTAG, to o wiele ułatwia i uprzyjemnia naukę.

Możliwości, jest bardzo dużo np. możesz kupić coś na AT91SAM, po programować sobie bez żadnego systemu. A potem wgrać jakiegoś RTOS( w tym przypadku np. RTX51 ) i uczyć się reszty rzeczy związanych z tymże zagadnieniem. Potem bym skusił się na coś na Linux'ie.

Ogólnie unikał bym rzeczy typu Arduino. Nie jestem przeciwnikiem, ale bardzo kradnie czujność użytkownika, który w ogóle nie zastanawia się co tak naprawdę kryję się pod tym kodem i jakie to ma powiązanie z elektroniką, chodź jak marcinan napisał, dla kogoś z zerową wiedzą na temat elektroniki jest to dobry start.
Nie wiem jak w innych branżach ale jeśli celowałbyś w automotive to oczywiście musisz wiedzieć jak działa ADC, PWM czy jakieś standardy komunikacji, ale tendencja jest taka, że producenci chcą soft budować z "klocków", które można łatwo wymieniać, dlatego "klocek" związany z elektroniką( często dostarczany przez producenta procesora ) to jedno ale cała masa pozostałego kodu to różne magie tworzące kolejne abstrakcje abstrakcji gdzie w rezultacie w ogóle Cię nie obchodzi na jaki Ty procesor piszesz, a jedynie czym się przejmujesz to powiedzmy taskami i konfiguracją OS'a ( który jak każdy inny klocek też da się wymienić ).
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora Numer GG
Embedded
Gość





PostWysłany: Wto Lis 01, 2016 10:12 pm      Temat postu: Odpowiedz z cytatem Pisownia

Dziękuję za kolejną opinię.
A powiedz mi, czemu nie jesteś za tym aby, przy moim aktualnym braku doświadczenia w dziedzinie programowania procesorów, rozpocząć od AVR-ów?
Czy to kwestia,że są to już old-timery czy coś innego?
Powrót do góry
nowator



Dołączył: 16 Sty 2010
Posty: 212
Skąd: Częstochowa

PostWysłany: Czw Lis 03, 2016 9:59 am      Temat postu: Odpowiedz z cytatem Pisownia

Swoją opinie opieram na swoich odczuciach. Kiedy, zaczyałem miałem skromne doświadczenie w pisaniu na AVR, jednak chciałem zacząć pisać na czymś co jest na "topie" i tak padło na ARM'a. To były czasy technikum więc za ciężko oszczędzone 90 zł chciałem kupić płytke EK-TM4C123GXL( Cortex-M4F ). Wtedy coś mnie podkusiło by zadać pytanie na elektrodzie i poczytać co użytkownicy polecają. No i wtedy zadziała się rzecz której nie potrafie zrozumieć, czyli straszenie ARM'em. Że już na pewno od M4 nie dam rady jak nie pisałem na M3, a na M3 nie dam rade jak nie pisałem na M0. Ale uparłem się na tą płytkę i kupiłem. I co ? Moje odczucia były takie, że pisało mi się wbrew pozorom łatwiej niż na AVR.

Owszem czasem można się rzucić na głęboką wodę i zniechęcić się do systemów wbudowanych. Jednak mimo wszystko ARM wydaje mi się fajniejszym rozwiązaniem. Kupisz sobie taką płytkę, do tego płytka stykowa, parę jakiś podstawowych elementów, układów i możesz poznać większość procesora. A to wszystko nie wiele drożej niż AVR ale za to w cenie masz debugger, który wydaje mi się być warty wszelkich pieniędzy, kiedy chcesz wyśledzić, czemu Twój procek wpadł np. w jakąś pętle nieskończoną związaną z jakimś błędem. Albo stawiasz sobie RTOS'a i sprawdzasz jak się przełączają się taski, jakie są czasy itp. A to mega ważna sprawa.

Podsumowując, za raz zainwestowane pieniądze, troszkę większe niż w przypadku AVR ale za to dostajesz urządzenie, które Ci starczy na długą naukę i nie będziesz musiał co trochę zmieniać sprzętu.

Tutoriale dostarczane są do płytek. A jak masz jakiekolwiek pytanie to na forach ludzie odpowiadają bardzo szybko i profesjonalnie.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora Numer GG
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Elektronika, programowanie niskopoziomowe Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.11142 sekund, zapytan = 11
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |