RTV forum PL | NewsGroups PL

Tani programator do ARM Cortex M0 pod Linux - jakie macie doświadczenia?

Arm cortex, how to?

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Tani programator do ARM Cortex M0 pod Linux - jakie macie doświadczenia?

Goto page Previous  1, 2

jacek pozniak
Guest

Thu Jul 06, 2017 9:19 am   



Andrzej wrote:

Quote:
W dniu 2017-07-06 o 07:17, jacek pozniak pisze:
w systemie siła 'POPIS/EU wrote:

ja jestem głupi, nie polemizuje
ale co ty mu kurwa radzisz?
http://allegro.pl/126-st-link-stlink-v2-programator-do-stm32-stm8-fv-
i6798306430.html
No właśnie chyba coś takiego kupię (na Allegro) tylko muszę poszukać
sprzedawcy co ma taki ST-link i płytkę taką jak zapodał Sebastian. aby
jedną przesyłką ogarnąć.

jp

W sklepie Kamami dostaniesz i różne zestawy i st-link nieco drożej niż
na Allegro. Jak masz łatwy dojazd do Legionowa to i na przesyłce
zaoszczędzisz.
Niestety 200km Smile
Oczywiście nie ma porównania z cenami Ali, ale czasem czekać 2 miesiące
na przesyłkę się nie opłaca. Chociaż czasem to ma dobroczynny wpływ na
człowieka, bo głupi pomysł zdąży mu z głowy wyparować.
A poza tym będą wakacje i przesyłka może dojść w czasie gdy nie będzie jej

miał kto odebrać. :)


jp

Sebastian Biały
Guest

Thu Jul 06, 2017 4:17 pm   



On 7/6/2017 6:53 AM, jacek pozniak wrote:
Quote:
Czyli, że ten ST-Link lub j-link to w zasadzie równorzędne urządzenia, tylko
j-link do większej ilości procesorów pasuje, dobrze rozumuję?

Bardziej jest tak:

a) J-Linka produkuje duza firma która stara się dawać dobrej jakości
oprogramowanie (prywatnie uwazam że dziadowskie, ale ja jestem dziwny).
Jest notorycznie kopiowana przez chińczyków i walczy z tym w taki sposob
że soft wykrywa podrobki i uniemożliwia ich użycie. Kupując taniego
J-Linka kupujesz podróbkę.

b) ciężko mi znaleźć zastosowanie J-Linka które nie dalo by się zastapić
*czymkolwiek* co jest interface do JTaga. Może nieco szybsze, ale nic
poza tym funkcjonalnie.

c) W przypadku STM32 zastosowanie J-Linka było kłopotliwe bo nie
obsługiwało protokołu SWD. Możliwe że już zmienili i obsluguje. Bez SWD
nie zaprogramujesz wielu płytek.

d) ludzie używają JLinka bo ciagle im się wydaje ze łatwiej jest
wyklikać niż napisać skrypt. Trudno, deewolucja.

e) ST-Link zrobi wszystko to co J-Link nie tylko dlatego że OpenOCD nie
widzi między nimi róznicy, ale rownież dlatego że producent JLinka
wypuscił upgrade softu do STLinka który emuluje JLinka dla stm32 ...

http://mikrokontroler.pl/2016/05/06/stlinkreflash-interfejs-j-link-w-zestawach-stm32-nucleo-i-discovery/

Sebastian Biały
Guest

Thu Jul 06, 2017 4:18 pm   



On 7/6/2017 8:06 AM, jacek pozniak wrote:
Quote:
Potem ewentualnie j-link

Nie kupuj.

jacek pozniak
Guest

Thu Jul 06, 2017 5:25 pm   



Sebastian Biały wrote:

Quote:
On 7/6/2017 6:53 AM, jacek pozniak wrote:
Czyli, że ten ST-Link lub j-link to w zasadzie równorzędne urządzenia,
tylko j-link do większej ilości procesorów pasuje, dobrze rozumuję?

Bardziej jest tak:

a) J-Linka produkuje duza firma która stara się dawać dobrej jakości
oprogramowanie (prywatnie uwazam że dziadowskie, ale ja jestem dziwny).
Jest notorycznie kopiowana przez chińczyków i walczy z tym w taki sposob
że soft wykrywa podrobki i uniemożliwia ich użycie. Kupując taniego
J-Linka kupujesz podróbkę.

b) ciężko mi znaleźć zastosowanie J-Linka które nie dalo by się zastapić
*czymkolwiek* co jest interface do JTaga. Może nieco szybsze, ale nic
poza tym funkcjonalnie.

