ATNEL tech-forum https://forum.atnel.pl/ |
|
Środowisko programistyczne pod ARM (STM32) https://forum.atnel.pl/topic22853.html |
Strona 1 z 2 |
Autor: | matteo9999111 [ 8 lut 2020, o 02:05 ] |
Tytuł: | Środowisko programistyczne pod ARM (STM32) |
Witam. Mając już jakieś doświadczenie z uC AVR postanowiłem "przesiąść się" na ARMy, a dokładnie mikrokontrolery z serii STM32. Chcę zacząć od pisania kodu bez bibliotek tz. za pomocą rejestrów. W tym miejscu jest problem. Nie wiem jak poprawnie zainstalować środowisko programistyczne, aby wszystko poprawnie działało. Próbowałem zainstalować środowisko wg poradnika Freddiego Chopina (niestety stare linki do pobrania w większości nie działają) oraz ze strony ucgosu.pl (niestety po 3 krotnym instalowaniu wszystkiego od nowa wyskakuje mi błąd, że nie widzi bibliotek, zainstalowałem biblioteki STM oraz ARM). Ktoś instalował ostatnio środowisko pod ARM, bądź wie jak to zrobić? |
Autor: | tischtennis [ 8 lut 2020, o 09:28 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
Pobierasz Atollica, generujesz projekt na uC bez HALa i piszesz na rejestrach - nie ma żadnego problemu. |
Autor: | Lex_ [ 8 lut 2020, o 10:46 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
Atollic działa u mnie bez problemu - instalacja standardowa. System Workbench for STM32 jest środowiskiem polecanym do tych mikrokontrolerów (też go mam), ale Atollic też działa w porządku. I jak kolega wyżej napisał - ogarnij rejestry i będzie ok. |
Autor: | gizmo5418 [ 8 lut 2020, o 11:28 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
Obecnie Attolica( przejętego przez ST) zastąpił STM32CubeIDE. Śmiało można używać Segger IDE, czy Microsoft Visual studio z pluginem, Visual Studio Code... Środowisko ma tu drugorzędne znaczenie. To, że do projektu jakieś środowisko na siłę podpina biblioteki Hal, nie oznacza, że trzeba ich uzywać. Programujesz, jak Ci wygodniej... |
Autor: | wat1970 [ 8 lut 2020, o 11:40 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
Ja szanownemu koledze mogę ze swojej strony polecić środowisko SEGGERA https://www.segger.com/downloads/embedded-studio/ do programowania STM32 i nie tylko. Tutaj masz świeży wpis jak zainstalować to środowisko http://strefapic.blogspot.com/2020/02/atsaml10e-mini-board-pierwsze.html na przykładzie ATSAM-a ale to bez znaczenia. Mogę też pomóc w razie jakichkolwiek problemów . Pozdrawiam |
Autor: | matteo9999111 [ 8 lut 2020, o 15:36 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
wat1970 napisał(a): Ja szanownemu koledze mogę ze swojej strony polecić środowisko SEGGERA https://www.segger.com/downloads/embedded-studio/ do programowania STM32 i nie tylko. Tutaj masz świeży wpis jak zainstalować to środowisko http://strefapic.blogspot.com/2020/02/atsaml10e-mini-board-pierwsze.html na przykładzie ATSAM-a ale to bez znaczenia. Mogę też pomóc w razie jakichkolwiek problemów . Postanowiłem zainstalować SEGGERA tylko mam pewnien problem. Mianowicie chodzi o skomunikowanie się St-linka v2 (na płytce Nucleo) ze środowiskiem. Autor artykułu pokazuje w jaki sposób skomunikować J-linka. Proszę o pomoc. Pozdrawiam |
Autor: | gizmo5418 [ 8 lut 2020, o 15:42 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
Na płytkę Nucleo w miejsce ST-Link wrzuć sobie J-Link-a. To kwestia wymiany firmware w zintegorowanym programatorze. Segger to umożliwia. Opis znajdziesz na stronie Segger-a https://www.segger.com/products/debug-probes/j-link/models/other-j-links/st-link-on-board/ Będziesz dużo bardziej zadowolony z pracy pod J-Link. Co prawda od niedawna środowisko Seggera umożliwia obsługę innych programatorów, ale nie wiem jak to działa. W przypadku J-Linka wybierasz tylko J-Link i wszystko działa od palca. |
Autor: | matteo9999111 [ 9 lut 2020, o 19:19 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
Tak udało mi się zainstalować program. Tylko nwm czy nie potrafię obsługiwać porgramu czy mam źle napisany kod. Po wykonaniu programu naciskam przycisk build, a potem START WITHOUT DEBUGGING. Nwm czy muszę jeszcze "startnąć" program czy coś podobnego. Ewentualnie kod jest niepoprawnie napisany (migająca dioda na PA5-podciągnięte napięcie także open drain).Widzi J-linka (po zainstalowaniu wsadu do programatora stale świeci się zielona dioda nawet przy wgrywaniu programu) Od wczoraj cały czas to męczę niestety bez efektów. |
Autor: | matteo9999111 [ 9 lut 2020, o 21:02 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
gizmo5418 napisał(a): Wybrałeś, w IDE w projekcie programator J-Link-a ? Sprawdź, czy czasami nie jest aktywny symulator. Informację powinieneś widzieć na dolnej belce IDE. Dla aktywnego symulatora jest: Nie w tamtym miejscu pisze CortexM4 on J-Link |
Autor: | gizmo5418 [ 9 lut 2020, o 22:11 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
matteo9999111, wrzuciłem Twój kod na Nucleo STM32F446RB i działa poprawnie. ------------------------ [ Dodano po: 23 minutach ] Tak, jeżeli IDE nie jest połączone z J-Link - jest w trybie dissconect. Łączy się automatycznie przy wgrywaniu wsadu do STM-a. Można oczywiście się połączyć ręcznie i ręcznie wgrać wsad. Służy do tego opcje z górnego menu Target. Connect J-Link (Ctrl+T,C), Download nazwa_projektu (Ctrl+T,L) |
Autor: | matteo9999111 [ 9 lut 2020, o 22:43 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
gizmo5418 napisał(a): matteo9999111, wrzuciłem Twój kod na Nucleo STM32F446RB i działa poprawnie. Ciekawa sprawa. Wgrałem orginalny firmware do st-linka napisałem program w CUBEIDE i działą bez zarzutu także płytka jest zdrowa. |
Autor: | matteo9999111 [ 9 lut 2020, o 22:52 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
Autor: | Nef [ 10 lut 2020, o 09:42 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
Zainstaluj sobie Atollica w wersji 9.3 (ostatnie true studio, następne to juz po integracji z cube mx) i zacznij kodzić. Bo tracisz czas na coś tak bezsensownego jak zestawienie środowiska. https://atollic.com/resources/download/windows/ wypełnij jakieś fejkowe dane jak nie chcesz swoich podawać i tyle. |
Autor: | matteo9999111 [ 10 lut 2020, o 12:37 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
Nie podałem poprawnego uC w set target processor przy tworzeniu projektu i w tym tkwił problem. Teraz wszystko działa jak należy. Dziękuje za pomoc |
Autor: | gizmo5418 [ 10 lut 2020, o 12:52 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
O widzisz. Byłem w 99% pewien, że coś źle procka wybierasz. Widać to po Twoim ostatnim zrzucie z debugger-a. Po 255 cyklach CPU wskoczył do HardFault Handlera. Samo Środowisko Seggera jest fajne i szybkie. Tak jak i Crossworks ARM. Faktem jest, że są to środowiska odrobinę specyficzne, ale warte poznania. Nauka oraz poznawanie nowego środowiska nigdy nie jest czasem straconym, jak to pisał jeden z kolegów. |
Autor: | Nef [ 10 lut 2020, o 13:28 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
gizmo5418 napisał(a): Nauka oraz poznawanie nowego środowiska nigdy nie jest czasem straconym, jak to pisał jeden z kolegów. Otóż trochę jest, bo o ile hobbysta ma czas na marnotrawienie być może to już zawodowo się to po prostu nie opłaca. Środowisko Seggera moim zdaniem jest gorsze od attolica i bardziej toporne. Dlatego ja podałem sprawdzone, które działa od strzała i przy okazji można je sobie skonfigurować po swojemu np by miało ciemny motyw który nie "wali" tak po oczach. Stratą czasu natomiast nie jest postawienie sobie środowiska od zera ściągając samemu toolchain ARmowy, biblioteki, dokumentacje, openocd i pisać w oderwanym IDE np VS Code nawet Eclipse. Dlaczego? Bo takie środowisko można łatow zautomatyuzować, nauczyć się jak działa kompilacja, linkowanie, budowanie itd. Jeżeli ktoś chce pomigać diodą do szuflady, śmiało, każde IDE się nada. Natomiast jak ktoś chce się czegoś nauczyć od "zera" to polecam ww drogę. Może i bolesną ale na pewno bardziej edykuacyjną niż użeranie się z IDE żeby w nim coś wyklikać bo ktoś coś zrobił za nas i nie do końca dobrze |
Autor: | gizmo5418 [ 10 lut 2020, o 14:16 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
GPIO_MODER_MODE5_0 to jest definicja. Znajdziesz ją w pliku nagłówkowym, opisującym wybrany mikrokontroler. Pojawia się również w podpowiedzi po najechaniu wskaźnikiem myszki na tą definicję. Jak nie wiesz, jaki to plik nagłówkowy jest z tymi definicjami, to kliknij na niej prawym klawiszem myszy. Otworzy się menu podręczne i z tego menu wybierz opcję skoku do pliku, zawierającego tą definicję. |
Autor: | Nef [ 10 lut 2020, o 14:21 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
Zobacz sobie na co rozwija się makro GPIO_MODER_MODE5_0. Podpowiem że jest to po prostu jedynka przesunięta o odpowiednią ilość bitów w lewo. W tym przypadku 5_0 oznacza bit 10 a MODE5_1 bit 11. |
Autor: | jez2000 [ 10 lut 2020, o 15:03 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
GPIO_MODER_MODE5_0 to bit numer 0 w polu MODER5 GPIO_MODER_MODE5_1 to bit numer 1 w polu MODER5 |
Autor: | matteo9999111 [ 10 lut 2020, o 15:13 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
Czyli jak dobrze zrozumiałem: |
Autor: | jez2000 [ 10 lut 2020, o 15:25 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
Jak chcesz wpisac 11 do moder 5 to mususz zrobic. |=GPIO_MODER_MODE5_1 | GPIO_MODER_MODE5_0 czyli bit 1 i bit 0 - na te dwie pozycje wpisujesz jedynki. Na pozycje 1 w moder i pozycje 0 w moder |
Autor: | matteo9999111 [ 19 lut 2020, o 18:49 ] |
Tytuł: | Re: Środowisko programistyczne pod ARM (STM32) |
Tak apropo Seggera to w jaki sposób utworzyć nowy projekt żeby nie usunąć wcześniejszych. Dając new solution kasuje mi się wszystko nwm dlaczego. |
Strona 1 z 2 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |