Podręcznik użytkownika oprogramowania NXP AN14120 do debugowania Cortex-M
Wstęp
W tym dokumencie opisano kompilowanie krzyżowe, wdrażanie i debugowanie aplikacji dla rodziny i.MX 8M, i.MX 8ULP i procesora i.MX 93 Cortex-M przy użyciu programu Microsoft Visual Studio Code.
Środowisko oprogramowania
Rozwiązanie można wdrożyć zarówno na hoście Linux, jak i Windows. W tej notatce aplikacyjnej zakłada się, że jest to komputer z systemem Windows, ale nie jest to obowiązkowe.
W tej notatce aplikacyjnej użyto wersji Linux BSP 6.1.22_2.0.0. Użyto następujących obrazów prebuild:
- i.MX 8M Mini: imx-image-full-imx8mmevk.wic
- i.MX 8M Nano: imx-image-full-imx8mnevk.wic
- i.MX 8M Plus: imx-image-full-imx8mpevk.wic
- i.MX 8ULP: imx-image-pełny-imx8ulpevk.wic
- i.MX 93: imx-image-full-imx93evk.wic
Szczegółowe instrukcje dotyczące tworzenia tych obrazów można znaleźć w Podręczniku użytkownika systemu i.MX Linux (dokument IMXLUG) oraz Podręczniku użytkownika projektu i.MX Yocto (dokument IMXLXYOCTOUG).
Jeśli używasz komputera z systemem Windows, zapisz wstępnie skompilowany obraz na karcie SD przy użyciu programu Win32 Disk Imager (https:// win32diskimager.org/) lub Balena Etcher (https://etcher.balena.io/). Jeśli używany jest komputer z systemem Ubuntu, zapisz wstępnie skompilowany obraz na karcie SD za pomocą poniższego polecenia:
$ sudo dd if=.wic of=/dev/sd bs=1M status=postęp konv=fsync
Notatka: Sprawdź partycję czytnika kart i zamień sd na odpowiednią partycję. 1.2
Konfiguracja sprzętu i wyposażenie
- Zestaw deweloperski:
- NXP i.MX 8MM EVK LPDDR4
- NXP i.MX 8MN EVK LPDDR4
- NXP i.MX 8MP EVK LPDDR4
- NXP i.MX 93 EVK dla 11×11 mm LPDDR4 – NXP i.MX 8ULP EVK LPDDR4
- Karta Micro SD: W obecnym eksperymencie użyto karty SanDisk Ultra 32 GB Micro SDHC I Class 10.
- Kabel Micro-USB (i.MX 8M) lub Type-C (i.MX 93) do portu debugowania.
- Sonda debugująca SEGGER J-Link.
Wymagania wstępne
Przed rozpoczęciem debugowania konieczne jest spełnienie kilku warunków wstępnych w celu poprawnej konfiguracji środowiska debugowania.
Połączenie debugowania PC Host – płyta i.MX
Aby nawiązać połączenie debugowania sprzętu, wykonaj następujące czynności:
- Podłącz płytę i.MX do komputera hosta za pomocą złącza DEBUG USB-UART i PC USB za pomocą kabla USB. System operacyjny Windows automatycznie wykryje urządzenia szeregowe.
- W Menedżerze urządzeń, w obszarze Porty (COM i LPT) znajdź dwa lub cztery podłączone porty szeregowe USB (COM). Jeden z portów jest używany do komunikatów debugowania generowanych przez rdzeń Cortex-A, a drugi do rdzenia Cortex-M. Przed określeniem właściwego portu, pamiętaj:
- [i.MX 8MP, i.MX 8ULP, i.MX 93]: W Device Manger są dostępne cztery porty. Ostatni port jest przeznaczony do debugowania Cortex-M, a drugi od końca do debugowania Cortex-A, licząc porty debugowania w kolejności rosnącej.
- [i.MX 8MM, i.MX 8MN]: W Menedżerze urządzeń są dostępne dwa porty. Pierwszy port jest przeznaczony do debugowania Cortex-M, a drugi do debugowania Cortex-A, licząc porty debugowania w kolejności rosnącej.
- Otwórz właściwy port debugowania za pomocą preferowanego emulatora terminala szeregowego (np.ampPuTTY) ustawiając następujące parametry:
- Prędkość do 115200 bps
- 8 bitów danych
- 1 bit stopu (115200, 8N1)
- Brak parytetu
- Podłącz sondę debugowania SEGGER USB do hosta, a następnie podłącz SEGGER JTAG złącze do płyty i.MX JTAG interfejs. Jeśli płyta i.MX JTAG interfejs nie posiada żadnego prowadzonego złącza, orientację określa się poprzez wyrównanie czerwonego przewodu z pinem 1, jak na rysunku 1.
Konfiguracja VS Code
Aby pobrać i skonfigurować VS Code, wykonaj następujące kroki:
- Pobierz i zainstaluj najnowszą wersję programu Microsoft Visual Studio Code z oficjalnej strony website. W przypadku korzystania z systemu Windows jako hosta OS, wybierz przycisk „Pobierz dla Windows” ze strony głównej Visual Studio Code.
- Po zainstalowaniu programu Visual Studio Code otwórz go i wybierz kartę „Rozszerzenia” lub naciśnij kombinację klawiszy Ctrl + Shift + X.
- W dedykowanym pasku wyszukiwania wpisz MCUXpresso dla VS Code i zainstaluj rozszerzenie. Nowa karta pojawi się po lewej stronie okna VS Code.
Konfiguracja rozszerzenia MCUXpresso
Aby skonfigurować rozszerzenie MCUXpresso, wykonaj następujące kroki:
- Kliknij dedykowaną zakładkę rozszerzenia MCUXpresso z lewego paska bocznego. Z PANELU QUICKSTART kliknij
Otwórz instalator MCUXpresso i zezwól na pobranie instalatora. - Okno instalatora pojawi się w krótkim czasie. Kliknij MCUXpresso SDK Developer i SEGGER JLink, a następnie kliknij przycisk Install. Instalator instaluje potrzebne oprogramowanie do archiwów, łańcucha narzędzi, obsługi Pythona, Git i sondy debugowania.
Po zainstalowaniu wszystkich pakietów upewnij się, że sonda J-Link jest podłączona do komputera hosta. Następnie sprawdź, czy sonda jest również dostępna w rozszerzeniu MCUXpresso w DEBUG PROBES view, jak pokazano na rysunku
Importuj MCUXpresso SDK
W zależności od tego, jakiej płyty używasz, zbuduj i pobierz odpowiedni pakiet SDK z oficjalnej strony NXP website. W przypadku tej notatki aplikacyjnej przetestowano następujące zestawy SDK:
- SDK_2.14.0_EVK-MIMX8MM
- Zestaw SDK_2.14.0_EVK-MIMX8MN
- SDK_2.14.0_EVK-MIMX8MP
- SDK_2.14.0_EVK-MIMX8ULP
- SDK_2.14.0_MCIMX93-EVK
Aby zbudować byłegoampdla i.MX 93 EVK, patrz rysunek 7:
- Aby zaimportować repozytorium zestawu SDK MCUXpresso do programu VS Code, wykonaj następujące kroki:
- Po pobraniu SDK otwórz Visual Studio Code. Kliknij kartę MCUXpresso z lewej strony i rozwiń ZAINSTALOWANE REPOZYTORIA i PROJEKTY views.
- Kliknij Import Repository i wybierz LOCAL ARCHIVE. Kliknij Browse… odpowiadające polu Archive i wybierz ostatnio pobrane archiwum SDK.
- Wybierz ścieżkę, w której rozpakujesz archiwum i wypełnij pole Lokalizacja.
- Pole Nazwa można pozostawić domyślne lub wybrać własną nazwę.
- Zaznacz lub odznacz opcję Utwórz repozytorium Git w zależności od potrzeb, a następnie kliknij Importuj.
Importuj byłegoampplik aplikacji
Po zaimportowaniu zestawu SDK zostanie on wyświetlony pod ZAINSTALOWANE REPOZYTORIA view.
Aby zaimportować byłegoampAby pobrać aplikację z repozytorium SDK, wykonaj następujące kroki:
- Kliknij Importuj plikampprzycisk le from Repository z PROJEKTÓW view.
- Wybierz repozytorium z listy rozwijanej.
- Wybierz zestaw narzędzi z listy rozwijanej.
- Wybierz planszę docelową.
- Wybierz demo_apps/hello_world exampz listy Wybierz szablon.
- Wybierz nazwę projektu (możesz użyć nazwy domyślnej) i ustaw ścieżkę do lokalizacji projektu.
- Kliknij Utwórz.
- Wykonaj poniższe kroki tylko dla rodziny i.MX 8M. W PROJEKTACH view, rozwiń importowany projekt. Przejdź do sekcji Ustawienia i kliknij mcuxpresso-tools.json file.
a. Dodaj „interfejs”: „JTAG” w obszarze „debugowanie” > „segger”
b. W przypadku i.MX 8MM dodaj następującą konfigurację: „device”: „MIMX8MM6_M4” w „debug” > „segger”
c. W przypadku i.MX 8MN dodaj następującą konfigurację: „device”: „MIMX8MN6_M7” w sekcji „debug” > „segger”
d. W przypadku i.MX 8MP dodaj następującą konfigurację:
„urządzenie”: „MIMX8ML8_M7” w „debugowanie” > „segger”
Poniższy kod pokazuje byłegoampsekcja „debug” dla i.MX8 MP po wykonaniu powyższych modyfikacji w pliku mcuxpresso-tools.json:
Po zaimportowaniu byłegoampaby aplikacja działała poprawnie, musi być widoczna w PROJEKTACH view. Również źródło projektu filesą widoczne w zakładce Eksplorator (Ctrl + Shift + E).
Budowanie aplikacji
Aby zbudować aplikację, naciśnij lewą ikonę Build Selected (Zbuduj wybrane), jak pokazano na rysunku 9.
Przygotuj płytkę do debugera
Aby użyć JTAG w przypadku debugowania aplikacji Cortex-M istnieje kilka wymagań wstępnych, zależnych od platformy:
- Dla i.MX 93
Aby zapewnić obsługę protokołu i.MX 93, należy zainstalować poprawkę dla SEGGER J-Link: SDK_MX93_3RDPARTY_PATCH.zip.
Notatka: Ta poprawka musi zostać użyta, nawet jeśli została zainstalowana w przeszłości. Po zakończeniu pobierania rozpakuj archiwum i skopiuj katalog Devices oraz JLinkDevices.xml file do C:\Program Files\SEGGER\JLink. Jeśli używany jest komputer z systemem Linux, ścieżka docelowa to /opt/SEGGER/JLink.- Debugowanie Cortex-M33, gdy uruchomiony jest tylko Cortex-M33
W tym trybie przełącznik trybu rozruchu SW1301[3:0] musi być ustawiony na [1010]. Następnie obraz M33 może zostać bezpośrednio załadowany i debugowany za pomocą przycisku debugowania. Więcej szczegółów znajduje się w sekcji 5.
Jeśli konieczne jest uruchomienie Linuksa na Cortex-A55 równolegle z Cortex-M33, istnieją dwa sposoby debugowania Cortex-M33: - Debugowanie Cortex-M33, gdy Cortex-A55 jest w U-Boot
Najpierw skopiuj sdk20-app.bin file (znajduje się w katalogu armgcc/debug) wygenerowany w sekcji 3 do partycji rozruchowej karty SD. Uruchom płytę i zatrzymaj ją w U-Boot. Gdy przełącznik rozruchowy jest skonfigurowany do rozruchu Cortex-A, sekwencja rozruchowa nie uruchamia Cortex-M. Należy ją ręcznie uruchomić za pomocą poniższych poleceń. Jeśli Cortex-M nie zostanie uruchomiony, JLink nie połączy się z rdzeniem.
- Uwaga: Jeśli nie można normalnie debugować systemu, spróbuj kliknąć prawym przyciskiem myszy projekt w MCUXpresso dla VS
Napisz kod i wybierz „Dołącz, aby debugować projekt”. - Debugowanie Cortex-M33, gdy Cortex-A55 jest w systemie Linux
Należy zmodyfikować Kernel DTS, aby wyłączyć UART5, który wykorzystuje te same piny co JTAG interfejs.
Jeśli używasz komputera z systemem Windows, najłatwiej będzie zainstalować WSL + Ubuntu 22.04 LTS, a następnie wykonać kompilację krzyżową DTS.
Po zainstalowaniu WSL + Ubuntu 22.04 LTS otwórz maszynę Ubuntu działającą na WSL i zainstaluj wymagane pakiety:
Teraz można pobrać źródła jądra:
Aby wyłączyć urządzenie peryferyjne UART5, wyszukaj węzeł lpuart5 w pliku linux-imx/arch/arm64/boot/dts/freescale/imx93-11×11-evk.dts file i zamień status okay na wyłączony:
Ponowna kompilacja DTS:
Skopiuj nowo utworzony plik linux-imx/arch/arm64/boot/dts/freescale/imx93 11×11-evk.dtb file na partycji rozruchowej karty SD. Skopiuj hello_world.elf file (znajduje się w katalogu armgcc/debug) wygenerowany w sekcji 3 do partycji rozruchowej karty SD. Uruchom płytę w systemie Linux. Ponieważ ROM rozruchowy nie uruchamia Cortex-M podczas rozruchu Cortex-A, CortexM musi zostać uruchomiony ręcznie.
Notatka:Witaj_świecie.elf file należy umieścić w katalogu /lib/firmware.
- Debugowanie Cortex-M33, gdy uruchomiony jest tylko Cortex-M33
- Dla i.MX 8M
Aby obsługiwać i.MX 8M Plus, należy zainstalować poprawkę dla SEGGER J-Link:
iar_segger_support_patch_imx8mp.zip.
Po zakończeniu pobierania rozpakuj archiwum i skopiuj katalog Urządzenia oraz
JLinkDevices.xml file z katalogu JLink do C:\Program Files\SEGGER\JLink. Jeśli komputer z systemem Linux
jest używany, ścieżka docelowa to /opt/SEGGER/JLink.- Debugowanie Cortex-M, gdy Cortex-A jest w U-Boot
W tym przypadku nie trzeba robić nic szczególnego. Uruchom płytę w U Boot i przejdź do sekcji 5. - Debugowanie Cortex-M, gdy Cortex-A jest w systemie Linux
Aby uruchomić i debugować aplikację Cortex-M równolegle z Linuksem działającym na Cortex-A, należy przypisać i zarezerwować konkretny zegar dla Cortex-M. Robi się to w U-Boot. Zatrzymaj płytę w U-Boot i uruchom poniższe polecenia:
- Debugowanie Cortex-M, gdy Cortex-A jest w U-Boot
- Dla i.MX 8ULP
Aby obsługiwać układ i.MX 8ULP, należy zainstalować poprawkę dla SEGGER J-Link: SDK_MX8ULP_3RDPARTY_PATCH.zip.
Notatka: Tę poprawkę należy zastosować nawet jeśli została już zainstalowana w przeszłości.
Po pobraniu rozpakuj archiwum i skopiuj katalog Urządzenia oraz plik JLinkDevices.xml file do C:\Program Files\SEGGER\JLink. Jeśli używany jest komputer z systemem Linux, ścieżka docelowa to /opt/SEGGER/JLink. W przypadku i.MX 8ULP, ze względu na jednostkę Upower, najpierw zbuduj flash.bin przy użyciu m33_image w naszym repozytorium „VSCode”. Obraz M33 można znaleźć w {CURRENT REPO}\armgcc\debug\sdk20-app.bin. Zapoznaj się z sekcją 6 z Getting Started with MCUX presso SDK for EVK-MIMX8ULP and EVK9-MIMX8ULP w SDK_2_xx_x_EVK-MIMX8ULP/docs, aby dowiedzieć się, jak zbudować obraz flash.bin.
Notatka: Użyj obrazu M33 w aktywnym repozytorium VSCode. W przeciwnym razie program nie dołączy się prawidłowo. Kliknij prawym przyciskiem myszy i wybierz „Dołącz”.
Uruchamianie i debugowanie
Po naciśnięciu przycisku debugowania należy wybrać konfigurację projektu debugowania, co spowoduje rozpoczęcie sesji debugowania.
Gdy rozpoczyna się sesja debugowania, wyświetlane jest dedykowane menu. Menu debugowania zawiera przyciski do uruchamiania wykonywania do momentu uruchomienia punktu przerwania, wstrzymywania wykonywania, przechodzenia, wchodzenia, wychodzenia, ponownego uruchamiania i zatrzymywania.
Możemy także zobaczyć zmienne lokalne, wartości rejestrów, obserwować niektóre wyrażenia oraz sprawdzać stos wywołań i punkty przerwania
w lewym nawigatorze. Te obszary funkcji znajdują się pod zakładką „Uruchom i debuguj”, a nie w MCUXpresso
dla kodu VS.
Uwaga dotycząca kodu źródłowego w dokumencie
Exampkod pliku pokazany w tym dokumencie jest objęty następującymi prawami autorskimi i licencją BSD-3-Clause:
Copyright 2023 NXP Redystrybucja i wykorzystanie w formie źródłowej i binarnej, z modyfikacjami lub bez, są dozwolone pod warunkiem spełnienia następujących warunków:
- Przy redystrybucji kodu źródłowego należy zachować powyższą informację o prawach autorskich, niniejszą listę warunków oraz poniższe wyłączenie odpowiedzialności.
- Redystrybucje w formie binarnej muszą zawierać powyższą informację o prawach autorskich, niniejszą listę warunków i następujące wyłączenie odpowiedzialności w dokumentacji i/lub innych materiałach muszą być dołączone do dystrybucji.
- Ani nazwisko właściciela praw autorskich, ani nazwiska jego współautorów nie mogą być używane do popierania lub promowania produktów wywodzących się z tego oprogramowania bez uprzedniej pisemnej zgody.
NINIEJSZE OPROGRAMOWANIE JEST DOSTARCZANE PRZEZ WŁAŚCICIELI PRAW AUTORSKICH I WSPÓŁPRACOWNIKÓW „W STANIE, W JAKIM JEST” I WYŁĄCZA SIĘ WSZELKIE WYRAŹNE LUB DOROZUMIANE GWARANCJE, W TYM M.in. DOROZUMIANE GWARANCJE WARTOŚCI HANDLOWEJ I PRZYDATNOŚCI DO OKREŚLONEGO CELU. W ŻADNYM WYPADKU POSIADACZ PRAW AUTORSKICH LUB WSPÓŁPRACOWCY NIE BĘDĄ ODPOWIEDZIALNI ZA JAKIEKOLWIEK BEZPOŚREDNIE, POŚREDNIE, PRZYPADKOWE, SPECJALNE, PRZYKŁADOWE LUB WYNIKOWE SZKODY (W TYM M.in. ZAKUPIENIE TOWARÓW LUB USŁUG ZAMIENNYCH, UTRATA UŻYTKOWANIA, DANYCH LUB ZYSKÓW; LUB PRZERWY W DZIAŁALNOŚCI) JAKICHKOLWIEK SPOWODOWANEJ I NA DOWOLNEJ TEORII ODPOWIEDZIALNOŚCI, ZWIĄZANEJ Z UMOWĄ, ŚCIŚŁĄ LUB DELIKTOWĄ (W TYM ZANIEDBANIA LUB INNĄ), WYNIKAJĄCEJ W JAKIKOLWIEK SPOSÓB Z KORZYSTANIA Z TEGO OPROGRAMOWANIA, NAWET W PRZYPADKU POWIADOMIENIA O MOŻLIWOŚCI WYSTĄPIENIA TAKICH SZKÓD
Informacje prawne
Definicje
Projekt — Status roboczy dokumentu oznacza, że jego treść jest nadal
w ramach wewnętrznego review i podlega formalnej akceptacji, co może skutkować modyfikacjami lub uzupełnieniami. NXP Semiconductors nie składa żadnych oświadczeń ani gwarancji co do dokładności lub kompletności informacji zawartych w wersji roboczej dokumentu i nie ponosi odpowiedzialności za konsekwencje wykorzystania takich informacji.
Zastrzeżenia
Ograniczona gwarancja i odpowiedzialność — Uważa się, że informacje zawarte w tym dokumencie są dokładne i wiarygodne. Jednakże NXP Semiconductors nie składa żadnych oświadczeń ani gwarancji, wyraźnych ani dorozumianych, co do dokładności lub kompletności takich informacji i nie ponosi odpowiedzialności za konsekwencje wykorzystania takich informacji. NXP Semiconductors nie ponosi odpowiedzialności za treść tego dokumentu, jeśli została ona dostarczona przez źródło informacji spoza NXP Semiconductors. W żadnym wypadku NXP Semiconductors nie ponosi odpowiedzialności za jakiekolwiek szkody pośrednie, przypadkowe, karne, szczególne lub wynikowe (w tym – bez ograniczeń – utracone zyski, utracone oszczędności, przerwanie działalności, koszty związane z usunięciem lub wymianą jakichkolwiek produktów lub opłaty za przeróbki), niezależnie od tego, czy takie szkody są oparte na czynie niedozwolonym (w tym zaniedbaniu), gwarancji, naruszeniu umowy lub jakiejkolwiek innej teorii prawnej.
Niezależnie od jakichkolwiek szkód, które klient może ponieść z jakiegokolwiek powodu, łączna i skumulowana odpowiedzialność firmy NXP Semiconductors wobec klienta za produkty opisane w niniejszym dokumencie jest ograniczona zgodnie z Warunkami sprzedaży komercyjnej NXP Semiconductors.
Prawo do wprowadzania zmian — NXP Semiconductors zastrzega sobie prawo do wprowadzania zmian w informacjach opublikowanych w tym dokumencie, w tym bez ograniczeń w specyfikacjach i opisach produktów, w dowolnym momencie i bez powiadomienia. Niniejszy dokument zastępuje i zastępuje wszystkie informacje dostarczone przed jego publikacją.
Przydatność do użycia — Produkty NXP Semiconductors nie są zaprojektowane, autoryzowane ani gwarantowane jako odpowiednie do stosowania w systemach lub urządzeniach podtrzymujących życie, systemach lub urządzeniach krytycznych dla życia lub bezpieczeństwa, ani w zastosowaniach, w których można zasadnie oczekiwać, że awaria lub nieprawidłowe działanie produktu NXP Semiconductors spowoduje obrażenia ciała, śmierć lub poważne szkody materialne lub środowiskowe. NXP Semiconductors i jego dostawcy nie ponoszą odpowiedzialności za włączenie i/lub użycie produktów NXP Semiconductors w takim sprzęcie lub aplikacjach, a zatem takie włączenie i/lub użycie odbywa się na własne ryzyko klienta.
Aplikacje — Zastosowania opisane w niniejszym dokumencie dla któregokolwiek z tych
Produkty mają charakter poglądowy. NXP Semiconductors nie składa żadnych oświadczeń ani nie udziela żadnych gwarancji, że takie aplikacje będą odpowiednie do określonego zastosowania bez dalszych testów lub modyfikacji.
Klienci odpowiadają za projekt i działanie swoich urządzeń.
aplikacje i produkty wykorzystujące produkty NXP Semiconductors, a NXP Semiconductors nie ponosi żadnej odpowiedzialności za jakąkolwiek pomoc w zakresie aplikacji lub projektowania produktów klienta. Klient jest wyłącznie odpowiedzialny za ustalenie, czy produkt NXP Semiconductors jest odpowiedni i dopasowany do planowanych aplikacji i produktów klienta, a także do planowanego zastosowania i użytkowania przez klienta(-ów) będącego(-ych) stroną trzecią(-ych) klienta. Klienci powinni zapewnić odpowiednie zabezpieczenia projektowe i operacyjne w celu zminimalizowania ryzyka związanego z ich aplikacjami i produktami.
NXP Semiconductors nie ponosi żadnej odpowiedzialności związanej z jakąkolwiek wadą, uszkodzeniem, kosztami lub problemem, które wynikają z jakiejkolwiek słabości lub wady aplikacji lub produktów klienta lub aplikacji lub użytkowania przez klienta(-ów) będącego(-ych) stroną trzecią(-ymi). Klient jest odpowiedzialny za przeprowadzenie wszystkich niezbędnych testów aplikacji i produktów klienta przy użyciu produktów NXP Semiconductors w celu uniknięcia wady aplikacji i produktów lub aplikacji lub użytkowania przez stronę trzecią(-ych) klienta.
Warunki sprzedaży komercyjnej — Produkty NXP Semiconductors sprzedawane są na ogólnych warunkach sprzedaży komercyjnej opublikowanych na stronie https://www.nxp.com/profile/warunki, chyba że uzgodniono inaczej w ważnej pisemnej umowie indywidualnej. W przypadku zawarcia umowy indywidualnej stosuje się wyłącznie warunki i postanowienia odpowiedniej umowy. NXP Semiconductors niniejszym wyraźnie sprzeciwia się stosowaniu ogólnych warunków i postanowień klienta w odniesieniu do zakupu produktów NXP Semiconductors przez klienta.
Kontrola eksportu — Niniejszy dokument, jak również elementy w nim opisane, mogą podlegać przepisom dotyczącym kontroli eksportu. Wywóz może wymagać uprzedniego zezwolenia właściwych organów.
Możliwość stosowania w produktach niespełniających wymogów motoryzacyjnych — Chyba że w niniejszym dokumencie wyraźnie określono, że chodzi o tę konkretną firmę NXP Semiconductors
produkt jest zakwalifikowany do zastosowań motoryzacyjnych, produkt nie nadaje się do zastosowań motoryzacyjnych. Nie jest on ani zakwalifikowany, ani testowany zgodnie z wymaganiami testowania lub aplikacji motoryzacyjnych. NXP Semiconductors nie ponosi odpowiedzialności za włączenie i/lub użycie produktów niekwalifikowanych do zastosowań motoryzacyjnych w sprzęcie lub aplikacjach motoryzacyjnych.
W przypadku, gdy klient używa produktu do celów projektowych i użytkowych,
zastosowania motoryzacyjne zgodnie ze specyfikacjami i normami motoryzacyjnymi,
klient (A) będzie używać produktu bez gwarancji NXP Semiconductors na produkt w takich zastosowaniach motoryzacyjnych, użytkowaniu i specyfikacjach, oraz (B) w przypadku, gdy klient użyje produktu do zastosowań motoryzacyjnych wykraczających poza specyfikacje NXP Semiconductors, takie użycie będzie odbywać się wyłącznie na ryzyko klienta; (c) klient w pełni zwalnia NXP Semiconductors z wszelkiej odpowiedzialności, szkód lub roszczeń dotyczących wadliwego produktu wynikających z konstrukcji i użytkowania produktu przez klienta do zastosowań motoryzacyjnych wykraczających poza standardową gwarancję NXP Semiconductors i specyfikacje produktu NXP Semiconductors.
Tłumaczenia — Nieangielska (przetłumaczona) wersja dokumentu, w tym zawarte w nim informacje prawne, służy wyłącznie jako odniesienie. Wersja angielska ma pierwszeństwo w przypadku jakichkolwiek rozbieżności między wersją przetłumaczoną a wersją angielską.
Bezpieczeństwo — Klient rozumie, że wszystkie produkty NXP mogą być przedmiotem niezidentyfikowanych luk w zabezpieczeniach lub mogą obsługiwać ustalone standardy lub specyfikacje bezpieczeństwa ze znanymi ograniczeniami. Klient jest odpowiedzialny za projektowanie i działanie swoich aplikacji i produktów przez cały cykl ich życia w celu zmniejszenia wpływu tych luk na aplikacje i produkty klienta. Odpowiedzialność klienta obejmuje również inne otwarte i/lub zastrzeżone technologie obsługiwane przez produkty NXP do wykorzystania w aplikacjach klienta. NXP nie ponosi odpowiedzialności za jakiekolwiek luki w zabezpieczeniach. Klient powinien regularnie sprawdzać aktualizacje zabezpieczeń udostępniane przez NXP i podejmować odpowiednie działania następcze.
Klient wybiera produkty z funkcjami bezpieczeństwa, które najlepiej spełniają zasady, przepisy i standardy dotyczące zamierzonego zastosowania, podejmuje ostateczne decyzje projektowe dotyczące swoich produktów i ponosi wyłączną odpowiedzialność za zgodność ze wszystkimi wymogami prawnymi, regulacyjnymi i związanymi z bezpieczeństwem dotyczącymi swoich produktów, niezależnie od jakichkolwiek informacji lub wsparcia, jakie może zapewnić NXP. NXP posiada Zespół Reagowania na Incydenty Bezpieczeństwa Produktu (PSIRT) (dostępny pod adresem PSIRT@nxp.com), który zarządza badaniem, zgłaszaniem i udostępnianiem rozwiązań w przypadku luk w zabezpieczeniach produktów NXP.
NXP BV — NXP BV nie jest spółką operacyjną i nie zajmuje się dystrybucją ani sprzedażą produktów.
Dokumenty / Zasoby
![]() |
NXP AN14120 Debugowanie oprogramowania Cortex-M [plik PDF] Instrukcja użytkownika i.MX 8ULP, i.MX 93, AN14120 Debugowanie oprogramowania Cortex-M, AN14120, Debugowanie oprogramowania Cortex-M, Oprogramowanie Cortex-M, Oprogramowanie |