c) W przypadku STM32 zastosowanie J-Linka było kłopotliwe bo nie
obsługiwało protokołu SWD. Możliwe że już zmienili i obsluguje. Bez SWD
nie zaprogramujesz wielu płytek.

d) ludzie używają JLinka bo ciagle im się wydaje ze łatwiej jest
wyklikać niż napisać skrypt. Trudno, deewolucja.

e) ST-Link zrobi wszystko to co J-Link nie tylko dlatego że OpenOCD nie
widzi między nimi róznicy, ale rownież dlatego że producent JLinka
wypuscił upgrade softu do STLinka który emuluje JLinka dla stm32 ...

http://mikrokontroler.pl/2016/05/06/stlinkreflash-interfejs-j-link-w-
zestawach-stm32-nucleo-i-discovery/


Acha, czyli OK.

Już dostałem info, że st-link wyruszył do 'mojego' paczkomatu wiec, kto wie,
może w weekend coś tam się uda wpalić i zamigać tą diodą która niby jest na
tej płytce co ma przyjść. Smile
Na razie staram się ogarnąć arm-none-eabi-gcc; kompiluje coś tam (prymitywne
przykłady z /usr/share/doc/gcc-arm...), ale potrzebuję chyba nagłówki do
poszczególnych procesorów, z definicjami peryferiów i takie tam.
Sciąga się je skąś czy jak?

Po zainstalowaniu arm-gcc nie mam żadnych plików w rodzaju *stm*.h

jp

Sebastian Biały
Guest

Thu Jul 06, 2017 6:29 pm   



On 7/6/2017 7:25 PM, jacek pozniak wrote:
Quote:
Na razie staram się ogarnąć arm-none-eabi-gcc; kompiluje coś tam (prymitywne
przykłady z /usr/share/doc/gcc-arm...), ale potrzebuję chyba nagłówki do
poszczególnych procesorów, z definicjami peryferiów i takie tam.
Sciąga się je skąś czy jak?

Pobierz example do płytek Discovery jako dobry start na początek.

Problem z STM32 jest taki że ST promuje własne środowisko i zgodnie z
tym konceptem powinieneś je w zasadzie zassać:

http://www.st.com/en/development-tools/sw4stm32.html

Nagłówki z definicjami rejestrów i najwazniejsze - skryptem linkera,
powinny być w komplecie. Nie używam i tu niewiele pomogę, ja składam
firmware ręcznie, używając make i ukradzionych z jakiegos exampla nagłowkow.

Jak się upierasz ssać ręcznie, to tu masz punkt startowy do poszukiwań:

https://developer.arm.com/embedded/cmsis

Quote:
Po zainstalowaniu arm-gcc nie mam żadnych plików w rodzaju *stm*.h

Bo armów jest miliard i kazdy ma inny nagłowek pertyferiów. Ściąga się
je od producenta.

Andrzej
Guest

Thu Jul 06, 2017 9:05 pm   



W dniu 2017-07-06 o 19:25, jacek pozniak pisze:

Quote:
Na razie staram się ogarnąć arm-none-eabi-gcc; kompiluje coś tam (prymitywne
przykłady z /usr/share/doc/gcc-arm...), ale potrzebuję chyba nagłówki do
poszczególnych procesorów, z definicjami peryferiów i takie tam.
Sciąga się je skąś czy jak?

Po zainstalowaniu arm-gcc nie mam żadnych plików w rodzaju *stm*.h

jp

Ja zaczynałem od tego:

http://wydawnictwo.btc.pl/index.php?productID=187337
Na dole strony masz link do ćwiczeń. Powinny ci rozjaśnić co nieco.

jacek pozniak
Guest

Fri Jul 07, 2017 5:30 am   



Sebastian Biały wrote:

Quote:
On 7/6/2017 7:25 PM, jacek pozniak wrote:
Na razie staram się ogarnąć arm-none-eabi-gcc; kompiluje coś tam
(prymitywne
przykłady z /usr/share/doc/gcc-arm...), ale potrzebuję chyba nagłówki do
poszczególnych procesorów, z definicjami peryferiów i takie tam.
Sciąga się je skąś czy jak?

Pobierz example do płytek Discovery jako dobry start na początek.

Problem z STM32 jest taki że ST promuje własne środowisko i zgodnie z
tym konceptem powinieneś je w zasadzie zassać:

http://www.st.com/en/development-tools/sw4stm32.html

Nagłówki z definicjami rejestrów i najwazniejsze - skryptem linkera,
powinny być w komplecie. Nie używam i tu niewiele pomogę, ja składam
firmware ręcznie, używając make i ukradzionych z jakiegos exampla
nagłowkow.
Też muszę skąś ukraść.


W zasadzie po przeczytaniu krótkiego readme.txt, który się zainstalował
razem z kompilatorem, wygląda na to że w skrypcie dla linkera muszę podać
zakresy ROM/RAM i właśnie wydaje mi się że kilkunastu kilobajtów z
opisem/adresami rejestrów mi tylko brakuje.

Cytat z tego readme:
"...
The makefile is configured to build for Cortex-M0 by default. To build for
M3 or M4, pass CORTEX_M=3/4 respectively:
$ make CORTEX_M=3

* Porting *
These samples are written in a way that easily porting to variant Cortex-M
boards. Usually there are only two files you need modify for your boards.

ldscripts/mem.ld defines address ranges for flash and RAM. Modify them to
reflect start address and length of flash/RAM banks in your board, by
following the embedded comments.
...."


Quote:


Jak się upierasz ssać ręcznie, to tu masz punkt startowy do poszukiwań:

https://developer.arm.com/embedded/cmsis

OK, będę kopał aż znajdę.


Quote:
Po zainstalowaniu arm-gcc nie mam żadnych plików w rodzaju *stm*.h

Bo armów jest miliard i kazdy ma inny nagłowek pertyferiów. Ściąga się
je od producenta.


Guest

Fri Jul 07, 2017 5:17 pm   



jacek pozniak <jacek.pozniak@flowservice.pl> wrote:
Quote:

Na razie staram si? ogarn?? arm-none-eabi-gcc; kompiluje co? tam (prymitywne
przyk?ady z /usr/share/doc/gcc-arm...), ale potrzebuj? chyba nag??wki do
poszczeg?lnych procesor?w, z definicjami peryferi?w i takie tam.
Sci?ga si? je sk?? czy jak?

Po zainstalowaniu arm-gcc nie mam ?adnych plik?w w rodzaju *stm*.h

Potrzebujesz oddzielne pliki nalowkowe do procesora i byc moze
bilioteki. Wiekszosc ludzi uzywa plikow naglowkowych i
bibliotek dotarczanych przez STM (mozna sciagnac ze stron STM,
choc ostatnio probuja wrzucic paczke zawierajaca IDE Windowsowe
i reszte). Jesli interesujesz sie alternatywami to jedna
z mozliwoci jest libopecm3. Pare przykladow dla znajdziesz pod:

http://math.uni.wroc.pl/~p-wyk4/embed2016/pr/f0
http://math.uni.wroc.pl/~p-wyk4/embed2016/pr/f1
http://math.uni.wroc.pl/~p-wyk4/embed2016/pr/f4

(wiekszosc jest dla F0). Uwaga: te przyklady wrzucaja kod
do RAM. Potrzebna jest dosc oczywista modyfikacja jak
chcesz kod we flashu.

A propo: wiekszosc prockow STM i wiele prockow innych producentow
pozwala programowac flash przez port szeregowy, tak ze do programowania
wystarcza interfejs USB-serial 3.3V.

--
Waldek Hebisch

jacek pozniak
Guest

Fri Jul 07, 2017 6:41 pm   



antispam@math.uni.wroc.pl wrote:

Quote:
jacek pozniak <jacek.pozniak@flowservice.pl> wrote:

Na razie staram si? ogarn?? arm-none-eabi-gcc; kompiluje co? tam
(prymitywne
przyk?ady z /usr/share/doc/gcc-arm...), ale potrzebuj? chyba nag??wki do
poszczeg?lnych procesor?w, z definicjami peryferi?w i takie tam.
Sci?ga si? je sk?? czy jak?

Po zainstalowaniu arm-gcc nie mam ?adnych plik?w w rodzaju *stm*.h

Potrzebujesz oddzielne pliki nalowkowe do procesora i byc moze
bilioteki. Wiekszosc ludzi uzywa plikow naglowkowych i
bibliotek dotarczanych przez STM (mozna sciagnac ze stron STM,
choc ostatnio probuja wrzucic paczke zawierajaca IDE Windowsowe
i reszte). Jesli interesujesz sie alternatywami to jedna
z mozliwoci jest libopecm3. Pare przykladow dla znajdziesz pod:

http://math.uni.wroc.pl/~p-wyk4/embed2016/pr/f0
http://math.uni.wroc.pl/~p-wyk4/embed2016/pr/f1
http://math.uni.wroc.pl/~p-wyk4/embed2016/pr/f4

(wiekszosc jest dla F0). Uwaga: te przyklady wrzucaja kod
do RAM. Potrzebna jest dosc oczywista modyfikacja jak
chcesz kod we flashu.

A propo: wiekszosc prockow STM i wiele prockow innych producentow
pozwala programowac flash przez port szeregowy, tak ze do programowania
wystarcza interfejs USB-serial 3.3V.

Ogarnąłem już trochę openOCD i st-link. Działa, tzn łaczę się z procesorem

(via telnet).

Teraz przyszedł czas na jakiś wsad.

Pewnie powyciągam nagłówki z tego libopencm3 bo widzę, że w prostej formie
są zapodane.

jp

jacek pozniak
Guest

Fri Jul 07, 2017 10:36 pm   



Dziękuję za pomoc wszystkim udzielającym się w tym wątku.

"Hello World" na LEDach zadziałał.



jp

Sebastian Biały
Guest

Sat Jul 08, 2017 3:13 pm   



On 7/8/2017 12:36 AM, jacek pozniak wrote:
Quote:
"Hello World" na LEDach zadziałał.

Jeszcze taka uwaga: jesli z jakiegos powodu ST-Link nie będzie uzyteczny
w innych zastosowaniach wymagających JTAG to zamiast kupować wypasiony
programator idź na ali i poszukal "ALtera ByteBlaster" za $2. Załatwia
on pozostałe przypadki jakie napotkałem.

Niestety im bardziej drogie i wypasione środowisko do programowania
czegoś tym bardziej będzie wymagać jakiegoś konkretnego hardware bez
powodu. Ale przynajmniej w przypadku zadań dla OpenOCD, ST-Link i
ByteBlaster są ok.

jacek pozniak
Guest

Sun Jul 09, 2017 7:42 am   



Sebastian Biały wrote:

Quote:
On 7/8/2017 12:36 AM, jacek pozniak wrote:
"Hello World" na LEDach zadziałał.

Jeszcze taka uwaga: jesli z jakiegos powodu ST-Link nie będzie uzyteczny
w innych zastosowaniach wymagających JTAG to zamiast kupować wypasiony
programator idź na ali i poszukal "ALtera ByteBlaster" za $2. Załatwia
on pozostałe przypadki jakie napotkałem.
OK

Niestety im bardziej drogie i wypasione środowisko do programowania
czegoś tym bardziej będzie wymagać jakiegoś konkretnego hardware bez
powodu. Ale przynajmniej w przypadku zadań dla OpenOCD, ST-Link i
ByteBlaster są ok.
No cóż na czymś muszą zarabiać.

Mi wystarczy openocd i stlink.
Teraz trza poznać troche architekturę tych STM i popróbować różne rzeczy
przeportować na tego arma.

jp

wół, wół roboczy, wó
Guest

Mon Jul 10, 2017 4:05 pm   



oczywiście to tylko prośba
jakbyś chciał się może Kolegom odwdzięczyć,
to możesz napisać mały tutorialek na temat debugowania tym zestawem -
tak, na moją stronę wwww...

jacek pozniak
Guest

Mon Jul 10, 2017 8:27 pm   



wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU wrote:

Quote:
oczywiście to tylko prośba
jakbyś chciał się może Kolegom odwdzięczyć,
to możesz napisać mały tutorialek na temat debugowania tym zestawem -
tak, na moją stronę wwww...
Niestety, nie debuguję, nie korzystam z opcji debugowania różnych stlinków

czy pickitów. Smile
Wszystkie peryferia docelowej platformy staram się zamodelować na PC i
przetestować poprawność programu.
Potem przenoszę na platformę docelową i usuwam ewentualne niedopatrzenia, na
tym etapie zwykle nie ma tego wiele.

W związku z tym nie pomogę zbyt wiele, korzystam tylko, w przypadku ST-
linka, z następującego polecenia (które zresztą sciągnąłem z jakiejś strony
o bare-programming, i poprawiłem aders startowy ładowania flasha):

openocd -f ${OPENOCD_CFG} -c init -c "reset halt" -c "flash write_image
erase ${BIN_IMAGE} 0x08000000" -c "verify_image ${BIN_IMAGE}" -c reset -c
shutdown



i w zasadzie to wszystko co mam na ten temat do powiedzenia.

jp

Goto page Previous  1, 2

elektroda NewsGroups Forum Index - Elektronika Polska - Tani programator do ARM Cortex M0 pod Linux - jakie macie doświadczenia?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map