Programatory i debuggery firmy Segger (J-Link) – przegląd możliwości

Firmy Segger nikomu nie trzeba przedstawiać – to uznany europejski producent oprogramowania i narzędzi przeznaczonych dla projektantów systemów embedded. Jednym z jej najbardziej znanych produktów jest interfejs J-Link. Możliwość kupna interfejsu J-Link firmy Segger “z półki” u polskiego dystrybutora (www.KAMAMI.pl) to dobra wiadomość dla rodzimych elektroników.

 

 

 

Na początek banalna teza znana każdemu z nas, również „elektronicznemu” laikowi: obecny świat jest zdominowany przez mikroprocesory. Spotykamy je na niemal każdym naszym kroku – i o ile trudno sobie wyobrazić telefon komórkowy czy współczesny telewizor wykonany bez użycia procesora (o komputerze nawet nie wspomnę), to o pomstę do nieba wołają konstrukcje typu „elektroniczna świeczka”, w której 16-bitowy mikrokontroler jest zatrudniony do migania diodą LED. Jeszcze parę lat temu takie konstrukcje dawało się (i opłacało) zaprojektować z wykorzystaniem kilku „tradycyjnych” elementów, jak tranzystory, rezystory itd. Po co więc została przytoczona wspomniana na początku tego akapitu teza? Otóż czasy się zmieniły i dyskusja na temat wykorzystywania mikroprocesorów do „byleczego” nie ma sensu. Tak jest i trzeba (czasami z konstruktorskim cierpieniem) zaakceptować fakt, że układów tych będzie wokół nas coraz więcej. Co więcej, postęp technologiczny spowodował, że coraz częściej w roli uniwersalnego układu „do wszystkiego” są wykorzystywane 32-bitowe mikrokontrolery. Mowa oczywiście o mikrokontrolerach z rdzeniem ARM. Ich uniwersalność, stosunek możliwości do ceny, wydajność, energooszczędność i inne cechy powodują, że możemy je stosować praktycznie w każdym projekcie, począwszy od wspomnianej migającej diody (ałć, to boli!), poprzez mózg stacji pogodowej, aż do rozbudowanego systemu zarządzania ruchem pakietów w sieci komputerowej czy też analizatora zdjęć tomografii komputerowej. I teraz uwaga niezwykle istotna dla nas, konstruktorów: niezależnie od stopnia skomplikowania projektu możemy wykorzystać ten sam zestaw narzędzi – to samo środowisko programistyczne, ten sam rdzeń docelowej platformy sprzętowej, te same układy peryferyjne. Skończyły się czasy, gdy do aplikacji energooszczędnych należało polubić rodzinę MSP430, do układów tanich w produkcji konieczne było poznanie architektury AVR czy PIC, gdy zależało nam na pewności działania urządzenia, to sięgaliśmy po mikrokontrolery z rodziny ST6 czy HC05, gdy chcieliśmy wyposażyć urządzenie w komunikację przez USB, to wybór praktycznie ograniczał się do mikrokontrolerów z rodziny ‘51 firmy Cypress, a w przypadku aplikacji do cyfrowej obróbki sygnałów konieczne było stosowanie układów TMS320. A każda rodzina układów to inne środowisko programistyczne oraz inne narzędzia uruchomieniowe (zestawy ewaluacyjne, programatory itp.). Konieczność poznania oraz kupienia takiej ilości narzędzi przekracza możliwości większości biur projektowych. Dzięki przebogatej ofercie układów z rdzeniem ARM możemy obecnie wykorzystywać wszystkie wspomniane zasoby nie tracąc czasu na poznawanie różnych rozbudowanych środowisk programistycznych. A oferta układów z, nieprecyzyjnie mówiąc, rdzeniem ARM obejmuje zarówno mikrokontrolery energooszczędne (np. EFM32, STM32L), układy ogólnego zastosowania (np. AT91SAM3, i.MX23, LPC1000, STM32F1), układy do zastosowań DSP (np. STM32F4), jak i procesory o wysokiej wydajności (np. OMAP, Spear, Tegra). I teraz, po tym przydługim wprowadzeniu, dochodzimy do najlepszych dla nas, konstruktorów, wiadomości. Po pierwsze: wszystkie te układy o tak zróżnicowanych możliwościach można „okiełznać” wykorzystując jedno z kilku dostępnych środowisk programistycznych (wśród komercyjnych narzędzi prym wiodą µVision firmy Keil oraz Embedded Workbench firmy IAR). Po drugie: zaimplementowanie w układach modułu JTAG/SWD spowodowało, że możliwe było opracowanie wspólnego (przynajmniej od strony sprzętowej) dla wszystkich układów interfejsu do programowania i debuggowania. I z tej możliwości skorzystało kilku producentów, jednak oferta większości z nich jest skierowana do klientów nie zwracających uwagi na kwoty wymieniane na fakturach lub też oferowane w „normalnych” cenach produkty mają istotne ograniczenia. Tak przecież należy podejść do oferty interfejsów JTAG, których ceny nierzadko zaczynają się od kwot 1000 EUR (np. emulator JTAGJET-ARM pokazany na fot. 1).

 

Fot. 1. JTAGJET-ARM - interfejs JTAG firmy Signum obsługuje wiele rodzin mikrokontrolerów i współpracuje z większością popularnych środowisk programistycznych (cena ok. 6000 PLN netto)

Fot. 1. JTAGJET-ARM – interfejs JTAG firmy Signum obsługuje wiele rodzin mikrokontrolerów i współpracuje z większością popularnych środowisk programistycznych (cena ok. 6000 PLN netto)

 

 

Fot. 2.

Fot. 2. ST-Link/V2 – interfejs JTAG firmy STMicroelectronics dla mikrokontrolerów z rodziny STM32 (cena ok. 100 PLN netto)

 

 

O autorze