Debugger-programator dla STM32 i STM8.pdf
(
1406 KB
)
Pobierz
Elektronika Praktyczna
sprzęt
dla STM32 i STM8
ST-Link: nowe
oprogramowanie,
nowe możliwości
Dodatkowe materiały
na CD i FTP
Krajowa wersja programatora-debuggera ST-Link, znana pod nazwą
ZL30PRG, zdominowała krajowy rynek narzędzi uruchomieniowych
dla mikrokontrolerów STM32. Do niedawna atutem tego interfejsu –
poza dużymi możliwościami funkcjonalnymi – były przede wszystkim
przystępna cena i możliwość pracy w środowiskach
M
Vision irmy
Keil (ARM) oraz Workbench (IAR). Od kilku tygodni liczba atutów
znacznie wzrosła: dostępne są bowiem kolejne programy potraiące
obsłużyć ST-Linka, jest on także jedynym programatorem-debuggerem
obsługiwanym przez bezpłatną wersję pakietu TrueStudio irmy Atollic.
Opracowany przez irmę STMicroelec-
tronics interfejs ST-Link jest sprzętowym de-
buggerem zintegrowanym z programatorem,
przystosowanym do współpracy z mikrokon-
trolerami z rodzin STM32 (obsługuje je po-
przez JTAG lub SWD) oraz STM8 (obsługuje
je poprzez interfejs SWIM) –
rys. 1
. Polska
wersja ST-Linka pojawiła się w sprzedaży
na jesieni ubiegłego roku, stając się pod-
stawowym narzędziem stosowanym przez
uczestników dwóch edycji warsztatów tech-
nicznych STM32TechDays, które odbyły się
w drugiej połowie 2009 roku oraz w pierw-
szym kwartale 2010.
Firmware interfejsu ST-Link (ZL30PRG)
jest nieustannie rozwijane, dzięki czemu są
usuwane błędy wykrywane podczas uży-
wania interfejsu, zwiększana jest także jego
funkcjonalność. Wymiana irmware’u nie
wymaga od użytkownika specjalnych za-
biegów, do tego celu jest bowiem wykorzy-
stywana procedura DFU (
Device Firmware
Upgrade
) w całości realizowana przez opro-
gramowanie udostępnione przez producen-
ta. Informacje o nowych wersjach irmware
są publikowane na stronie
www.stm32.eu
.
Nowe linie mikrokontrolerów stM32
Firma STMicroelectronics
wprowadziła do produkcji nową
podrodzinę mikrokontrolerów
STM32, w skład której wchodzi 10
typów mikrokontrolerów w ramach
nowej linii
Value
, oznaczonych
symbolami STM32F100xx.
Wyposażono je w rdzeń Cortex-M3
taktowany sygnałem zegarowym
o maksymalnej częstotliwości
wynoszącej 24 MHz, pamięć Flash
o pojemności 16/32/64/128 kB
oraz SRAM o pojemności 4 lub 8 kB, w zależności od typu.
Mikrokontrolery STM32F100 są standardowo wyposażone w 2 lub 3 USART-y, 1 lub 2 kanały
SPI, 1 lub kanały I
2
C, 2 kanały C/A z wyjściami napięciowymi, przetwornik A/C z multiplekserem
analogowym oraz – po raz pierwszy w mikrokontrolerach – interfejs CEC (
Consumer Electronic
Control
), stosowany w sprzęcie audio-wideo jako uzupełnienie interfejsu HDMI.
Nowe mikrokontrolery są przeznaczone do aplikacji, które dotychczas okupowane były przez
mikrokontrolery 8-bitowe. Producent oferuje je w obudowach LQFP48/64/100 oraz BGA64.
Rodzinę mikrokontrolerów STM32F powiększono także
„w górę”, wprowadzając do produkcji dwie nowe
podrodziny:
– XL-Density Access (STM32F101xG i STM32F101xF) i
– XL-Density Performance (STM32F103xG i STM32F103xF),
charakteryzujące się wbudowaną pamięcią Flash
o pojemności do 1 MB i pamięcią SRAM o pojemności
zwiększonej do 80 kB (
XL-Density Access
) lub 96 kB (
XL-
Density Performance
).
Standardowym wyposażeniem podrodzin
XL-Density Access
i
XL-Density Performance
jest także
(odpowiednio): 15/17 uniwersalnych timerów i 10/13 interfejsów komunikacyjnych. Nowe
mikrokontrolery wyposażono także w jednostkę MPU (Memory Protection Unit) odpowiedzialną
za ochronę danych przechowywanych w pamięci SRAM przed uszkodzeniem wywołanym
nieprawidłowym działaniem programów, co ma szczególne znaczenie w aplikacjach bazujących
na systemach operacyjnych. Podobnie jak „klasyczne” wersje mikrokontrolerów F101 i F103,
także mikrokontrolery XL różnią się maksymalnymi częstotliwościami taktowania rdzeni,
które wynoszą 36 lub 72 MHz. Mikrokontrolery STM32F XL są kompatybilne pod względem
rozmieszczenia wyprowadzeń ze starszymi podrodzinami i są oferowane w obudowach o liczbie
wyprowadzeń 64, 100 lub 144.
ST-Link jako sprzętowy debugger
Docenianą przez konstruktorów cechą
interfejsu ST-Link jest możliwość jego pracy
w trybie debugowania pracy mikrokontro-
lerów STM32 i STM8. Dzięki zastosowaniu
ST-Linka użytkownik może „podglądać” sta-
ny rejestrów CPU, wartości zapisane w po-
94
ELEKTRONIKA PRAKTYCZNA 5/2010
Debugger-programator
ST-Link: nowe oprogramowanie, nowe możliwości
rys. 1. Interfejs st-Link można wykorzystać do debugowania i programowania pamięci mikrokontrolerów stM32 i stM8 za pomocą
różnych programów narzędziowych
buggera w środowisku STVP irmy STMicro-
electronics.
Od kilku miesięcy coraz większą po-
pularność wśród programistów piszących
aplikacje dla mikrokontrolerów z rodziny
STM32 zdobywa bezpłatna wersja pakietu
TrueStudio (wersja Lite dla STM32) irmy
Atollic, w której ST-Link (ZL30PRG) jest je-
dynym obsługiwanym sprzętowym debug-
gerem.
Każdy z wymienionych pakietów –
poza debugowaniem – umożliwia także
programowanie pamięci Flash mikrokon-
trolerów. Korzystanie z tej funkcji wymaga
zazwyczaj zakładania kompletnego projek-
tu (jest to szczególnie dokuczliwe w MVi-
sion), co w wielu przypadkach skutecznie
zniechęca, czasami wręcz uniemożliwia
szybkie zaprogramowanie pamięci mikro-
kontrolera. Poważnym problemem było
także programowanie mikrokontrolerów
w działających urządzeniach (wymiana
irmware), konieczne bowiem było uży-
wanie w warunkach polowych kompu-
tera z zainstalowanym kompletnym śro-
dowiskiem programistycznym. Problemy
te zostały dostrzeżone i od kilku tygodni
użytkownicy mikrokontrolerów z rodziny
STM32 mogą korzystać z kilku programów
przeznaczonych przede wszystkim do pro-
gramowania ich pamięci Flash.
rys. 2. Okno wyboru interfejsu progra-
mującego, typu interfejsu do komunikacji
z mikrokontrolerem i typu mikrokontro-
lera w stVD
ST-Link jako programator
Niewygody związane z programowa-
niem pamięci mikrokontrolerów STM32 za
pomocą interfejsu ST-Link i kompletnych
środowisk programistycznych rozwiązują
trzy programy, które przedstawiamy w arty-
kule.
szczególnych komórkach pamięci, może tak-
że ustawiać pułapki i miejsca oraz warunki
zatrzymania pracy programu, sterować prze-
biegiem pracy krokowej itp.
Korzystanie z wymienionych możliwości
interfejsu wymaga zastosowania oprogramo-
wania sterującego jego pracą i umożliwiają-
cego wygodny podgląd działania CPU. Inter-
fejs ST-Link jest standardowym narzędziem
w zintegrowanych środowiskach programi-
stycznych dla mikrokontrolerów STM32:
MVision (Keil/ARM) oraz Workbench (IAR).
Konstruktorzy stosujący mikrokontrolery
STM8 mogą korzystać z ST-Linka jako de-
problemy z truestudio
Programiści korzystający z pakietu
TrueStudio Lite dla STM32 (aktualną wersję
publikujemy na CD) mogą spotkać się
z nieprawidłową współpracą
gdbservera
,
który odpowiada za obsługę debuggera ST-
Link. Z tego powodu zalecane jest dołączanie
interfejsu w sekwencji: instalacja ST-Lnik
w uruchamianym urządzeniu, zasilenie
mikrokontrolera, dołączenie ST-Linka do USB
w PC, uruchomienie
gdbservera
, inicjalizacja
sesji debugowania w TrueStudio.
Firma Atollic obiecuje usunąć ten błąd
w kolejnej wersji oprogramowania.
ELEKTRONIKA PRAKTYCZNA 5/2010
95
sprzęt
rys. 6. Okno debuggera w st-Link Utility
mowania są obiecujące. Program ST-Link Utili-
ty obsługuje w obecnie dostępnej wersji wyłącz-
nie pliki
*.bin
.
Rozrywkową alternatywą dla przedstawio-
nych programów jest prezentowany już w EP
program o nazwie STM32PRoGrammer, charak-
teryzujący się efektownym oknem w kształcie
motyla (
rys.
7
). Program ten przygotował i udo-
stępnił producent polskiej wersji interfejsu ST-
Link – ZL30PRG. STM32PRoGrammer obsługu-
je pliki
*.hex
, nie został wyposażony w edytory
bajtów opcji i konigurujących.
rys. 3. Okno zmodyikowanego stVp umożliwiające dostęp do bajtów opcji i bitów
koniguracyjnych
Podsumowanie
Konstruktorzy i programiści z oczywistych
powodów chętnie wybierają do swoich aplika-
cji mikrokontrolery, dla których są łatwo do-
stępne tanie narzędzia uruchomieniowe, cze-
go dowodem jest ogromna, aczkolwiek powoli
gasnąca, popularność mikrokontrolerów z ro-
dziny AVR. Podobną drogą – opracowując tani
debugger-programator – poszła irma STMi-
croelectronics, dzięki czemu konstruktorzy
mogą korzystać z pełni możliwości środowisk
programistycznych i sprzętu wspierającego de-
bugowanie, wbudowanego w mikrokontrolery
z rdzeniem Cortex-M3. Na razie tylko fani ro-
dzin STM32 i STM8 mają tak poważne wspar-
cie ze strony producenta. Awangardowe po-
mysły polegające na wykorzystaniu narzędzi
programistycznych dostępnych w sieci (jak np.
mbed
dla mikrokontrolerów NXP) zbyt mocno
– jak sądzę – wiążą konstruktorów z dostępem
do sieci i nie gwarantują bezpieczeństwa reali-
zowanych projektów. Interfejs ST-Link przybli-
ża świat 32-bitowych aplikacji także począt-
kującym konstruktorom i to bez konieczności
inwestowania znacznych środków.
Ciekawe, czy któryś z pozostałych produ-
centów mikrokontrolerów z rdzeniem Cortex
-M3 pójdzie tą samą drogą.
Andrzej Gawryluk
rys. 4. Okno zmodyikowanego stVp
umożliwiające zabezpieczenie pamięci
Flash przed modyikacjami i nieuprawnio-
nym odczytem
stycznego STVD (
ST Visual Develop
). Oprogra-
mowanie to począwszy od wersji 3.1.4 może
być „doposażone” w patch o nazwie
ST toolset
pack 20 ST toolset pack 20 patch 1
(publikuje-
my go na płycie CD), dzięki któremu program
ten można wykorzystać – poza standardowymi
możliwościami związanymi z mikrokontrolera-
mi STM8 - także do programowania mikrokon-
trolerów STM32 (
rys.
2
). Zmodyikowany STVP
zapewnia także dostęp do bajtów opcji i bitów
koniguracyjnych mikrokontrolerów (
rys.
3
),
umożliwia także zabezpieczenie pamięci Flash
przed modyikacjami i nieuprawnionym odczy-
tem (
rys.
4
).
Program STVP obsługuje pliki w formacie
*.hex
, dostęp do pamięci mikrokontrolera odby-
wa się za pomocą jednego z dwóch interfejsów,
obsługiwanych przez ZL30PRG – SWD i JTAG.
„Gorącą” alternatywą dla zmodyikowanego
STVP jest przeznaczony specjalnie dla mikro-
kontrolerów STM32 program ST-Link Utility,
za pomocą którego można nie tylko wykonywać
operacje na pamięci Flash mikrokontrolerów
STM32 (wyłącznie za
pośrednictwem inter-
fejsu ZL30PRG i po-
chodnych –
rys.
5
),
ale także podglądać
zawartość jej oraz re-
jestrów CPU oraz ste-
rować pracą krokową
jednostki centralnej
(
rys.
6
). W obecnie do-
stępnej wersji trudno
to narzędzie trakto-
wać jako pełnowarto-
ściowy debugger, ale
zapowiedzi ze strony
producenta dalszego
rozwoju tego oprogra-
Pierwszy z nich to zmodyikowany STVP
(
ST Visual Programmer
), opracowany przez
irmę STMicroelectronics, wchodzący w skład
dostępnego bezpłatnie środowiska programi-
rys. 5. Okno programatora w st-Link Utility
rys. 7. Okno programu stM32proGram-
mer
96
ELEKTRONIKA PRAKTYCZNA 5/2010
Plik z chomika:
spraycanart
Inne pliki z tego folderu:
Mikrokontrolery STM32 - Obsługa kart SD i FatFs.pdf
(767 KB)
Implementacja klasy HID interfejsu USB w STM32.pdf
(253 KB)
Gadający STM32 - Zastosowanie kodeka Speex.pdf
(928 KB)
Debugger-programator dla STM32 i STM8.pdf
(1406 KB)
Atollic TrueSTUDIO - Sposób na mikrokontrolery STM32.pdf
(1555 KB)
Inne foldery tego chomika:
- - - - ▉ SUPER HITY FILMY NOWOSCI 2020
- - - - ▉ NAJNOWSZE FILMY 2020 - PREMIERY CHOMIKUJ ---
- - - - ▉ NAJNOWSZE FILMY 2020 - PREMIERY CHOMIKUJ ---(1)
- - ▉ CHOMIKUJ FILMY 2019 - FILMY NOWE
- - ▉ NOWOSCI FILMOWE 2019
Zgłoś jeśli
naruszono regulamin