Witam wszystkich
Postanowiłem rozpocząć przygodę z ARM.
Kupiłem płytkę STM32F103C8T6 i zaprogramowałem ją za pomocą Arduino IDE korzystając z przejściówki USB-RS232. Działało fajnie, ale nie chcę programować za pośrednictwem Arduino IDE i portu szeregowego, więc zakupiłem ST-Link (taki o: www.waveshare.com/wiki/ST-LINK).
Pierwsze pytanie:
1) Czy lepiej jest zamiast ST-LINK kupić ST-LINK /V2? Ile w końcu jest wersji tego? która jest najnowsza? Albo jest może coś, co lepiej się do tego celu nadaje?
Za pomocą programu “ST-LinkUpgrade” zaktualizowałem firmware. Mam teraz wersję “V1.J13.S4” i mówi, że jest najnowsza (dla tej wersji układu który leży na stole).
Zainstalowałem także sterowniki: https://www.st.com/content/st_com/en/products...us/debug-hardware-for-stm32-mcus/st-link.html
Teraz próbowałem połączyć moją płytkę z programatorem za pośrednictwem SWD (testowałem też połączenie JTAG) - przyznam, że manual jest beznadziejny, ale na szczęście na opakowaniu była rozpiska. W obu przypadkach połączyłem także piny opcjonalne. Zasilanie podpiąłem za pomocą drugiego przewodu USB, którego piny zasilające bezpośrednio zasilają mikrokontroler. W przeciwnym wypadku STM32 nie miał zasilania.
W menedżerze urządzeń widzę mój programator ST-Link tak, jak przedstawia obrazek:
Widzę go także w "mój komputer" jako dysk wymienny 30MB.
Teraz mogę połączyć się z mikro kontrolerem za pomocą “STM32 ST-Link Utility” (connect target) - wtedy dioda COM na ST-Link świeci się na czerwono. Później mogę usunąć mój program, który wgrałem wcześniej - kliknąłem "Full chip erase" - czerwona dioda zaczęła migać i już nie przestała, dopóki nie rozłączyłem układu. W opisie do ST-Link/V2 przeczytałem, że takie ciągłe miganie może oznaczać problem ze sterownikami, ale nie wiem jak jest w wersji V1. Poza tym program nadal wszystko widzi i po wyczyszczeniu we wszystkich komórkach wyświetla "FFFFFFFF".
Następnie ze strony http://www.openstm32.org/Downloading%2Bthe%2BSystem%2BWorkbench%2Bfor%2BSTM32%2Binstaller
Pobrałem “system workbench for stm32”. Utworzyłem mój pierwszy projekt (“HelloWorld”) zgodnie z instrukcją zawartą na stronie: https://forbot.pl/blog/kurs-stm32-3-plytka-nucleo-konfiguracja-srodowiska-id4875
Niestety kiedy klikam “Run Configurations” i potem "Run", to pojawia się błąd, którego nie potrafię przeskoczyć:
2) Co zrobić żeby to działało?
Mam Windows 10 Home, wszystkie porty USB 3.0. Próbowałem też restartować komputer. Szukałem też pomocy na anglojęzycznym forum: http://www.openstm32.org/tiki-view_forum_thread.php?comments_parentId=6921&forumId=7 bo te rozwiązania które udało mi się znaleźć w moim przypadku nie zadziałały, lub nie miały zastosowania.
Postanowiłem rozpocząć przygodę z ARM.
Kupiłem płytkę STM32F103C8T6 i zaprogramowałem ją za pomocą Arduino IDE korzystając z przejściówki USB-RS232. Działało fajnie, ale nie chcę programować za pośrednictwem Arduino IDE i portu szeregowego, więc zakupiłem ST-Link (taki o: www.waveshare.com/wiki/ST-LINK).
Pierwsze pytanie:
1) Czy lepiej jest zamiast ST-LINK kupić ST-LINK /V2? Ile w końcu jest wersji tego? która jest najnowsza? Albo jest może coś, co lepiej się do tego celu nadaje?
Za pomocą programu “ST-LinkUpgrade” zaktualizowałem firmware. Mam teraz wersję “V1.J13.S4” i mówi, że jest najnowsza (dla tej wersji układu który leży na stole).
Zainstalowałem także sterowniki: https://www.st.com/content/st_com/en/products...us/debug-hardware-for-stm32-mcus/st-link.html
Teraz próbowałem połączyć moją płytkę z programatorem za pośrednictwem SWD (testowałem też połączenie JTAG) - przyznam, że manual jest beznadziejny, ale na szczęście na opakowaniu była rozpiska. W obu przypadkach połączyłem także piny opcjonalne. Zasilanie podpiąłem za pomocą drugiego przewodu USB, którego piny zasilające bezpośrednio zasilają mikrokontroler. W przeciwnym wypadku STM32 nie miał zasilania.
W menedżerze urządzeń widzę mój programator ST-Link tak, jak przedstawia obrazek:
Widzę go także w "mój komputer" jako dysk wymienny 30MB.
Teraz mogę połączyć się z mikro kontrolerem za pomocą “STM32 ST-Link Utility” (connect target) - wtedy dioda COM na ST-Link świeci się na czerwono. Później mogę usunąć mój program, który wgrałem wcześniej - kliknąłem "Full chip erase" - czerwona dioda zaczęła migać i już nie przestała, dopóki nie rozłączyłem układu. W opisie do ST-Link/V2 przeczytałem, że takie ciągłe miganie może oznaczać problem ze sterownikami, ale nie wiem jak jest w wersji V1. Poza tym program nadal wszystko widzi i po wyczyszczeniu we wszystkich komórkach wyświetla "FFFFFFFF".
Następnie ze strony http://www.openstm32.org/Downloading%2Bthe%2BSystem%2BWorkbench%2Bfor%2BSTM32%2Binstaller
Pobrałem “system workbench for stm32”. Utworzyłem mój pierwszy projekt (“HelloWorld”) zgodnie z instrukcją zawartą na stronie: https://forbot.pl/blog/kurs-stm32-3-plytka-nucleo-konfiguracja-srodowiska-id4875
Niestety kiedy klikam “Run Configurations” i potem "Run", to pojawia się błąd, którego nie potrafię przeskoczyć:
Cytat:OpenOCD Problem
OpenOCD child process termination
Reasen:
Unplugged target or STLink already in use or STLink USB driver not installed.
Details:
‘’Unplugged target or STLink already in use or STLink USB driver not installed
Open On-Chip Debugger 0.10.0-dev-00007-g58350bc-dirty (2018-01-12-12:21)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
srst_only separate srst_nogate srst_open_drain connect_assert_srst
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter_nsrst_delay: 100
adapter speed: 950 kHz
Info : clock speed 950 kHz
Error: open failed (no matching adapter found)
in procedure ‘program’
in procedure ‘init’ called at file “embedded:startup.tcl”, line 485
in procedure ‘ocd_bouncer’
** OpenOCD init failed **
shutdown command invoked’’
2) Co zrobić żeby to działało?
Mam Windows 10 Home, wszystkie porty USB 3.0. Próbowałem też restartować komputer. Szukałem też pomocy na anglojęzycznym forum: http://www.openstm32.org/tiki-view_forum_thread.php?comments_parentId=6921&forumId=7 bo te rozwiązania które udało mi się znaleźć w moim przypadku nie zadziałały, lub nie miały zastosowania.