Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 19 kwi 2024, o 15:38


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 30 ] 
Autor Wiadomość
PostNapisane: 22 lip 2015, o 17:59 
Offline
Użytkownik

Dołączył(a): 11 kwi 2014
Posty: 196
Lokalizacja: Sandomierz
Pomógł: 0

Cześć wszystkim.

Troszkę z AVR-ami już pracowałem, teraz chciałbym rozpocząć przygodę z mikrokontolerami z rodziny STM32 opartymi na rdzeniu ARM. Z literatury właśnie dotarła dziś książka M. Galewskiego "STM32 Aplikacje i przykłady w języku C".

Literatura to jedno, ale sprzęt i oprogramowanie to drugie. Którą development board, jakie oprogramowanie oraz narzędzia do programowania polecacie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lip 2015, o 18:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 27 maja 2013
Posty: 562
Lokalizacja: Bydgoszcz
Pomógł: 23

Ja obrałem podobną drogę jak przy nauce AVR C czyli tak samo jak jest dedykowany zestaw ATB do książek Mirka tu w tym przypadku Galewskiego ale też i Paoprockiego. Uważam że to mi się sprawdziło i w swobodny sposób piszę sobie na AVR programy wg. założeń własnych jakich chce więc przy nauce ARM a dokładnie STM32 idę podobną drogą i swój start zacząłem na dedykowanym zestawie:

ZL27ARM
https://kamami.pl/zestawy-uruchomieniowe-stm32/134653-zl27arm-zestaw-uruchomieniowy-z-mikrokontrolerem-stm32f103vbt6.html?search_query=zl27arm&results=6

do tego oryginalny programator ST-linka żeby nie kupować jakiś tanich podrób z netu co by mogły nie działać bądź łamać warunki licencjonowania, też czysta analogia do ATB-USBASP :)
ST MICROELECTRONICS ST-LINK/V2
http://www.tme.eu/pl/details/st-link_v2/programatory/st-microelectronics/

I jak na razie powoli idzie nieźle:
Obrazek

próbowałem wcześniej zrobić sobie coś takiego na Nucleo ale coś mi nie szło w czystym C, mbed owszem, teraz już w teori wiem że poległem chyba na incjalizacji zegara taktującego ale cóż z dedykowanym zestawem gdzie w książce jest krok po korku napisane co robić idzie przyswajanie i poznawanie wiedzy przynajmniej mi znacznie szybciej i łatwiej.

Środowisko na razie też to dedykowane z książki Kail uVision, ale pewnie finalnie będę chciał sobie skonfigurować darmowego Eclipsa ale to dopiero jak przerobie wszystkie lekcje z książek i się sam tym trochę pobawię.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lip 2015, o 19:49 
Offline
Użytkownik

Dołączył(a): 11 kwi 2014
Posty: 196
Lokalizacja: Sandomierz
Pomógł: 0

Intre napisał(a):
próbowałem wcześniej zrobić sobie coś takiego na Nucleo ale coś mi nie szło w czystym C, mbed owszem, teraz już w teori wiem że poległem chyba na incjalizacji zegara taktującego ale cóż z dedykowanym zestawem gdzie w książce jest krok po korku napisane co robić idzie przyswajanie i poznawanie wiedzy przynajmniej mi znacznie szybciej i łatwiej.


Nie rozumiem jaka jest różnica w programowaniu procesora w ZL27ARM (STM32F103VBT6) a procesora w STM32 NUCLEO-F103xx (w NUCLEO-F103xxRB jest STM32F103RBT6), to jest ta sama rodzina procesorów, ten sam rdzeń.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lip 2015, o 20:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 27 maja 2013
Posty: 562
Lokalizacja: Bydgoszcz
Pomógł: 23

Widzisz ja mam takie Nucleo STM32F103

http://botland.com.pl/stm32-nucleo/2238-stm32-nucleo-f103rb-stm32f103rbt6-arm-cortex-m3.html
Procesor w nim STM32F103RBT6
Niby to samo ale różnice są, chociażby ilość nóżek ale to tam pikuś na Nucleo tym brakuje kwarców zewnętrznych, no cóż można sobie je przylutować, zmieniając też odpowiednio zworki albo wykminić jak zmienić inicjalizację przykładowego startowego programu z Galewskiego tak żeby ruszyła na Nucleo - teraz już bym sobie pewnie z tym poradził ale w 1 momencie startu wszystko takie nowe, obce, ciemność.... No ale są tez osoby co się uczą na stykówkach AVR itp., mi to nie odpowiada ja wole mieć wzorcowy projekt który mi odrazu chodzi. Do tego dochodzi jeszcze brak JTAG na którym książka/książki też się opierają ucząc korzystania z niego.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lip 2015, o 20:40 
Offline
Użytkownik

