Jak najlepiej zacząć przygodę z rodziną ARM?
- 0110101101101101
- Posty: 18
- Rejestracja: sobota 12 maja 2018, 14:55
Jak najlepiej zacząć przygodę z rodziną ARM?
Hej. Pytanko do tych, co już w mikrokontrolerach ARM siedzą głęboko po uszy.
Jestem na etapie, gdzie już widzę, o ile lepiej wyposażone, czy to w pamięć, czy w peryferia i o ile bardziej nowoczesne są ARM'y w porównaniu do AVR'ów i poważnie planuję zmianę platformy i chyba to już czas najwyższy.
Rodzinkę AVR i język C poznaję dopiero od około 4 miesięcy i poznałem w tym czasie zagadnienia takie jak:
przerwania, timery, protokoły komunikacji i2c, spi, 1wire, usart, przetwornik ADC, więc praktycznie same podstawy.
Teraz chciałbym się przesiąść na ARM'y, ale chciałbym zasięgnąć Waszej opinii i wskazówek od czego zacząć?
Myślałem nad zakupem płytki NUCLEO-F411RE z rdzeniem Cortex M4 - czy jest to dobry wybór, czy celować w coś innego?
Używać bibliotek, czy pisać na rejestrach?
Napiszcie troszkę - jak Wy zaczynaliście? Jak byście zaczęli teraz? Podpowiedzcie adeptowi.
Jestem na etapie, gdzie już widzę, o ile lepiej wyposażone, czy to w pamięć, czy w peryferia i o ile bardziej nowoczesne są ARM'y w porównaniu do AVR'ów i poważnie planuję zmianę platformy i chyba to już czas najwyższy.
Rodzinkę AVR i język C poznaję dopiero od około 4 miesięcy i poznałem w tym czasie zagadnienia takie jak:
przerwania, timery, protokoły komunikacji i2c, spi, 1wire, usart, przetwornik ADC, więc praktycznie same podstawy.
Teraz chciałbym się przesiąść na ARM'y, ale chciałbym zasięgnąć Waszej opinii i wskazówek od czego zacząć?
Myślałem nad zakupem płytki NUCLEO-F411RE z rdzeniem Cortex M4 - czy jest to dobry wybór, czy celować w coś innego?
Używać bibliotek, czy pisać na rejestrach?
Napiszcie troszkę - jak Wy zaczynaliście? Jak byście zaczęli teraz? Podpowiedzcie adeptowi.
- StaryAnoda_NEW
- User
- Posty: 103
- Rejestracja: środa 04 kwie 2018, 16:48
Re: Jak najlepiej zacząć przygodę z rodziną ARM?
Hej
Ja co prawda nie siedzę w ARM-ach głęboko po uszy, ale się wypowiem
Język C jest taki sam na AVR-ach jak i na ARM-ach (występują delikatne różnice). Ale z doświadczenia wiem, że jeżeli masz jakieś ubytki w C to one bardziej wyjdą w ARM-ach niż w AVR-ach.
AVR-y to standard każdy od nich zaczynał, i dobrze łatwiej jest się połapać w dokumentacji, a obudowy przewlekane sprzyjają nauce.
Jeżeli chodzi o ARM-y to celowałbym na początek na rodzinę F1
http://www.st.com/en/evaluation-tools/nucleo-f103rb.html
Masz do tego kursy:
HAL:
https://forbot.pl/blog/kurs-stm32-f1-migracja-na-hal-wstep-spis-tresci-id23580
SPL(już nie wspierany przez ST):
https://forbot.pl/blog/stm32-praktyce-1-platforma-srodowisko-id2733
Rejestry:
https://www.elektroda.pl/rtvforum/topic3111562.html
Jeżeli chodzi o moją osobę to zaczynałem od mikrokontrolera AVR a dokładnie ATMEGA8 i języka BASCOM, następnie zrobiłem przesiadkę na język C i na mikrokontroler ATMEGA32. Po jakiś dwóch - trzech latach kupiłem pierwszego ARM-a, właśnie wcześniej wspomniany mikrokontroler STM32F103RB, na początku był SPL, potem HAL, a w obecnym czasie staram się używać tylko rejestrów.
AVR-ów używam do dnia dzisiejszego do prototypowania.
Ja co prawda nie siedzę w ARM-ach głęboko po uszy, ale się wypowiem
Język C jest taki sam na AVR-ach jak i na ARM-ach (występują delikatne różnice). Ale z doświadczenia wiem, że jeżeli masz jakieś ubytki w C to one bardziej wyjdą w ARM-ach niż w AVR-ach.
AVR-y to standard każdy od nich zaczynał, i dobrze łatwiej jest się połapać w dokumentacji, a obudowy przewlekane sprzyjają nauce.
Jeżeli chodzi o ARM-y to celowałbym na początek na rodzinę F1
http://www.st.com/en/evaluation-tools/nucleo-f103rb.html
Masz do tego kursy:
HAL:
https://forbot.pl/blog/kurs-stm32-f1-migracja-na-hal-wstep-spis-tresci-id23580
SPL(już nie wspierany przez ST):
https://forbot.pl/blog/stm32-praktyce-1-platforma-srodowisko-id2733
Rejestry:
https://www.elektroda.pl/rtvforum/topic3111562.html
Jeżeli chodzi o moją osobę to zaczynałem od mikrokontrolera AVR a dokładnie ATMEGA8 i języka BASCOM, następnie zrobiłem przesiadkę na język C i na mikrokontroler ATMEGA32. Po jakiś dwóch - trzech latach kupiłem pierwszego ARM-a, właśnie wcześniej wspomniany mikrokontroler STM32F103RB, na początku był SPL, potem HAL, a w obecnym czasie staram się używać tylko rejestrów.
AVR-ów używam do dnia dzisiejszego do prototypowania.
Re: Jak najlepiej zacząć przygodę z rodziną ARM?
StaryAnoda_NEW pisze:Jeżeli chodzi o ARM-y to celowałbym na początek na rodzinę F1
To dobry pomysł, celować w mniej złożone procki. Są takie procki STM32F050 (kilka modeli). Wiesz co mają fajnego? Kompilator KEILuVISION jest bezpłatny i bez limitu kodu dla tego procka.
Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse
- StaryAnoda_NEW
- User
- Posty: 103
- Rejestracja: środa 04 kwie 2018, 16:48
Re: Jak najlepiej zacząć przygodę z rodziną ARM?
Fakt to prawda, dla F0 jest darmowa wersja uVision Keil. Dla innych modeli natomiast dobrą alternatywą na dzień dzisiejszy jest Atollic TrueSTUDIO.
Re: Jak najlepiej zacząć przygodę z rodziną ARM?
Poza tym lepiej poznac jedno środowiako ale dobrze niż skakać z kwiatka na kwiatek. Atollic TrueStudio ma tą przewagę że należy do STM ma pełne wsparcie, porządny debuger jest za free bez żadnych ograniczeń (dla STM32).
A jak zechcesz inne ARM z Cortex to Atollic też da radę może nie będzie wszystkich funkcji w debugerze (wersja lite) ale da się pisać bez ograniczeń.
A na STM32 poza HAL, rejestrami, porzuconym SPL jest jeszcze LL dla mnie to takie połączenie HAL i rejestrów lub jak by to inaczej ująć mniej rozbudowany (abstrakcyjny) HAL z domieszką rejestrów ... i mi pasuje najbardziej takie rozwiązanie.
A jak zechcesz inne ARM z Cortex to Atollic też da radę może nie będzie wszystkich funkcji w debugerze (wersja lite) ale da się pisać bez ograniczeń.
A na STM32 poza HAL, rejestrami, porzuconym SPL jest jeszcze LL dla mnie to takie połączenie HAL i rejestrów lub jak by to inaczej ująć mniej rozbudowany (abstrakcyjny) HAL z domieszką rejestrów ... i mi pasuje najbardziej takie rozwiązanie.
- inż.wielki
- User
- Posty: 307
- Rejestracja: niedziela 20 gru 2015, 23:11
Re: Jak najlepiej zacząć przygodę z rodziną ARM?
squeez pisze:Poza tym lepiej poznac jedno środowiako ale dobrze niż skakać z kwiatka na kwiatek.
Zaczynając kompilację od skryptów w konsoli, poznawając co z czym, parę mejkfajli i tak na prawdę można korzystać z dowolnego środowiska, bo to tylko nakładki. Dół jest taki sam
A według mnie, nie ma znaczenia od jakiego procka zaczniesz. Możesz zacząć od proca f7... bo i tak na początek tylko pomigasz diodą. Chociaż darmowe środowisko ma tutaj duże znaczenie i faktycznie, jest to dobry argument żeby zacząć od tej rodziny procesorów. Pierwszy mój projekt był pisany na L15* z tego co pamiętam. Parę dni mi zajęło wgl ogarnięcie, co robi dane narzędzie w konsoli.
Ewentualnie, jeżeli pracujesz na linuxie, mogę pomóc Ci ze skonfigurowaniem środowiska wprost z konsoli.
Ps: jak w pracy zobaczyli że wszystko robię w konsoli, a szczególnie że korzystam z edytora VI zostałem nazwany "jednym z tych"
Re: Jak najlepiej zacząć przygodę z rodziną ARM?
ja też pracuję na linuxie i zaczynałem od tego żeby ożenić ECLIPSE z kompilatorem ARM (STM32) i też sporo rzeźbiłem w konsoli, nawet to działało ale musiałem się namęczyć na początku, łącznie z makefile a najwięcej zabawy miałem ze skryptem linkera, potem jeszcze openocd żeby debugować.
...
Później Atollic wypuściło TrueStudio dla Linux-a (nawet udało mi się zdobyć wersję beta, co dawali zapaleńcom do testów), spróbowałem i już się nie męczę we własnoręczne rzeźbienie taki morał mojej przygody.
Ale jak to mawiają, najlepiej uczy się na własnych błędach niż na cudzych
...
Później Atollic wypuściło TrueStudio dla Linux-a (nawet udało mi się zdobyć wersję beta, co dawali zapaleńcom do testów), spróbowałem i już się nie męczę we własnoręczne rzeźbienie taki morał mojej przygody.
Ale jak to mawiają, najlepiej uczy się na własnych błędach niż na cudzych
Re: Jak najlepiej zacząć przygodę z rodziną ARM?
Zerknij "po sąsiedzku" w temat viewtopic.php?f=53&t=1699
- inż.wielki
- User
- Posty: 307
- Rejestracja: niedziela 20 gru 2015, 23:11
Re: Jak najlepiej zacząć przygodę z rodziną ARM?
Ale przyznaj ile razy przydała Ci się wiedza "co siedzi pod maską". W wypadku gotowego środowiska tak na prawdę nie wiesz co się dzieje pod spodem. A ja do dziś korzystam tylko i wyłączonie z konsoli, nawet kod na ESP piszę w VIM i wrzucam poprzez własne skrypty. Dzięki temu można potem na prawdę dużo procków obsługiwać i to dosyć szybko, wystarczy kompilator, a samo środowisko przecież pisze się raz, tzn skrypty. Potem to już jest tylko kopiuj wklej
- 0110101101101101
- Posty: 18
- Rejestracja: sobota 12 maja 2018, 14:55
Re: Jak najlepiej zacząć przygodę z rodziną ARM?
StaryAnoda_NEW pisze:Jeżeli chodzi o ARM-y to celowałbym na początek na rodzinę F1
http://www.st.com/en/evaluation-tools/nucleo-f103rb.html
Dziękuję za odpowiedź! Zdecyduję się właśnie na rodzinę F1, dziękuję również za podesłane kursy!
squeez pisze:Poza tym lepiej poznac jedno środowiako ale dobrze niż skakać z kwiatka na kwiatek. Atollic TrueStudio ma tą przewagę że należy do STM ma pełne wsparcie, porządny debuger jest za free bez żadnych ograniczeń (dla STM32).
A jak zechcesz inne ARM z Cortex to Atollic też da radę może nie będzie wszystkich funkcji w debugerze (wersja lite) ale da się pisać bez ograniczeń.
A na STM32 poza HAL, rejestrami, porzuconym SPL jest jeszcze LL dla mnie to takie połączenie HAL i rejestrów lub jak by to inaczej ująć mniej rozbudowany (abstrakcyjny) HAL z domieszką rejestrów ... i mi pasuje najbardziej takie rozwiązanie.
Ściągnąłem właśnie Atollic i z tym środowiskiem rozpocznę naukę. Dziękuję.
inż.wielki pisze:Ewentualnie, jeżeli pracujesz na linuxie, mogę pomóc Ci ze skonfigurowaniem środowiska wprost z konsoli.
Ja akurat pracuję na Windowsie, ale dziękuję serdecznie za odpowiedź!
wojtek pisze:Zerknij "po sąsiedzku" w temat viewtopic.php?f=53&t=1699" target="_blank
Myślę, że najpierw zacznę od czegoś w języku polskim - angielski mam wystarczający do czytania i rozumienia dokumentacji, ale z całą książką mógłbym mieć problemy - znalazłem u nas na forum podlinkowany kurs z elektrody: https://www.elektroda.pl/rtvforum/topic3111562.html jest on przeznaczony dla początkujących i uczy programowania na rejestrach, a nie wykorzystuje bibliotek - na nie można przeskoczyć przecież w każdym momencie.
- StaryAnoda_NEW
- User
- Posty: 103
- Rejestracja: środa 04 kwie 2018, 16:48
Re: Jak najlepiej zacząć przygodę z rodziną ARM?
Tutaj jeszcze darmowa książka o STM32 i HAL:
https://smtebooks.us/book/11156/programming-stm32-pdf
https://smtebooks.us/book/11156/programming-stm32-pdf
Re: Jak najlepiej zacząć przygodę z rodziną ARM?
O, dzięki wielkie za wszelkie porady Przyda mi się to
Wróć do „Źródła wiedzy na temat ARM z STMicroelectronics”
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość