Szanowni Państwo, Wszystkich z Państwa, którzy reprezentują wiodące technologicznie firmy polskie i prowadzą dzielność gospodarczą w zakresie której leży projektowanie rdzenie procesorów, układów typu SoC lub projektowanie i produkcja zawansowanych urządzeń elektronicznych pragniemy zainteresować niezwykle zawansowanymi mikroprocesorowymi narzędziami uruchomieniowymi, stosowanymi przez rzesze konstruktorów projektantów znanych światowych koncernów prowadzących podobną do Państwa działowość. Narzędzia te we wszystkich etapach projektowania, zarówno podczas projektowania rdzeni procesorów, rozbudowanych układów mikrokontrolerów typu SoC, a także zawansowanych kompletnych systemów elektronicznych, pozwalają na gruntowną emulację systemów oraz bezinwazyjne sprawdzenie poprawności projektu jeszcze przed jego produkcją, jak też w późniejszym etapie, podczas produkcji. Sprzęt i Narzędzia Programowe firmy LAUTERBACH Podstawową działalnością firmy Lauterbach jest projektowanie i produkcja mikroprocesorowego i programowego środowiska uruchomieniowego do usuwają i śledzenia błędów w układach elektronicznych jak też oprogramowaniu niskopoziomowym i aplikacyjnym oraz emulacji projektowanych układów elektronicznych. Dodatkowo Lauterbach od ponad 20 lat oferuje znakomite i tania analizatory stanów logicznych. Kluczową cechą analizatorów stanów logicznych serii TRACE32 jest płynna integracja ze sprzętem uruchomieniowym (debuggerami) wyposażonymi w opcje śledzenia (TRACE) niskopoziomowego oraz aplikacyjnego kodu źródłowego. Dla typowej aplikacji używającej analizatora stanów logicznych zaimplementowanego w debugger PowerTrace II (umożliwiający śledzenie kodu z szybkością do 500 MBit/s na kanał ETM lub i PTM i szerokości pasma 2200 MByte/s oraz buforem Trace do 4 GByte) oznacza to, że z pomocą komputera możemy szybko i efektywne wykonać więcej symulacji oraz analiz celem zweryfikowania i zatwierdzenia projektu. PowerTrace II posiada zintegrowany analizator stanów logicznych oraz standardową cyfrową sondę. To umożliwia jednoczesne zarejestrowanie 17 kanałów cyfrowych z częstotliwością próbkowania z do 200 MHz. Ten analizator stanów logicznych ma głębokość do 1024K próbek i przykładem jego użycia może być test sygnałów JTAG podczas weryfikacji i zatwierdzenia projektu na etapie przed produkcją "krzemu" (rys.1, 2, 3). Rys. 2 Zarejestrowane sygnały JTAG Rys. 1 Konfiguracją narzędzi dla rejestrowania sygnałów JTAG Rys. 3 Reprezentacja protokołu sygnałów JTAG Obecnie, w dobie systemów osadzonych stało się normą, że cały rozwój i projektowanie nowych procesorów lub oprogramowania odbywa się w technologii wirtualnej. Dla tej fazy projektu Lauterbach dostarcza rozwiązania czysto programowe. Modele Wirtualne Obecnie, modele wirtualne są używane coraz powszechniej na etapie projektowania, co umożliwia rozpoczęcie rozwoju oprogramowania długo zanim pierwsze egzemplarze prototypu projektowanego sprzętu staną się dostępne. W chwili kiedy tylko wirtualny projekt będzie skonfigurowany i uruchomiony, możemy już rozpocząć debuggowanie sterowników, systemu operacyjnego i oprogramowania aplikacyjnego. Dla zadania usuwania błędów oraz śledzenia kodu źródłowego, większość wirtualnych modeli ma własne API. Jeśli nie ma takich opcji, możemy użyć normalizowanego interfejsu MCD API http://www.lauterbach.com/mcd_api.html). QUANTUM Korporacja Transferu Technologii Sp. z o.o., ul. Wystawowa 1, 51-618 Wrocław http://www.quantum.com.pl/ http://www.embedded.com.pl/ http://www.qnx.com.pl/ Str. 1
Wiele dzisiejszych nowych projektów bazuje na procesorach wielordzeniowych. W konsekwencji z początkiem roku 2011, Lauterbach rozszerzył funkcje wirtualnego uruchamiania modeli opartych na procesorach wielordzeniowych. Weryfikacja jakości przed faktyczną produkcją Dla projektantów i producentów procesorów, ważnym etapem jest weryfikacja i zatwierdzenie projektu nowego procesorów albo układu SoCs, jeszcze przed faktyczną ich produkcją. Na tym etapie poszczególne sekcje projektowanego układu powinny być intensywnie przetestowane, na przykład: interfejs JTAG, cały rdzeń, albo interakcja między rdzeniem a peryferiami. Dla tego testowania, tradycyjnie używano emulatora układu (na przykład Palladium) albo prototypów FPGA, połączonych do sprzętowych debugger ów. Ta metoda jest jednak dużo wolniejsza niż rzeczywiste procesory. Obecnie, przy pomocy najnowszych narzędzi firmy Lauterbach, mamy możliwość wykonanie weryfikacji modelu w systemie Verilog albo SystemC bezpośrednio na komputerze PC albo na stacji roboczej. Dotychczas dokonując weryfikacji projektu za pomocą tylko oprogramowania, nie mieliśmy możliwości stosowania debugger ów sprzętowych. Dlatego też w 2011r. Lauterbach do swojego pakietu oprogramowania TRACE32 dodał wsparcie dla systemu Verilog. To rozszerzenie pozwala na symulację interfejsu JTAG na poziomie sygnałów (rys. 4). Rys. 4 Każdy wpis parametrów do TRACE32 generuje sygnały Verilog JTAG sprawdzające model układu Integracja narzędzi TRACE32 do weryfikacji projektu zarówno rdzenia procesora jak też kompleksowego układu SoC stanowi doskonały i ważny element całego procesu weryfikacji poprawności projektu, a wspierając najnowsze architektury procesorów i układów SoCs sprawia, że: projekty są gruntownie zweryfikowane i przetestowane zanim pierwszy "krzem" opuści fabrykę produkcyjną, niezbędna wiedza o nowym procesorze/soc będąca w posiadaniu projektanta jest skutecznie wykorzystana, łatwo dostępne skrypty startowe dla środowiska TRACE32 są efektywnie wykorzystane. Wsparcie szerokiej gamy Architektur Procesorów w liczbie 60+ nowych producentów Lauterbach dysponuje oferuje szeroką gamą narzędzi wspierających wszystkie popularne architektury procesorów oraz SoC stosowanych powszechnie oraz niszowo na rynku systemów osadzonych. Firma Lauterbach to faktycznie jedyny dostawca środowiska narzędzi uruchomieniowych dla procesorów wielordzeniowych. Standardowe mikrokontrolery, układy DSP, FPGA softcores lub układy z rdzeniami konfigurowalnymi wszystkie one mogą być połączone w układ wielordzeniowy i debuggowane z użyciem środowiska narzędziowego PowerTRACE32. W 2011 roku firma Lauterbach do dotychczas wspieranych ponad 4000 typów, dodała wsparcie dla licznych nowych procesorów i układów wielordzeniowych w liczbie ponad 135 typów od ponad 77 producent, w tym takich jak; Altera AppliedMicro ARM Beyond Semiconductor Broadcom FPGA with Cortex-A9 MPCore as Hardcore MP32 PPC44x 86290 / 491 / 791 Q2/2012 Beyond BA22 Cortex-A7/Cortex-A7 MPCore Cortex-A15 Cortex-A15 MPCore Cortex-R5/Cortex-R5 MPCore Cortex-R7/Cortex-R7 MPCore BCM35230 BCM63168, BCM63268 BCM7231, BCM7358 Cavium Ceva CSR Cypress Energy Micro MIPS64 CN61XX / CN62XX / CN66XX CN67XX / CN68XX CEVA-X CEVA-XC ARM11 QUATRO 4500 ARM9 EZ-USB FX3 Giant Gecko Freescale Fujitsu IBM Ikanos Infineon MCS12X MC9S12VR, MC9S12XS MM912F634 MB9DF126, MB9EF126 PPC44x 476FP Q2/2012 MIP S32 Fusiv Vx185 TriCore TriCore Multi-Core Architecture QUANTUM Korporacja Transferu Technologii Sp. z o.o., ul. Wystawowa 1, 51-618 Wrocław http://www.quantum.com.pl/ http://www.embedded.com.pl/ http://www.qnx.com.pl/ Str. 2
i.mx 6 Series MPC55xx/56xx MPC5604E, MPC5675K, MPC5676R Power QUICC III P1010, P1020 P2040, P2041 P3041, P4040, P4080 PSC9131 QorIQ 64-Bit P5010, P5020 Intel Lantiq LSI Marvell Nuvoton Atom /x86 Atom D2500, Atom N550 Core i3/i5/i7 2nd Generation XWAY xrx100 XWAY xrx200 PPC44x ACP344x Q2/2012 ARM9 Debug-Cabel 88E7251 ARM11 Debug-Cabel 88AP610-V6, MV78460-V6 Cortex-A/-R Debug-Cabel 88AP610-V7, MV78460-V7 NuMicro NXP Qualcomm Renesas Samsung ST-Ericsson LPC12xx Beyond JN5148 AR7242 Krait V850 V850E2/Fx4: 70F3548..66 70F4000..70F4011 V850E2/Fx4-L: 70F3570..89 V850E2/Px4: 70F3503 / 05 70F3507 / 08 / 09 78K0R / RL78 78K0R/Kx3-C/L RL78/G14, RL78/G1A RL78/F12, RL78/I1A H8SX S8SX1725 SH SH708x with AUD/Onchip-Trace SH7147 ARM7 S3F4 S5PV310 S3FM, S3FN STMicroelectronics Synopsys Tensilica Texas Instruments Xilinx MPC55xx/56xx SPC56A80, SPC56HK STM32F2xx, STM32F4xx ARC ARC EM4, ARC EM6 Xtensa BSP3, LX4, SSP16 MSP430 CC430Fxxx, MSP430FR5xxx MSP430x1xx..MSP430x6xx ARM9 AM38xx OMAP4460 / 4470 TMS320C6A81xx TMS320DM81xx AM335x, AM38xx OMAP4460 / 4470 / 543x RM48L950 TMS320C6A81xx TMS320DM81xx TMS570LS3xxx AM335x OMAP4460 / 4470 / 543x TMS470MFxxx TMS320C28X TMS320C28346 / F28069 TMS320C6x00 OMAP4460 / 4470 / 543x TMS320C6A81xx TMS320DM81xx TMS320TCI6616 / 18 A9500, A9540, M7400 MMDSP A9500, A9540 Zynq7000 Testy i Analiza Funkcji Każda faza projektu wymaga intensywnego testowania oraz analizy funkcjonalności układu. By sprostać tym zadaniom, pakiet TRACE32 PowerView wyposażony w graficznym interfejs użytkownika (GUI), zawiera obszerny wybór komend, rozkazów i menu. Dla przykładu są to komendy testowania ścieżką krawędziową (rys. 5), komendy wykrywanie rodzaju rdzenia lub komendy do manipulowania pinami JTAG to tylko kilka przykładów komend niskiego poziomu. QUANTUM Korporacja Transferu Technologii Sp. z o.o., ul. Wystawowa 1, 51-618 Wrocław http://www.quantum.com.pl/ http://www.embedded.com.pl/ http://www.qnx.com.pl/ Str. 3
Rys. 5 Konfiguracja komend dla testowania ścieżką krawędziową uruchomianego sprzętu. Analizy Pokrycie Kodu dla Systemów SMP TRACE32 wspiera też analizę pokrycia kodu dla systemów z przetwarzaniem symetrycznym SMP. W aplikacjach typu SMP musi być udowodnione, że instrukcja była wykonana oraz który rdzeń był odpowiedzialny za jej wykonanie. Rysunek 6 pokazuje wyniki funkcji "codecoverage" dla dwóch rdzeni A9 MPCores. Ustalenie warunków pojawienia się błędu podczas wykonywania instrukcji warunkowej, jest podświetlane w żółtym kolorze i wyraźne zaznaczone jako "not exec". Szczegółowe omówienie pokrycie kodu umieszcza się w specyfiki mówiącej jak często każdy algorytm był wykonywany. Rys. 6 Możliwości analizy Pokrycie Kodu dla Systemów SMP Symulacja i rzeczywistość bliżej siebie Współcześnie, zarówno symulację jak i weryfikację projektów prowadzi się jednocześnie jeszcze przed etapem wykonania prototypu projektowanego sprzętu komputerowego. Dlatego też oprogramowanie takie jak MATLAB i Simulink zawojowały rynek współczesnych technik projektowania różnych konstrukcji inżynierskich. To sprawia, że możemy zaoszczędzić dużo czasu i wysiłku poświęcanego na testowanie układów z wielu zmiennymi jeszcze przed sfinalizowaniem końcowej postaci projektu końcowego. Jaki powinien być następny krok, po tym, jak algorytm kontroli był znaleziony przez symulację? Jak znaleźć właściwą metodę i odpowiednie rozwiązanie narzędziowe zintegrowane ze sprzętem kontrolowanym? Jak wiemy, pakiet Simulink umożliwia automatyczne generowanie kodu. Ale czy możemy być pewni, że wygenerowany kod programu zachowuje się tak samo na kontrolerze komputerowym jak podczas symulacji? Instytut badań Dynamiki Lotu Statków Powietrznych przy Technische Universität München znalazł interesujące rozwiązanie podczas rozwoju systemu kontroli lotów dla samolotu Diamentu DA42 (rys. 7). QUANTUM Korporacja Transferu Technologii Sp. z o.o., ul. Wystawowa 1, 51-618 Wrocław http://www.quantum.com.pl/ http://www.embedded.com.pl/ http://www.qnx.com.pl/ Str. 4
Po tym, jak algorytmy kontroli były stworzone i funkcjonalnie przetestowane przez Simulink, odpowiedni kod programu dla procesora sprzętu sterownika komputerowego samolotu był generowany przez bloki kontrolne, używających modułu Kodera Osadzonego. Dalej używając debuggera TRACE32, generowany kod był załadowany do pamięci sterownika komputerowego kontroli samolotu i funkcjonalnie przetestowany na miejscu. By określić poziom odchyleń pomiędzy symulowanym zachowaniem (czerwona ścieżka) a rzeczywistym zachowaniem podczas kontroli (zielona ścieżka), ale nade wszystko by potwierdzić numeryczną dokładność pracy sprzętu sterownika komputerowego, wybrano tryb pracy procesora w pętli symulacja (PIL) (rys. 7). Zasadniczo, symulacja PIL jest oparta o specjalnie rozwinięte bloki Simulink PIL Send i PIL Receive. To rozwiązanie było zaprojektowane w celu wprowadzenia komunikacji między pakietami Simulink a TRACE32 jako zdalny API. W każdym uruchomieniu kodu "na wskroś", algorytm kontroli lotów wykonuje pojedynczy krok obliczenia dyskretnej wartości czasu kontroli lotów na sprzęcie sterownika komputerowego. Mdel Simulink dostarcza konieczne parametry wejściowe. Wartości obliczone są zwrócone do modelu Simulink i tam sterują modelem samolotu. W obliczeniach równoległych, symulowany algorytm kontroli lotów oblicza te same wartości. Pojawiająca się ewentualna różnica jest używana do porównania obu wyników. Testy przeprowadzone na opisanym stoisku wykazały odchylenia zgodności w wartościach bezwzględnych na poziomie 10 13 co potwierdziło wysoki poziom koncepcji w podejściu do wybranych metod weryfikacji. Rys. 8 Diamond DA42 (Source: www.diamond air.at) Debuggowanie BIOS u UEFI z użyciem narzędzi TRACE32 Nowy pakiet TRACE32 współpracujący z narzędziami PowerDebug, posiada rozszerzenia i funkcje do obsługi procesorów Intel Atom, umożliwiając także usuwanie błędów z kodu H2O BIOS u UEFI. BIOS UEFI to jest następca tradycyjnego BIOS u powszechnie używanego w pecetach. Funkcje BIOSU działają jak interfejs pomiędzy oprogramowaniem firmware (BSP) a systemem operacyjnym zarządzającym inicjowaniem procesem bootowania. Od chwili włączenia zasilania "power on", do czasu przejęcia kontroli przez system operacyjny, kod BIOS u UEFI przebiega przez różne fazy, wyraźnie pokazane na dolnym rysunku (rys. 9). Debugger jako narzędzie oparte na interfejsie JTAG, pozwala przy użyciu pakietu TRACE32 na wykonywanie procesu usuwania błędów już od tzw. fazy reset vector". W każdej fazie procesu inicjowania kodu BIOSU, pakiet TRACE32 wyposażony w interfejs użytkownika PowerView wyposażony w specjalne funkcje okienkowe pokazuje dokładne informację o BIOS ie UEFI. Specjalne funkcje wraz przygotowanymi skryptami, umożliwiają usuwaniu błędów z dynamicznie ładowanych sterowników zaczynając od pierwszej instrukcji. W celu uzyskania więcej informacji o technologii debugowania oraz o nowym rozszerzeniach do debuggowania BIOSU UEFI, zalecamy skorzystanie z podanego linku: www.lauterbach.com/uefi.html. QUANTUM Korporacja Transferu Technologii Sp. z o.o., ul. Wystawowa 1, 51-618 Wrocław http://www.quantum.com.pl/ http://www.embedded.com.pl/ http://www.qnx.com.pl/ Str. 5
Rys. 9 Proces bootowania z BIOS sem UEFI. Niepowtarzalna otwarta i modułowa architektura, a także największe dynamika dodawania nowych opcji oraz wsparcie różnych architektur procesorów (RISC, CISC ) oraz rewelacyjne obsługa techniczna w połączeniu z darmowym graficznym pakietem programistycznym TRACE32 PowerView sprawiają, że unikalne technologicznie, zintegrowane i kompletne środowisko narzędzi programistyczno uruchomieniowych firmy Lauterbach przeznaczone dla uruchamiania wszelkiego rodzaju wysoko zawansowanych systemów osadzonych zyskało najwyższą ocenę jakościową. Zarówno w opinii projektantów profesjonalnej elektroniki jak też ogromnej rzeszy użytkowników z różnych zakątków świata środowisko to powszechnie uznawane jest za światowy standard De facto, dla wszystkich pozostałych producentów tego typu narzędzi. Z tego też powodu inwestycja w to środowisko procentuje w długim okresie jego użytkowania, kiedy każdy użytkownik ma zagwarantowany systematyczny dostęp do różnych kolejnych regularnych modyfikacji i udoskonaleń pakietu TRACE32 wraz z gwarancją uwzględnienia specyficznych potrzeby każdego indywidualnego użytkownika. Ponadto wiele unikalnych zalet kompletnego środowiska, takich jak: _Zdecydowanie najszersza (spośród konkurencyjnie oferowanych) gama obsługiwanych architektur różnych procesorów, w tym wszystkie Freescale, ARM, SH, MIPS, PPC, TMS320 DSP, OMAP, TMS470, ATOM, kończąc na różnych egzotycznych, produkowanych przez ponad 77 wytwórców niekiedy specjalnie wykonywanych na zamówienia klientów w rozlicznych opcjach (obecnie grubo ponad 4000 różnych procesorów), _Obsługa i wsparciem dla ponad 70 standardowych i dedykowanych S/O typu RTOS wraz z Open APIs jako interfejs do wielu innych narzędzi w tym Eclipse, _obsługa systemów z ochroną pamięci MMU, _możliwość pracy w trybie Multi Trace, Multi processor oraz Multicore jednocześnie, _dynamicznie rosnąca lista klientów to ponad 80 tysięcy najważniejszych znanych firm projektujących i produkujących procesory oraz układy SoC jak też produkty użytkowe z różnych zakątków świata, _ponad 30 lat doświadczenia w projektowaniu i rozwoju tych narzędzi oraz stała i aktywna współpraca z firmami ARM, Freescale, TI, Xilinx, Altera, Intel, QUALCOMM, Samsung itp. oraz aktywne członkostwo w różnych komitetach forach jak Test and Debug Workgroup of MIPI, IEEE Workgroup to define JTAG1149.7, SPRINT Forum to define Standard APIs for Virtual Prototyping, NEXUS Forum, _szybkość wgrywania plików źródłowych na poziomie 3 MB/sek, _High speed serial trace i obsługa opcji ETM z szybkością 650 MHz, a w technologii ctools Trace z szybkością do 4 GByte, _wsparcie dla ETB, _wsparcie dla CoreSight, _wsparcie dla unikalnej technologii Long Term Trace, QUANTUM Korporacja Transferu Technologii Sp. z o.o., ul. Wystawowa 1, 51-618 Wrocław http://www.quantum.com.pl/ http://www.embedded.com.pl/ http://www.qnx.com.pl/ Str. 6
czynią zakup tzw. pakietu startowego inwestycją niezwykle opłacalną i elastyczną perspektywicznie, szczególnie w aspekcie niezwykle dynamicznego postępu i rozwoju coraz to nowych typów i odmian mikroprocesorów i mikrokontrolerów. Niech tylko tych kilka powyżej wymienionych cech narzędzi, stanie się zachętą do głębszego zapoznania się z pełnym środowiskiem zawansowanych mikroprocesorowych narzędzi uruchomieniowo programistycznych firmy Lauterbach pod nazwą TRACE32 PowerDebug System, przeznaczonymi dla projektantów dowolnie zawansowanego sprzętu elektronicznego bazującego na różnych mikroprocesorach. Mamy też nadzieję, że nasza propozycja dostaw tych narzędzi wraz ze wsparciem technicznym jak też pomocy w ich adaptacji i rozwiązywaniu pojawiających się różnych problemów, zaowocuje poważniejszą współpracą technicznohandlową, tak jak ma to miejsce z dziesiątkami innych ośrodków R&D światowych koncernów zlokalizowanych na terenie całej Polski, a także licznych zawansowanych technologicznie firm polskich zajmujących się projektowaniem, uruchamianiem i tworzeniem aplikacji zawansowanych systemów elektronicznych. Wszelkie Państwa dalsze zapytania technicznych lub handlowych proszę kierować do naszego Działu Techniczno Handlowego na adres info@quantum.com.pl, a pracownicy działu udzielą Państwu wyczerpujących i rzetelnych informacji na dowolne dalsze zapytania. Dział Marketingu, KTT Quantum Aby uzyskać więcej informacji proszę skontaktować się z działem technicznym firmy QUANTUM Sp. z o.o., ul. Wystawowa 1, 51-618 Wrocław, Email: info@quantum.com.pl QUANTUM Korporacja Transferu Technologii Sp. z o.o., ul. Wystawowa 1, 51-618 Wrocław http://www.quantum.com.pl/ http://www.embedded.com.pl/ http://www.qnx.com.pl/ Str. 7