Nucleo: uzupełnianie firmware ST-LINK

Zanim przystąpicie do eksperymentów z płytką Nucleo, warto uzupełnić wewnętrzne oprogramowanie (firmware) programatora i debuggera ST-LINK (mniejsza część płytki).

nucleo_02ST regularnie dostarcza uzupełnienia firmware do ST-LINK. Kolejne wersje wspierają nowsze czipy, płytki (np. Nucleo i Discovery),  zawiera dodatkowe funkcje i poprawki. Słowem – im nowsza wersja firmware ST-LINK, tym mniej problemów  doświadczycie z jego strony.

Instalacja jest łatwa. ST dostarcza do tego wszystkie niezbędne sterowniki i narzędzia – dla Windows i Linux. Najpierw będziecie musieli zainstalować samo urządzenie ST-LINK w systemie. Później zajmiemy się aplikacją do odświeżania firmware. Do jej uruchomienia będziecie  potrzebowali maszynę Javy.

Do instalacji konieczne są 2 pakiety:

Pobierzcie te pakiety zanim rozpoczniecie instalację.

Instalacja sterowników pod Windows7 (Pro)

Dla Windows musicie najpierw zainstalować sterowniki:

  • Pobierzcie sterowniki Windows dla ST-LINK: STSW-LINK009, rozpakujcie je,
  • Podłączcie płytkę Nucleo do komputera. Windows rozpocznie automatyczną instalację – niestety nie znajdzie wszystkich sterowników:
    nucleu_win_stlinkupd_01
  • Sterowniki znajdują się w pobranym archiwum STSW-LINK009; użyjcie Menadżera Urządzeń, znajdźcie element ST-LINK Debug (zaznaczony jako nieznany); kliknijcie prawym klawiszem myszy i z menu wybierzcie „Update Driver Software”:
    nucleu_win_stlinkupd_02 nucleu_win_stlinkupd_03
  • Wskażcie katalog ze sterownikami i rozpocznijcie instalację – powinna zakończyć się sukcesem:
    nucleu_win_stlinkupd_04 nucleu_win_stlinkupd_05 nucleu_win_stlinkupd_06 nucleu_win_stlinkupd_07
  • Teraz w menadżerze urządzeń powinien pojawić się ST-Link:
    nucleu_win_stlinkupd_08

Instalacja urządzenia pod Linuksem (MINT 17.3):

Pobierzcie pakiet firmware: ST-LINK firmware upgrade. Otwórzcie terminal:

  • Upewnijcie się, że macie zainstalowaną bibliotekę lib-usb-1.0:

    Jeżeli nie ma, zainstalujcie ją:
  • Uzupełnijcie reguły udev. Znajdziecie je w archiwum firmware (ST-LINK firmware upgrade), w katalogu „AllPlatforms\StlinkRulesFilesForLinux”. Przekopiujcie obydwa pliki „*.rules” do katalogu „/etc/udev/rules.d” i wykonajcie komendę (wymaga praw roota):
  • Teraz podłączcie płytkę Nucleo. W odpowiedzi powinniście zobaczyć nowe urządzenia „/dev/stlinkv2*” oraz „/dev/ttyACMn”, gdzie n może być 0, 1, 2 – zależy ile takich urządzeń macie już podłączonych do portów USB.

Instalacja Javy

Instalator firmware ST-LINK wymaga wersji Javy co najmniej 7u51 (1.7.0.51). W tej chwili (kwiecień 2016) dostępna jest wersja 8u77 (1.8.0.77).

Instalacja Java pod Windows

Upewnijcie się, że macie zainstalowaną Javę: w linii poleceń Windows (cmd) wydajcie komendę:

Jeżeli nie znaleziono Javy, możecie ją pobrać za darmo tutaj. Upewnijcie się, czy korzystacie z systemu 32- czy 64-bitowego. Wybierzcie Javę odpowiednią dla Waszego systemu. Postępujcie zgodnie ze wskazówkami instalatora Java.

Instalacja Java pod Linuks

Upewnijcie się, że macie zainstalowaną Javę:

Tu mam wersję trochę starszą, ale powinna wystarczyć. Jeżeli nie macie Javy, wydajcie polecenie:

Polecenie apt-get ładuje pakiety dostępne w repozytorium Waszej dystrybucji. Niestety najczęściej nie są one najświeższe. Jeżeli wersja zainstalowana przez apt-get nie spełnia wymagań instalatora firmware, będziecie musieli zainstalować Javę ręcznie.

Instalacja firmware

W archiwum pobranym ze strony: ST-LINK firmware upgrade, w katalogu „AllPlatforms/” znajdziecie aplikację uzupełniającą firmware: „STLinkUpgrade.jar”.  Dla Windows dwa razy kliknijcie ten plik – powinien się uruchomić automatycznie. Dla Linuks, uruchomcie terminal i wydajcie polecenie:

flash_firmware_00Gdy już uruchomicie  aplikację:

  • Wciśnijcie klawisz: „Open in update mode”;
  • Pole „Firmwa version” zmieni się na wersję firmware, która jest zainstalowana (u mnie: V2J23M9); pole „Last firmware version” zmieni się na tą najnowszą (u mnie: V2J27M15):
    flash_firmware_01
  • Wciśnijcie „Upgrade”. Na dole pojawi się pasek postępu:
    flash_firmware_02
  • Wszystko powinno zakończyć się sukcesem:
    flash_firmware_03

Gotowe. Jak widać, przeskoczyłem aż 4 wersje:)