Debugger-programator dla STM32 i STM8(1).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:
kaczor1000
Inne pliki z tego folderu:
Peczarski M. - Mikrokontrolery STM 32 w sieci Ethernet w przykładach.pdf
(12152 KB)
The Insaider's Guide To The STM32.pdf
(6627 KB)
STM32Butterfly.pdf
(2632 KB)
Reference manual.pdf
(8589 KB)
Alternatywna metoda programowania pamięci Flash mikrokontrolerów STM32(1).pdf
(2108 KB)
Inne foldery tego chomika:
8051
Arduino
Bascom
CNC
DipTrace
Zgłoś jeśli
naruszono regulamin