J-Link Commander: jak zaprogramować pamięć mikrokontrolera bez licencji J-Flash
Interfejsy J-Link firmy Segger mogą być obsługiwane bezpośrednio ze standardowych IDE (uVision, EWARM, Eclipse itp.), za pomocą wygodnego programu „okienkowego” lub niezbyt efektownego, ale bardzo skutecznego w praktyce programu J-Link Commander, sterowanego z linii poleceń.
Interfejsy z rodziny J-Link firmy Segger mają ugruntowaną mocną pozycję w świecie narzędzi dla mikrokontrolerów z rdzeniem ARM. Jest to spowodowane przede wszystkim połączeniem łatwości używania tych interfejsów oraz ich dużych możliwości.
Warto również zauważyć, że w rodzinie J-Link (fot. 1) znajdują się interfejsy zarówno przystępne cenowo (J-Link EDU, J-Link), jak również urządzenia dosyć kosztowne (J-Link Plus), jednak zestawienie możliwości interfejsu do jego ceny jest zawsze korzystne.
Największą popularnością oczywiście cieszą się urządzenia tańsze, gdyż ich możliwości w znacznej większości zastosowań są wystarczające. Interfejsy te mogą współpracować z wieloma środowiskami programistycznymi, zarówno komercyjnymi (np. uVision firmy Keil czy EWARM firmy IAR), jak i dostępnymi bezpłatnie (np. emIDE). Praca w takich środowiskach jest komfortowa i odbywa się zgodnie z oczekiwaniami dla tego typu konfiguracji, czyli w cyklu: modyfikacja programu, programowanie pamięci mikrokontrolera i ewentualnie debugowanie (rys. 2).
Co jednak zrobić, gdy zachodzi konieczność zaprogramowania pamięci mikrokontrolera, a nie dysponujemy kompletnym projektem, a jedynie plikiem wynikowym? Wygodnym wyjściem w takiej sytuacji jest użycie aplikacji J-Flash (rys. 3), znajdującej się w pakiecie J-Link software & documentation pack. Jest to typowa okienkowa aplikacja umożliwiająca zaprogramowanie każdego z obsługiwanych przez interfejs J-Link układu. Na dodatek w aplikacji tej przewidziano pracę z plikami projektów, dzięki czemu można wygodnie przygotowywać zestawy plików do zaprogramowania wybranego urządzenia bez obawy, czy któreś z ustawień (np. adres, pod jaki należy zapisać zawartość pliku wynikowego) nie zostanie źle wybrane – wszystkie ustawienia są zapisywane właśnie w pliku projektu. Jednak polityka licencyjna firmy Segger powoduje, że do pracy z tą wygodną aplikacją są przeznaczone droższe urządzenia z rodziny, czyli: J-Link Plus, J-Link Ultra+, J-Link Pro. W przypadku pozostałych interfejsów (J-Link, J-Link Ultra) próba użycia aplikacji J-Flash zakończy się komunikatem o błędzie pokazanym na rys. 4: Could not find any flash devices. Wbrew pozorom, komunikat ten oznacza, że do wykorzystania aplikacji J-Flash konieczne jest dokupienie dodatkowej licencji zapisanej w firmware urządzenia, jednak takie rozszerzenie możliwości kosztuje aż 398 EUR netto.