Strona 1 z 1

Jak najlepiej zacząć przygodę z rodziną ARM?

: piątek 18 maja 2018, 07:24
autor: 0110101101101101
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. 8-)

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

Re: Jak najlepiej zacząć przygodę z rodziną ARM?

: piątek 18 maja 2018, 08:43
autor: StaryAnoda_NEW
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.

Re: Jak najlepiej zacząć przygodę z rodziną ARM?

: piątek 18 maja 2018, 10:44
autor: gaweł
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.

Re: Jak najlepiej zacząć przygodę z rodziną ARM?

: piątek 18 maja 2018, 10:50
autor: StaryAnoda_NEW
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?

: piątek 18 maja 2018, 11:25
autor: squeez
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.

Re: Jak najlepiej zacząć przygodę z rodziną ARM?

: piątek 18 maja 2018, 12:16
autor: inż.wielki
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" :lol:

Re: Jak najlepiej zacząć przygodę z rodziną ARM?

: piątek 18 maja 2018, 12:25
autor: squeez
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 :)

Re: Jak najlepiej zacząć przygodę z rodziną ARM?

: piątek 18 maja 2018, 12:28
autor: SuperGość
Zerknij "po sąsiedzku" w temat viewtopic.php?f=53&t=1699

Re: Jak najlepiej zacząć przygodę z rodziną ARM?

: piątek 18 maja 2018, 17:04
autor: inż.wielki
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 :)

Re: Jak najlepiej zacząć przygodę z rodziną ARM?

: poniedziałek 21 maja 2018, 12:14
autor: 0110101101101101
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. :)

Re: Jak najlepiej zacząć przygodę z rodziną ARM?

: wtorek 22 maja 2018, 12:12
autor: StaryAnoda_NEW
Tutaj jeszcze darmowa książka o STM32 i HAL:
https://smtebooks.us/book/11156/programming-stm32-pdf

Re: Jak najlepiej zacząć przygodę z rodziną ARM?

: poniedziałek 28 maja 2018, 18:04
autor: kingahar
O, dzięki wielkie za wszelkie porady :) Przyda mi się to :)