Dołączył(a): 01 sty 2014
Posty: 116
Pomógł: 14

marcin w napisał(a):
ja wole mieć wzorcowy projekt który mi odrazu chodzi.


Jedni lubią programować już gotowy układ a inni lubią sami zbudować układ aby poznać go dogłębnie;)

Ja sam przygodę rozpoczynałem na stykówce i uważam, że był to najlepszy wybór dla mnie. Zaznaczam, że interesuje mnie nie tylko strona programowa ale również tworzenie układów elektronicznych.

Kilka tygodni temu przesiadłem się na mikrokontrolery z rdzeniem ARM, dokładniej na płytkę STM32VL DISCOVERY. Płytkę kupiłem za 35zł. Zanim jeszcze miałem zestaw przeczytałem" Mikrokontrolery STM32 w Praktyce" Krzysztofa Paprockiego. Problem w tej książce jak i w książce Garlewskiego jest taki, że korzystają oni z SPL. Jedni chwalą, drudzy nienawidzą. Jako, że lubię znać wszystko na wylot to postanowiłem jednocześnie nauczyć się pisać przy pomocy bibliotek jak i bez nich. Gdzie mi wygodniej używam biblioteki a w innych miejscach nie. Wydaje mi się, że tylko takie postępowanie pozwoli poznać układ na wylot, jednocześnie czasami oszczędzając sobie pracy. Jeśli będziesz chciał używać bibliotek z książki i robić tylko to co autor ci pokaże to kup płytkę taką jak w książce. Jeśli chcesz sam do czegoś dojść to polecam jednak tylko opierać się na książce i kupić płytkę niekoniecznie taką jak autor poleca ale taką która pozwoli Ci się rozwinąć.

Książka skończy się po kilku dniach a na polskim rynku są dostępne tylko dwie książki. Dalej będziesz musiał iść sam i nie będzie miało już znaczenia jaką masz płytkę.

Co mogę jeszcze polecić to Reference Manual i datasheet układu. W trakcie czytania książek jak i później powinno być to twoje główne źródło informacji. Znajdziesz tam prawie wszystkie odpowiedzi na temat układów;) Książki są tylko krótkim wstępem;)

Powiem Ci, że jeśli masz jakieś pojęcie o AVR to po kilku dniach z rdzeniem ARM nie będziesz miał już problemów. Nauka szła w błyskawicznym tempie;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lip 2015, o 21:16 

Pomógł: 0

Przy STMach stykówki bym nie polecał :) IMHO na początek jakiś gotowy zestaw z różnymi pierdółkami na pokładzie - żeby się nie zastanawiać czy "nie działa bo program czy źle podłączone?". Nowości na początku i tak będzie dużo. Dodatkowo do zestawów są dołączane jakieś przykłady - zawsze jest to jakiś punkt wyjścia, albo wsparcie w chwilach słabości. Co do mikrokontrolera: dla początkującego programisty STMów, używającego języka wysokiego poziomu, różnica między Cortexem M3 a M4 jest znikoma - to problem kompilatora aby wykorzystać potencjał rdzenia. Z drugiej strony Cortex-M4 to będzie większy mikrokontroler co może zniechęcić na początku. Ja zacząłem od STMF103 i to bym polecał.

Mam dwie płytki do zabawy:
- HY-mini
- STM32F429 Discovery
bardziej lubię tą pierwszą... mimo, że to chińszczyzna - wydaje się solidniejsza i jest lepiej wykonana (serio!) niż Discoverka. No i jest wygodniejsza w użyciu. W Discoverce denerwuje odpadający wyświetlacz, paskudne luty i te idiotyczne krótkie goldpiny (przewody połączeniowe z nich spadają); no i pełny opis goldpinów jest na spodzie płytki. Żeby było śmieszniej nawet dokumentacja dołączona do chińskiej płytki jest przyjemniejsza w obyciu.

Debugger obowiązkowo! Płytki Discovery i Nucleo mają już na pokładzie debugger (i można go wykorzystać również do innych procków - nie tylko tego na płytce). Do HY-mini kupiłem JTAG autorstwa Freddiego Chopina z Elektrody (Jtag_lock_pick tiny2) i sobie chwalę.

Zegarami nie ma co straszyć - 99% układów peryferyjnych może działać na domyślnych 8MHz z wbudowanego oscylatora ;)

Podpisuję się pod tym co mówi przedmówca o "kończeniu się książki po paru dniach" i Reference Manualu. Dodatkowy kłopot jest taki, że biblioteka SPL na której opierają się książki nie jest już rozwijana przez ST. Koncepcja się zmieniła i teraz proponują CubeMX czy coś takiego... za jakiś czas może znowu im się odwidzi ;) A rejestry są wieczne :mrgreen:



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lip 2015, o 22:15 
Offline
Użytkownik

Dołączył(a): 11 kwi 2014
Posty: 196
Lokalizacja: Sandomierz
Pomógł: 0

Patrząc na AVR-y, ATMEL dostarczył toolchain, który można zaaplikować do darmowego środowiska np eclipse. Udostępnia on gotowe biblioteki z definicjami rejestrów, w przypadku xmega jest nawet każde urządzenie peryferyjne jest przedstawione jako struktura, można konfigurować poszczególne bloki używając bitmasek czy grup konfiguracyjnych (sufix _gc)

Czym się różni biblioteka do STMa od tego co atmel w toolchain dostarcza ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2015, o 07:31 
Offline
Użytkownik

Dołączył(a): 25 cze 2015
Posty: 123
Pomógł: 4

StdLibs czy hal na cmsis co za różnica, chcesz poznać procek, nie będziesz się kopał po kostkach z rejestrami, bo mimo wszystko to nie 8bitowiec, gdzie nawet uart czy spi ma 10x mniej ustawień niż STM ;). Co by trochę postraszyć początkujących.

Biblioteki to po prostu zbiór przykładów jak obsłużyć dany komponent procesora. Ot na strukturach, przez co niektórzy "fachowcy" dostają spazmów.
Zacząć jest łatwiej, co za problem potem powoli robić implementację nawet na asemblerze jeżeli taka potrzeba poszczególnych podzespołów. Ktoś ma czas, zasoby czy potrzebę się tak bawić.

Chcesz uruchomić, sprawdzić coś szybko ściągasz paczkę StdLibs pod dany procek masz przykłady, możesz szybko np. sprawdzić czy faktycznie timer HRTIM ma rozdzielczość 217ps w 334 ;).

Fajnie się gada, rejestry, rejestry, tylko jakoś nie widać, by się ktoś na forach dzielił wiedzą i przykładami jak na rejestrach sprawdzić to czy tamto. Może początkujący są za głupi, może trzeba najpierw nauczyć się na pamięć Reference Manuala do którego tak każdy chętnie odsyła bez wytłumaczenia chodźby 1/100 z tego co tam się znajduje.

Nie! dziękuje, ja postoje.

Jak mam się uczyć sam, (niż wysłuchiwać jakie to STL/StdLibs są złe) wolę sobie w/g przykładów otworzyć Reference Manual, zobaczyć, deklaracje, define w przykładach, co gdzie, pod jakimi adresami, nazwy w Przykładach z StdLibs, są praktycznie tymi samymi co w Reference, można zobaczyć jak wpisywane są bity, czy jak ustawiane dla poszczególnych trybów działania.

Odpalasz przykład migania diodą, klikasz sobie po referencjach, definicjach, definach, gdzie co i jak. Można dzięki temu się wiele dowiedzieć.

Ale nie, lepiej kupić procesor patrzeć na niego jak szpak i zanim nie opanujesz rejestrów to lepiej nie podpinaj w ogóle go do prądu...

Naprawdę chciał bym by jeden śpeć z drugim śpecem krytykującym tak STL, czy StdLibs poświęcił trochę swojego jak że cennego czasu, na wytłumaczenie i pokazanie przykładów na rejestrach, z wytłumaczeniem, a nie tylko, wrzucić o przecież na rejestrach jest prościej, ryp, przykład zero opisów.

No bo przecież dobry kod tłumaczy się sam, HA! może na etapie zaawansowanym tak, ale na początku, to równie dobrze mogło by być po mandaryńsku.
Nie wiem, może piszę tylko w moim imieniu, może reszta początkujących tak dobrze lawiruje wśród Datasheetów, Reference Manuali, że faktycznie 3 dni, z RM i procesor (każdy) mają w małym palcu i program praktycznie pisze się sam.

PS. sarkastyczny ton, jak najbardziej zamierzony.

_________________
"O sygnałach bez całek" Czesław Frąc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2015, o 09:19 

Pomógł: 0

Biblioteki vs rejestry to temat z gatunku wyższości jednych świąt nad drugimi... Jak widać niektórzy nie są w stanie pohamować sarkastycznych zapędów i odpowiedzieć na proste pytanie :P Jak chcesz więcej takich przepychanek i trochę merytorycznych argumentów za i przeciw, to bez problemu znajdziesz na forach ;)

ST dostarcza plik nagłówkowy z "rejestrami i bitami" do układów peryferyjnych mikrokontrolera. Nie znam Xmeg, ale tutaj też jest to zorganizowane w postaci struktur. Tzn. jest struktura ustawiona na konkretnym układzie peryferyjnym a jej "składnikami są poszczególne rejestry konfiguracyjne". Do tego są definicje poszczególnych bitów. Nazwy bitów i rejestrów są w 99% zgodne z dokumentacją. I do plików nagłówkowych raczej nikt nie ma zastrzeżeń. Kontrowersje budzą funkcje biblioteczne przeznaczone do konfigurowania peryferiów - zerknij do przykładów z książki to zobaczysz.

Głupoty o czytaniu całego Reference Manuala można wsadzić między bajki - rozumiem, że zwolennicy tej teorii chcąc migać diodą na AVR czytają Datasheet od deski do deski za każdym razem...

ramrusazer napisał(a):
Fajnie się gada, rejestry, rejestry, tylko jakoś nie widać, by się ktoś na forach dzielił wiedzą i przykładami jak na rejestrach sprawdzić to czy tamto. [...] Naprawdę chciał bym by jeden śpeć z drugim śpecem krytykującym tak STL, czy StdLibs poświęcił trochę swojego jak że cennego czasu, na wytłumaczenie i pokazanie przykładów na rejestrach, z wytłumaczeniem, a nie tylko, wrzucić o przecież na rejestrach jest prościej, ryp, przykład zero opisów.
Któż wie co przyniesie przyszłość :D



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2015, o 09:30 
Offline
Użytkownik

Dołączył(a): 25 cze 2015
Posty: 123
Pomógł: 4

No właśnie mam na myśli "tamte" przepychanki.

wwojtek napisał(a):
Kontrowersje budzą funkcje biblioteczne przeznaczone do konfigurowania peryferiów - zerknij do przykładów z książki to zobaczysz.


Widzisz, ja jestem cały czas początkujący i raczej takie podejście będę miał długo,
Nie widzę tam żadnych kontrowersji, nie wiem, laleczkę voodoo trzeba mieć, jakiś rasizm tam panuje

Ot nadmiarowość też mi coś, ot kod ma kilka kb więcej, wielkie mi mecyje.
To nie Tiny, z 1Kb Flasha i 16b ramu ;).

J.w by coś sprawdzić, zacząć, nie ma co się rzucać na rejestry, po za tym jak mówiłem, konia z rzędem temu kto na początku drogi, zrozumie cały ten bełkot w PDFach w dodatku nie w natywnym języku czytającego.

Ja nie deprecjonuje zalet rejestrowego podejścia, robienia do każdego projektu praktycznie podejścia od zera (bez cmsis), bo są magicy co tak robią i potrafią, tylko jakoś nie dzielą się wiedzą, jak do tego doszli.
Dlatego w.g mnie ich wieczne narzekanie jakie to STL, czy Std są złe, straszne i w ogóle do ( Y ) niech sobie zostawią dla siebie, bo dla początkującego kompletnie z ich bełkotu śpeca zapatrzonego w siebie, nic nie wynika!.

_________________
"O sygnałach bez całek" Czesław Frąc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2015, o 09:57 
Offline
Użytkownik

Dołączył(a): 25 cze 2015
Posty: 123
Pomógł: 4

Problem w tym, że temat brzmi "STM32 - pierwsze kroki, wybór sprzętu i oprogramowania" a znowu jest kwestia, że pisanie na tych złych strasznych bibliotekach to w ogóle nie ma sensu.

W literaturze do AVR, dzięki Mirkowi i Tomkowi można "przebierać" (całe dwie 3 pozycje hehe), tyle że dla STMów, po za w zasadzie Galewskim (którego osobiście mogę polecić na całkowity początek), to nie ma nic. Paprocki to tłumaczenie i to w dodatku po łepkach datasheeta, nie jest zła, też do niej zaglądam.

J.w trzeba trochę na początku ogarnąć przez przykłady co i jak, potem już idzie co raz lepiej. Można nawet próbować zadawać pytania na elce, oczywiście nie przyznawać się, że korzysta się z StdLibs :lol:

_________________
"O sygnałach bez całek" Czesław Frąc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2015, o 10:19 
Offline
Użytkownik

Dołączył(a): 01 sty 2014
Posty: 116
Pomógł: 14

Plytki z serii Discovery sa o tyle fajne, ze posiadaja wbudowany programator i debugger. Bierz to co ci sie podoba a nie to co jest w ksiazkach. Tak na prawde nie ma znaczenia co kupisz. Byle by cos kupic i juz programowac. Po jakims czasie bedziesz juz sam dobrze wiedzial czego potrzebujesz;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2015, o 10:31 
Offline
Użytkownik

Dołączył(a): 25 cze 2015
Posty: 123
Pomógł: 4

Było już kilka tematów, jeżeli chcesz coś prostego, bez accelerometrów (które chyba tylko są dla bajeru, chyba że planujesz robota/quadrocopter itp.) to Nucleo masz fajnie rozwiązane, piny masz pod shieldy ardunio, zgodność z UNO3 bodajże.

Po za tym masz stlink v2, na płytce tylko jedna dioda pod PA5, oraz dwa klawisze w tym jeden reset. Wszystkie piny procesora twoje.

_________________
"O sygnałach bez całek" Czesław Frąc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2015, o 16:50 
Offline
Użytkownik

Dołączył(a): 11 kwi 2014
Posty: 196
Lokalizacja: Sandomierz
Pomógł: 0

Reference Manual dla STM32F103xx i tej rodziny to aż 1128 stron !!! Zajrzałem do tejże dokumentacji, muszę przyznać by coś sensownego napisać nie znając w ogóle procka a korzystając tylko z reference manual trzeba będzie sporo czasu poświęcić na studiowane tego dokumentu.

Czarno widzę swoją przyszłość w tej dziedzinie z obecną wiedzą ...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2015, o 18:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 mar 2013
Posty: 64
Pomógł: 0

Zacznij od rozdziałów od RCC i GPIO. Dokumentacja ma 1200 stron ale zwyczajnie trzeba wiedzieć co czytać a potem z górki 8-)

_________________
-



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2015, o 18:31 

Pomógł: 0

Co tam 1,1k stron... dolicz jeszcze przynajmniej Programming Manual, Datasheet i Erratę.
Btw. STM32F103 to RM0008 - na początku masz tabelkę ze wskazówkami, które rozdziały "należy" (według ST) przeczytać przy uruchamianiu danego peryferium. Tytuł tabelki: "Sections related to each peripheral". Nigdy z tego nie korzystałem, ale może Tobie pomoże.
Rozdziału o RCC nie ma co czytać całego, na początek wystarczy tylko włączać taktowanie używanego bloku w rejestrach z końcówką "ENR" w nazwie :)



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2015, o 19:45 
Offline
Użytkownik

Dołączył(a): 25 cze 2015
Posty: 123
Pomógł: 4

wwojtek napisał(a):
Czarno widzę swoją przyszłość w tej dziedzinie z obecną wiedzą ...


Wybrałeś drogę masochisty to cierp.

J.w odpalasz kilka przykładów z Hal/cmsis, czy znienawidzone przez śpeców StdLibs i masz pogląd jak się dobrać do procka.
Na początek sobie nie zawracaj głowy taktowaniem, ustaw domyślne, chodź by wygenerowane z CubeMX. Po co ci to na początku?
Chyba że od razu, robisz profesjonalny komercyjny projekt ?.

Zaglądałeś w ogóle do przykładów które udostępnia STM ?

_________________
"O sygnałach bez całek" Czesław Frąc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2015, o 20:26 
Offline
Użytkownik

Dołączył(a): 11 kwi 2014
Posty: 196
Lokalizacja: Sandomierz
Pomógł: 0

ramrusazer napisał(a):
Zaglądałeś w ogóle do przykładów które udostępnia STM ?

Narazie zabrałem się za książkę Galewskiego, chciałbym w pierwszej kolejności mieć ogólne spojrzenie na STMy. Przyglądałem się troszkę przykładom w niej zawartym. Jak ją przeczytam to będę dalej myślał ale póki co mam troszkę innych rzeczy na głowie i opornie idzie mi jej czytanie. Może z początkiem sierpnia - kiedy zacznę 2,5 tyg urlop - uda mi się więcej poświęcić czasu na lekturę tej książki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2015, o 21:10 
Offline
Użytkownik

Dołączył(a): 25 cze 2015
Posty: 123
Pomógł: 4

Samo czytanie to nie wiele ci da, odpal sobie np. wersję darmową keila, czy eclipsa AC6, posymuluj trochę układy.
Galewski jest pod F103, dobrze poćwiczyć na żywym organizmie. Nawet nuclejkę masz na F103, ewentualnie możesz kupić tanią discoverkę VL.

_________________
"O sygnałach bez całek" Czesław Frąc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2015, o 02:29 
Offline
Nowy

Dołączył(a): 03 sty 2015
Posty: 6
Pomógł: 0

jak książkę już masz to kupuj zestaw taki jak w książce i lecisz, przerobisz książkę to później przenieść to na inny procesor czy zacząć operować trochę na rejestrach (powtarzam trochę, co za dużo to nie zdrowo) to już będzie lajcik. a i jak ktoś pisał wcześniej, świętną opcją jest przeglądanie bibliotek ;)


Sent from my iPhone using Tapatalk



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2015, o 07:03 
Offline
Użytkownik

Dołączył(a): 01 sty 2014
Posty: 116
Pomógł: 14

Pytanie było jeszcze o wybór oprogramowania. Ja na początek polecam Keil uVision. Instalujesz i działasz. Później pomyślisz o innym środowisku.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2015, o 18:04 
Offline
Nowy

Dołączył(a): 03 sty 2015
Posty: 6
Pomógł: 0

Keil ma bardzo dobry kompilator, tylko edytor tekstowy trochę kuleje i konfiguracja projektu też taka szybka nie jest. Polecam na początek Atollic'a, który jest na podstawie eclipse'a, a później przesiadka na Keil'a :)


Sent from my iPhone using Tapatalk



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2015, o 18:10 
Offline
Użytkownik

Dołączył(a): 25 cze 2015
Posty: 123
Pomógł: 4

Oj to fakt, edytor w Keilu jest jak rysowanie schematu w eaglu ;).

Jeżeli chcesz STM, to zainteresuj się np. AC6, też całkiem znośne środowisko i w pełni darmowe.
Masz jeszcze CooCox (nie wspiera wszystkich procków) jest trochę skiepszczone, ale darmowe.

_________________
"O sygnałach bez całek" Czesław Frąc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2015, o 23:56 
Offline
Użytkownik

Dołączył(a): 11 kwi 2014
Posty: 196
Lokalizacja: Sandomierz
Pomógł: 0

Trochę mało czasu mam narazie, ale doszedłem do pierwszego listingu (3.2) w książce Galewskiego, tj konfiguracja zegara, po czym od razu zacząłem wertować stm32f10x.h Jest w nim struktura zawierająca rejestry RCC.

Kod:
typedef struct
{
  __IO uint32_t CR;
  __IO uint32_t CFGR;
  __IO uint32_t CIR;
  __IO uint32_t APB2RSTR;
  __IO uint32_t APB1RSTR;
  __IO uint32_t AHBENR;
  __IO uint32_t APB2ENR;
  __IO uint32_t APB1ENR;
  __IO uint32_t BDCR;
  __IO uint32_t CSR;

#ifdef STM32F10X_CL 
  __IO uint32_t AHBRSTR;
  __IO uint32_t CFGR2;
#endif /* STM32F10X_CL */

#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL)   
  uint32_t RESERVED0;
  __IO uint32_t CFGR2;
#endif /* STM32F10X_LD_VL || STM32F10X_MD_VL || STM32F10X_HD_VL */
} RCC_TypeDef;


Jest to kopią tego co jest w reference manual. Pierwsza linijka kodu z książki

Kod:
   /* Włącz HSE */
   RCC_HSEConfig(RCC_HSE_ON);

Dla mnie jest to niezrozumiałe podejście. Program napisany tą metodą przypomina mi troszkę przykłady aplikacji pisanych pod windows w C++ czy C#. Po lekturze reference manual i spojrzeniu w bibliotekę lepiej osobiście mi będzie pasowało odwoływanie się do pewnych zasobów "imiennie" czyli po rejestrach, a więc to co w książce przerobiłbym na:

Kod:
RCC->CR |= RCC_CR_HSEON


I po czymś takim od razu widać że w rejestrze CR aktywujemy HSE.

Mimo tego książka jest nieodłącznym elementem nauki, pokazuje co i w jakiej kolejności robić, choć już samo wykonanie niekoniecznie musi być tym co autor sugeruje i pokazuje.

Tyle spostrzeżeń moich jako początkującego w tej dziedzinie.

Co do oprogramowania, w Keil jest faktycznie czasochłonne przygotowanie projektu. Muszę posiedzieć i przetestować wszystko co darmowe. Jakie ograniczenia ma Atollic w wersji darmowej ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lip 2015, o 01:04 
Offline
Nowy

Dołączył(a): 03 sty 2015
Posty: 6
Pomógł: 0

z czasem docenisz biblioteki i warto ich używać, między innymi dlatego, że potem przerzucić projekt na inny procesor nie będzie takim problemem :) ale wiadomo, czasem trzeba też odwołać się bezpośrednio do rejestru. co do atollica w darmowej wersji nie ma c++ i instalacji pluginów eclipse'a, a tak to chyba nie ma jakiś większych ograniczeń


Sent from my iPhone using Tapatalk



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lip 2015, o 15:00 
Offline
Użytkownik

Dołączył(a): 11 kwi 2014
Posty: 196
Lokalizacja: Sandomierz
Pomógł: 0

Powoli przegryzam się przez książkę i oprogramowanie. Według książki należy w pliku "startup_stm32f10x_md.s" usunąć wywołanie funkcji SystemInit() I tu zatrzymałem się, nie mogę rozgryźć tego pliku, nie jest to typowy plik w C, nie bardzo wiem jak usunąć wywołanie funkcji SystemInit nie uszkadzając innych funkcji pliku.

Znalazłem niby taką sekcję
Kod:
     IMPORT  __main
     IMPORT  SystemInit
                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
                 BX      R0
                 ENDP

Ale nie wiem czy mogę wstawić // przed drugą i trzecią linią.

Prośba o wsparcie w powyższym temacie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lip 2015, o 18:59 

Pomógł: 0

Tak w uproszczeniu:
ldr r0, =SystemInit - załaduj do rejestru r0 adres funkcji SystemInit
blx r0 - skok do adresu z r0 (czyli do SystemInit)

Do wywalenia obie powyższe linijki :) Ten import SystemInit (na początku) tez możesz wykomentować.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 5 sie 2015, o 14:22 
Offline
Użytkownik

Dołączył(a): 11 kwi 2014
Posty: 196
Lokalizacja: Sandomierz
Pomógł: 0

Płytka z STM32 już zamówiona. Mam jednak pytanie odnośnie różnic między rdzeniami M0, M3 czy M4. Jak wiadomo czym wyższy numer tym wydajniejszy układ. Czy to się wiąże z samą częstotliwością pracy rdzenia czy też w wyższych numerach architektura pozwala na wykonanie tych samych bloków operacji w mniejszej ilości instrukcji asm ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 sie 2015, o 14:40 

Pomógł: 0

Lekturka: wikipedia. To co najbardziej rzuca się w oczy to różne zestawy instrukcji (np. w CM0 nie ma dzielenia!) ;)



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2015, o 14:36 
Offline
Użytkownik

Dołączył(a): 25 cze 2015
Posty: 123
Pomógł: 4

Jak by kto jeszcze nie wiedział, na stronie Galewskiego https://sites.google.com/a/mech.pg.gda. ... -wbudowane

Są fajnie materiały do wykładów z systemów wbudowanych tj. taka wiedza w pigułce (slajdy).

_________________
"O sygnałach bez całek" Czesław Frąc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 30 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO