NXP AN14120 Debugging Cortex-M Software-Benutzerhandbuch

Einführung

Dieses Dokument beschreibt das Cross-Kompilieren, Bereitstellen und Debuggen einer Anwendung für die i.MX 8M-Familie, i.MX 8ULP und den i.MX 93 Cortex-M-Prozessor mit Microsoft Visual Studio Code.

Software-Umgebung

Die Lösung kann sowohl auf dem Linux- als auch auf dem Windows-Host implementiert werden. Für diese Anwendungsnotiz wird ein Windows-PC vorausgesetzt, ist aber nicht zwingend erforderlich.
In dieser Anwendungsnotiz wird Linux BSP Version 6.1.22_2.0.0 verwendet. Die folgenden vorgefertigten Images werden verwendet:

  • 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-full-imx8ulpevk.wic
  • i.MX 93: imx-image-full-imx93evk.wic

Detaillierte Anweisungen zum Erstellen dieser Images finden Sie im i.MX Linux-Benutzerhandbuch (Dokument IMXLUG) und im i.MX Yocto-Projekt-Benutzerhandbuch (Dokument IMXLXYOCTOUG).
Wenn Sie einen Windows-PC verwenden, schreiben Sie das vorgefertigte Image mit Win32 Disk Imager (https:// win32diskimager.org/) oder Balena Etcher (https://etcher.balena.io/). Wenn Sie einen Ubuntu-PC verwenden, schreiben Sie das vorgefertigte Image mit dem folgenden Befehl auf die SD-Karte:

$ sudo dd if=.wic of=/dev/sd bs=1M status=progress conv=fsync

Notiz: Überprüfen Sie die Partition Ihres Kartenlesers und ersetzen Sie sd durch die entsprechende Partition. 1.2

Hardware-Setup und Ausrüstung

  • Entwicklungs-Kit:
    • NXP i.MX 8MM EVK LPDDR4
    • NXP i.MX 8MN EVK LPDDR4
    • NXP i.MX 8MP EVK LPDDR4
    • NXP i.MX 93 EVK für 11×11 mm LPDDR4 – NXP i.MX 8ULP EVK LPDDR4
  • Micro SD-Karte: Für das aktuelle Experiment wird SanDisk Ultra 32 GB Micro SDHC I Class 10 verwendet.
  • Micro-USB- (i.MX 8M) oder Type-C-Kabel (i.MX 93) für den Debug-Port.
  • SEGGER J-Link-Debug-Sonde.

Voraussetzungen

Bevor mit dem Debuggen begonnen werden kann, müssen mehrere Voraussetzungen erfüllt sein, um über eine ordnungsgemäß konfigurierte Debug-Umgebung zu verfügen.
PC-Host – i.MX-Board-Debug-Verbindung
Um die Hardware-Debug-Verbindung herzustellen, führen Sie die folgenden Schritte aus:

  1. Verbinden Sie die i.MX-Platine über den DEBUG USB-UART- und PC-USB-Anschluss mit einem USB-Kabel mit dem Host-PC. Das Windows-Betriebssystem findet die seriellen Geräte automatisch.
  2. Suchen Sie im Geräte-Manager unter „Anschlüsse (COM & LPT)“ nach zwei oder vier angeschlossenen USB-Seriell-Anschlüssen (COM). Einer der Anschlüsse wird für die vom Cortex-A-Kern generierten Debugmeldungen verwendet, der andere für den Cortex-M-Kern. Bevor Sie den richtigen Anschluss bestimmen, beachten Sie Folgendes:
    • [i.MX 8MP, i.MX 8ULP, i.MX 93]: Im Gerätemanager sind vier Ports verfügbar. Der letzte Port ist für Cortex-M-Debug und der vorletzte Port ist für Cortex-A-Debug, wobei die Debug-Ports in aufsteigender Reihenfolge gezählt werden.
    • [i.MX 8MM, i.MX 8MN]: Im Geräte-Manager stehen zwei Ports zur Verfügung. Der erste Port ist für Cortex-M-Debug und der zweite Port ist für Cortex-A-Debug, wobei die Debug-Ports in aufsteigender Reihenfolge gezählt werden.
  3. Öffnen Sie den richtigen Debug-Port mit Ihrem bevorzugten seriellen Terminalemulator (z. B.ample PuTTY), indem Sie die folgenden Parameter festlegen:
    • Geschwindigkeit bis 115200 bps
    • 8 Datenbits
    • 1 Stoppbit (115200, 8N1)
    • Keine Parität
  4. Verbinden Sie den SEGGER-Debug-Test-USB mit dem Host und verbinden Sie dann den SEGGER JTAG Stecker zur i.MX-Platine JTAG Schnittstelle. Wenn das i.MX-Board JTAG Die Schnittstelle verfügt über keinen geführten Anschluss. Die Ausrichtung wird durch die Ausrichtung des roten Kabels auf Pin 1 bestimmt, wie in Abbildung 1.

VS Code-Konfiguration

Führen Sie die folgenden Schritte aus, um den VS-Code herunterzuladen und zu konfigurieren:

  1. Laden Sie die neueste Version von Microsoft Visual Studio Code von der offiziellen webWenn Sie Windows als Hostbetriebssystem verwenden, wählen Sie auf der Hauptseite von Visual Studio Code die Schaltfläche „Für Windows herunterladen“.
  2. Öffnen Sie Visual Studio Code nach der Installation und wählen Sie die Registerkarte „Erweiterungen“ oder drücken Sie die Kombination Strg + Umschalt + X.
  3. Geben Sie in der entsprechenden Suchleiste „MCUXpresso für VS Code“ ein und installieren Sie die Erweiterung. Auf der linken Seite des VS Code-Fensters wird eine neue Registerkarte angezeigt.

MCUXpresso-Erweiterungskonfiguration 

Führen Sie die folgenden Schritte aus, um die MCUXpresso-Erweiterung zu konfigurieren:

  1. Klicken Sie in der linken Seitenleiste auf die Registerkarte für die MCUXpresso-Erweiterung. Klicken Sie im QUICKSTART-PANEL auf
    Öffnen Sie das MCUXpresso-Installationsprogramm und erteilen Sie die Berechtigung zum Herunterladen des Installationsprogramms.
  2. Das Installationsfenster wird in Kürze angezeigt. Klicken Sie auf MCUXpresso SDK Developer und auf SEGGER JLink und dann auf die Schaltfläche Installieren. Das Installationsprogramm installiert die erforderliche Software für Archive, Toolchain, Python-Unterstützung, Git und Debug-Sonde.

Nachdem alle Pakete installiert sind, stellen Sie sicher, dass die J-Link-Sonde mit dem Host-PC verbunden ist. Überprüfen Sie dann, ob die Sonde auch in der MCUXpresso-Erweiterung unter DEBUG PROBES verfügbar ist. view, wie in Abbildung dargestellt

MCUXpresso SDK importieren

Abhängig davon, welches Board Sie verwenden, erstellen und laden Sie das spezifische SDK von der offiziellen NXP-Website herunter. webFür diese Anwendungsnotiz wurden die folgenden SDKs getestet:

  • SDK_2.14.0_EVK-MIMX8MM
  • SDK_2.14.0_EVK-MIMX8MN
  • SDK_2.14.0_EVK-MIMX8MP
  • SDK_2.14.0_EVK-MIMX8ULP
  • SDK_2.14.0_MCIMX93-EVK

Um eine Ex zu bauenample für i.MX 93 EVK, siehe Abbildung 7:

  1. Führen Sie die folgenden Schritte aus, um ein MCUXpresso SDK-Repository in VS Code zu importieren:
  2. Öffnen Sie nach dem Herunterladen des SDK Visual Studio Code. Klicken Sie auf der linken Seite auf die Registerkarte MCUXpresso und erweitern Sie die INSTALLIERTEN REPOSITORIES und PROJEKTE views.
  3. Klicken Sie auf das Import-Repository und wählen Sie LOKALES ARCHIV. Klicken Sie auf Durchsuchen… neben dem Feld „Archiv“ und wählen Sie das kürzlich heruntergeladene SDK-Archiv aus.
  4. Wählen Sie den Pfad aus, in dem das Archiv entpackt ist, und füllen Sie das Feld „Speicherort“ aus.
  5. Sie können das Namensfeld standardmäßig belassen oder einen benutzerdefinierten Namen auswählen.
  6. Aktivieren oder deaktivieren Sie „Git-Repository erstellen“ je nach Bedarf und klicken Sie dann auf „Importieren“.

Importieren Sie ein Exampdie Bewerbung

Wenn das SDK importiert wird, erscheint es unter dem INSTALLIERTE REPOSITORIES view.
So importieren Sie ein ExampFühren Sie die folgenden Schritte aus, um die Anwendung aus dem SDK-Repository herunterzuladen:

  1. Klicken Sie auf die Schaltfläche „Ex importieren“ampDatei aus Repository-Schaltfläche im PROJEKTE view.
  2. Wählen Sie ein Repository aus der Dropdown-Liste.
  3. Wählen Sie die Toolchain aus der Dropdown-Liste.
  4. Wählen Sie das Zielboard.
  5. Wählen Sie die demo_apps/hello_world exampDatei aus der Liste „Vorlage auswählen“.
  6. Wählen Sie einen Namen für das Projekt (der Standardname kann verwendet werden) und legen Sie den Pfad zum Projektspeicherort fest.
  7. Klicken Sie auf „Erstellen“.
  8. Führen Sie die folgenden Schritte nur für die i.MX 8M-Familie aus. Unter dem Menüpunkt PROJEKTE view, erweitern Sie das importierte Projekt. Gehen Sie zum Abschnitt „Einstellungen“ und klicken Sie auf die Datei mcuxpresso-tools.json file.
    a. Fügen Sie „Schnittstelle“ hinzu: „JTAG” unter „debug“ > „segger“
    b. Für i.MX 8MM fügen Sie die folgende Konfiguration hinzu: „device“: „MIMX8MM6_M4“ unter „debug“ > „segger“
    c. Für i.MX 8MN fügen Sie die folgende Konfiguration hinzu: „device“: „MIMX8MN6_M7“ unter „debug“ > „segger“
    d. Fügen Sie für i.MX 8MP die folgende Konfiguration hinzu:

    „Gerät“: „MIMX8ML8_M7“ unter „Debug“ > „Segger“
    Der folgende Code zeigt ein BeispielampDatei für den „Debug“-Abschnitt von i.MX8 MP, nachdem die obigen Änderungen an mcuxpresso-tools.json durchgeführt wurden:

Nach dem Importieren der Example Anwendung erfolgreich, muss es unter PROJEKTE sichtbar sein view. Auch die Projektquelle files sind auf der Registerkarte Explorer (Strg + Umschalt + E) sichtbar.

Erstellen der Anwendung

Um die Anwendung zu erstellen, drücken Sie auf das linke Symbol „Ausgewählte erstellen“, wie in Abbildung 9 gezeigt.

Bereiten Sie die Karte für den Debugger vor

Um das J zu benutzenTAG Für das Debuggen von Cortex-M-Anwendungen gibt es je nach Plattform einige Voraussetzungen:

  1. Für i.MX 93
    Zur Unterstützung von i.MX 93 muss der Patch für SEGGER J-Link installiert sein: SDK_MX93_3RDPARTY_PATCH.zip.
    Notiz: Dieser Patch muss verwendet werden, auch wenn er bereits installiert wurde. Nach dem Download entpacken Sie das Archiv und kopieren Sie das Verzeichnis Devices und die Datei JLinkDevices.xml file nach C:\Programm Files\SEGGER\JLink. Wenn ein Linux-PC verwendet wird, lautet der Zielpfad /opt/SEGGER/JLink.
    • Debuggen von Cortex-M33, während nur Cortex-M33 ausgeführt wird
      In diesem Modus muss der Bootmode-Schalter SW1301[3:0] auf [1010] gestellt werden. Anschließend kann das M33-Image direkt geladen und über den Debug-Button debuggt werden. Näheres dazu finden Sie in Abschnitt 5.
      Wenn Linux parallel zu Cortex-M55 auf Cortex-A33 ausgeführt werden muss, gibt es zwei Möglichkeiten zum Debuggen von Cortex-M33:
    • Debuggen von Cortex-M33, während sich Cortex-A55 im U-Boot-Modus befindet
      Kopieren Sie zunächst die Datei sdk20-app.bin file (befindet sich im Verzeichnis armgcc/debug), das in Abschnitt 3 generiert wurde, in die Bootpartition der SD-Karte. Booten Sie die Karte und stoppen Sie sie in U-Boot. Wenn der Boot-Schalter so konfiguriert ist, dass Cortex-A gebootet wird, startet die Boot-Sequenz Cortex-M nicht. Es muss manuell mit den folgenden Befehlen gestartet werden. Wenn Cortex-M nicht gestartet wird, kann JLink keine Verbindung zum Kern herstellen.
    • Hinweis: Wenn das System nicht normal debuggt werden kann, versuchen Sie, mit der rechten Maustaste auf das Projekt in MCUXpresso für VS zu klicken
      Code und wählen Sie „Anhängen, um das Projekt zu debuggen“.
    • Debuggen von Cortex-M33, während Cortex-A55 unter Linux läuft
      Das Kernel-DTS muss geändert werden, um den UART5 zu deaktivieren, der dieselben Pins wie der J verwendet.TAG Schnittstelle.
      Wenn ein Windows-PC verwendet wird, ist es am einfachsten, WSL + Ubuntu 22.04 LTS zu installieren und dann das DTS zu plattformübergreifend zu kompilieren.
      Öffnen Sie nach der Installation von WSL + Ubuntu 22.04 LTS die Ubuntu-Maschine, auf der WSL läuft, und installieren Sie die erforderlichen Pakete:

      Nun können die Kernelquellen heruntergeladen werden:

      Um das UART5-Peripheriegerät zu deaktivieren, suchen Sie nach dem Knoten lpuart5 im Verzeichnis linux-imx/arch/arm64/boot/ dts/freescale/imx93-11×11-evk.dts file und ersetzen Sie den Status „OK“ durch „Deaktiviert“:
      Kompilieren Sie das DTS neu:

      Kopieren Sie die neu erstellte Datei linux-imx/arch/arm64/boot/dts/freescale/imx93 11×11-evk.dtb file auf der Bootpartition der SD-Karte. Kopieren Sie die Datei hello_world.elf file (befindet sich im Verzeichnis armgcc/debug), das in Abschnitt 3 generiert wurde, in die Bootpartition der SD-Karte. Booten Sie die Karte unter Linux. Da das Boot-ROM den Cortex-M nicht startet, wenn Cortex-A bootet, muss der CortexM manuell gestartet werden.

      Notiz: Der hallo_welt.elf file muss im Verzeichnis /lib/firmware abgelegt werden.
  2. Für i.MX 8M
    Zur Unterstützung von i.MX 8M Plus muss der Patch für SEGGER J-Link installiert sein:
    iar_segger_support_patch_imx8mp.zip.
    Nach dem Download entpacken Sie das Archiv und kopieren Sie das Verzeichnis Devices und die
    JLinkDevices.xml file aus dem JLink-Verzeichnis nach C:\Program Files\SEGGER\JLink. Wenn ein Linux-PC
    verwendet wird, ist der Zielpfad /opt/SEGGER/JLink.
    • Debuggen von Cortex-M, während sich Cortex-A im U-Boot-Modus befindet
      In diesem Fall muss nichts Besonderes getan werden. Booten Sie das Board im U-Boot-Modus und springen Sie zu Abschnitt 5.
    • Debuggen von Cortex-M, während Cortex-A unter Linux läuft
      Um die Cortex-M-Anwendung parallel zu Linux auf Cortex-A auszuführen und zu debuggen, muss die spezifische Uhr für Cortex-M zugewiesen und reserviert werden. Dies geschieht innerhalb von U-Boot. Stoppen Sie die Karte in U-Boot und führen Sie die folgenden Befehle aus:
  3. Für i.MX 8ULP
    Zur Unterstützung von i.MX 8ULP muss der Patch für SEGGER J-Link installiert werden: SDK_MX8ULP_3RDPARTY_PATCH.zip.
    Notiz: Dieser Patch muss verwendet werden, auch wenn er bereits früher installiert wurde.
    Nach dem Download entpacken Sie das Archiv und kopieren das Verzeichnis Devices und die Datei JLinkDevices.xml file nach C:\Programm Files\SEGGER\JLink. Wenn ein Linux-PC verwendet wird, lautet der Zielpfad /opt/SEGGER/JLink. Für i.MX 8ULP erstellen Sie aufgrund der Upower-Einheit zuerst das flash.bin mit m33_image in unserem „VSCode“-Repo. Das M33-Image finden Sie in {CURRENT REPO}\armgcc\debug\sdk20-app.bin. Informationen zum Erstellen des flash.bin-Image finden Sie in Abschnitt 6 des Presso-SDK „Erste Schritte mit MCUX“ für EVK-MIMX8ULP und EVK9-MIMX8ULP in SDK_2_xx_x_EVK-MIMX8ULP/docs.
    Notiz: Verwenden Sie das M33-Image im aktiven VSCode-Repository. Andernfalls wird das Programm nicht richtig angehängt. Klicken Sie mit der rechten Maustaste und wählen Sie „Anhängen“.

Ausführen und Debuggen

Wählen Sie nach dem Drücken der Debug-Schaltfläche die Debug-Projektkonfiguration aus und die Debug-Sitzung beginnt.

Wenn eine Debugsitzung gestartet wird, wird ein spezielles Menü angezeigt. Das Debugmenü enthält Schaltflächen zum Starten der Ausführung, bis ein Haltepunkt ausgelöst wird, zum Anhalten der Ausführung, zum Überspringen, Einsteigen, Aussteigen, Neustarten und Stoppen.
Außerdem können wir lokale Variablen sehen, Werte registrieren, einige Ausdrücke beobachten und den Aufrufstapel und Haltepunkte überprüfen.
im linken Navigator. Diese Funktionsbereiche befinden sich unter der Registerkarte „Ausführen und Debuggen“ und nicht in MCUXpresso
für VS-Code.

Hinweis zum Quellcode im Dokument

ExampDer in diesem Dokument gezeigte Code unterliegt dem folgenden Urheberrecht und der BSD-3-Klausel-Lizenz:

Copyright 2023 NXP. Die Weiterverbreitung und Nutzung in Quell- und Binärform, mit oder ohne Änderung, ist zulässig, sofern die folgenden Bedingungen erfüllt sind:

  1. Bei der Weiterverteilung des Quellcodes müssen der oben genannte Copyright-Vermerk, diese Liste der Bedingungen und der folgende Haftungsausschluss beibehalten werden.
  2. Bei Weiterverbreitungen in binärer Form müssen der obige Copyright-Hinweis, diese Liste der Bedingungen und der folgende Haftungsausschluss in der Dokumentation und/oder anderen Materialien mit der Weitergabe bereitgestellt werden.
  3. Weder der Name des Inhabers des Urheberrechts noch die Namen seiner Mitwirkenden dürfen ohne ausdrückliche vorherige schriftliche Genehmigung verwendet werden, um von dieser Software abgeleitete Produkte zu unterstützen oder zu bewerben.

    DIESE SOFTWARE WIRD VON DEN URHEBERRECHTSINHABERN UND MITWIRKENDEN „WIE BESEHEN“ BEREITGESTELLT. JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GARANTIEN, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE STILLSCHWEIGENDEN GARANTIEN DER MARKTGÄNGIGKEIT UND EIGNUNG FÜR EINEN BESTIMMTEN ZWECK, WERDEN AUSGESCHLOSSEN. IN KEINEM FALL SIND DER URHEBERRECHTSINHABER ODER DIE MITWIRKENDEN VERANTWORTLICH FÜR DIREKTE, INDIREKTE, ZUFÄLLIGE, SPEZIELLE, EXEMPLARISCHE ODER FOLGESCHÄDEN (EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF, BESCHAFFUNG VON ERSATZGÜTERN ODER -DIENSTLEISTUNGEN, NUTZUNGSAUSFALL, DATENVERLUST, ENTGANGENEN GEWINN ODER GESCHÄFTSUNTERBRECHUNG), DIE AUF WELCHE ART UND WEISE ENTSTEHEN UND UNTER WELCHER HAFTUNGSTHEORIE AUCH IMMER, OB VERTRAGLICH, VERSCHULDENSUNABHÄNGIG ODER AUS UNERLAUBTER HANDLUNG (EINSCHLIESSLICH FAHRLÄSSIGKEIT ODER ANDERWEITIG), DIE IN IRGENDEINER WEISE AUS DER VERWENDUNG DIESER SOFTWARE ENTSTEHEN, SELBST WENN AUF DIE MÖGLICHKEIT DERARTIGER SCHÄDEN HINGEWIESEN WURDE.

Rechtliche Informationen

Definitionen

Entwurf — Der Entwurfsstatus eines Dokuments zeigt an, dass der Inhalt noch
unter interner review und unterliegen der formellen Genehmigung, die zu Änderungen oder Ergänzungen führen kann. NXP Semiconductors gibt keine Zusicherungen oder Gewährleistungen hinsichtlich der Richtigkeit oder Vollständigkeit der in einer Entwurfsversion eines Dokuments enthaltenen Informationen und übernimmt keine Haftung für die Folgen der Verwendung dieser Informationen.

Haftungsausschlüsse

Eingeschränkte Gewährleistung und Haftung — Die Informationen in diesem Dokument gelten als richtig und zuverlässig. NXP Semiconductors gibt jedoch keine ausdrücklichen oder stillschweigenden Zusicherungen oder Garantien hinsichtlich der Richtigkeit oder Vollständigkeit dieser Informationen und übernimmt keine Haftung für die Folgen der Verwendung dieser Informationen. NXP Semiconductors übernimmt keine Verantwortung für den Inhalt dieses Dokuments, wenn dieser von einer Informationsquelle außerhalb von NXP Semiconductors bereitgestellt wird. In keinem Fall haftet NXP Semiconductors für indirekte, zufällige, Straf-, Sonder- oder Folgeschäden (einschließlich – ohne Einschränkung – entgangener Gewinne, entgangener Einsparungen, Betriebsunterbrechung, Kosten im Zusammenhang mit der Entfernung oder dem Austausch von Produkten oder Nacharbeitskosten), unabhängig davon, ob diese Schäden auf unerlaubter Handlung (einschließlich Fahrlässigkeit), Garantie, Vertragsverletzung oder einer anderen Rechtstheorie beruhen.
Ungeachtet etwaiger Schäden, die dem Kunden aus welchem ​​Grund auch immer entstehen könnten, ist die aggregierte und kumulative Haftung von NXP Semiconductors gegenüber dem Kunden für die hierin beschriebenen Produkte gemäß den Geschäftsbedingungen für den gewerblichen Verkauf von NXP Semiconductors beschränkt.

Änderungsvorbehalt
— NXP Semiconductors behält sich das Recht vor, die in diesem Dokument veröffentlichten Informationen, einschließlich, aber nicht beschränkt auf Spezifikationen und Produktbeschreibungen, jederzeit und ohne Vorankündigung zu ändern. Dieses Dokument ersetzt alle vor der Veröffentlichung bereitgestellten Informationen.

Eignung für den Einsatz — Produkte von NXP Semiconductors sind nicht für den Einsatz in lebenserhaltenden, lebenswichtigen oder sicherheitskritischen Systemen oder Geräten konzipiert, zugelassen oder garantiert, noch für Anwendungen, bei denen ein Ausfall oder eine Fehlfunktion eines Produkts von NXP Semiconductors voraussichtlich zu Personenschäden, Todesfällen oder schweren Sach- oder Umweltschäden führen kann. NXP Semiconductors und seine Lieferanten übernehmen keine Haftung für den Einbau und/oder die Verwendung von Produkten von NXP Semiconductors in solchen Geräten oder Anwendungen, und daher erfolgt ein solcher Einbau und/oder eine solche Verwendung auf eigenes Risiko des Kunden.

Anwendungen — Anwendungen, die hierin für eine dieser Anwendungen beschrieben werden
Produkte dienen nur zu Illustrationszwecken. NXP Semiconductors übernimmt keine Zusicherung oder Garantie, dass solche Anwendungen ohne weitere Tests oder Änderungen für den angegebenen Zweck geeignet sind.
Kunden sind verantwortlich für die Gestaltung und den Betrieb ihrer
Anwendungen und Produkte, die Produkte von NXP Semiconductors verwenden, und NXP Semiconductors übernimmt keine Haftung für Unterstützung bei Anwendungen oder dem Produktdesign des Kunden. Es liegt in der alleinigen Verantwortung des Kunden, zu bestimmen, ob das Produkt von NXP Semiconductors für die geplanten Anwendungen und Produkte des Kunden sowie für die geplante Anwendung und Nutzung der Drittkunden des Kunden geeignet und geeignet ist. Kunden sollten geeignete Design- und Betriebssicherheitsmaßnahmen ergreifen, um die mit ihren Anwendungen und Produkten verbundenen Risiken zu minimieren.
NXP Semiconductors übernimmt keine Haftung für Ausfälle, Schäden, Kosten oder Probleme, die auf Schwächen oder Ausfälle der Anwendungen oder Produkte des Kunden oder der Anwendung oder Nutzung durch Drittkunden des Kunden beruhen. Der Kunde ist dafür verantwortlich, alle notwendigen Tests für seine Anwendungen und Produkte unter Verwendung von Produkten von NXP Semiconductors durchzuführen, um Ausfälle der Anwendungen und Produkte oder der Anwendung oder Nutzung durch Drittkunden des Kunden zu vermeiden.

Allgemeine Geschäftsbedingungen für den gewerblichen Verkauf — Der Verkauf von Produkten von NXP Semiconductors erfolgt gemäß den allgemeinen Geschäftsbedingungen für den gewerblichen Verkauf, die unter https://www.nxp.com/pro veröffentlicht sind.file/AGB, sofern nicht in einer gültigen schriftlichen Individualvereinbarung etwas anderes vereinbart wurde. Im Falle des Abschlusses einer Individualvereinbarung gelten ausschließlich die Geschäftsbedingungen der jeweiligen Vereinbarung. NXP Semiconductors widerspricht hiermit ausdrücklich der Geltung von Allgemeinen Geschäftsbedingungen des Kunden im Zusammenhang mit dem Kauf von NXP Semiconductors-Produkten durch den Kunden.

Ausfuhrkontrolle — Dieses Dokument sowie die darin beschriebenen Artikel können Exportkontrollbestimmungen unterliegen. Für den Export ist möglicherweise eine vorherige Genehmigung der zuständigen Behörden erforderlich.

Eignung für den Einsatz in nicht für die Automobilindustrie zugelassenen Produkten — Sofern in diesem Dokument nicht ausdrücklich angegeben ist, dass dieser spezifische NXP Semiconductors
Das Produkt ist für den Einsatz im Automobilbereich qualifiziert, jedoch nicht für den Einsatz im Automobilbereich geeignet. Es ist weder für den Einsatz im Automobilbereich qualifiziert noch wurde es gemäß den Test- oder Anwendungsanforderungen im Automobilbereich getestet. NXP Semiconductors übernimmt keine Haftung für die Aufnahme und/oder Verwendung von nicht für den Einsatz im Automobilbereich qualifizierten Produkten in Fahrzeugausrüstungen oder -anwendungen.
Für den Fall, dass der Kunde das Produkt für Design-In und Verwendung in
Automobilanwendungen nach Automobilspezifikationen und -standards,
Kunde (A) das Produkt ohne die Garantie von NXP Semiconductors für das Produkt für solche Automobilanwendungen, Verwendung und Spezifikationen verwenden und (B) Wenn der Kunde das Produkt für Automobilanwendungen verwendet, die über die Spezifikationen von NXP Semiconductors hinausgehen, erfolgt diese Verwendung ausschließlich auf das Risiko des Kunden, und (c) der Kunde stellt NXP Semiconductors vollständig von jeglicher Haftung, Schäden oder Ansprüchen wegen Produktfehlern frei, die sich aus der Entwicklung und Verwendung des Produkts durch den Kunden für Automobilanwendungen ergeben, die über die Standardgarantie von NXP Semiconductors und die Produktspezifikationen von NXP Semiconductors hinausgehen.

Übersetzungen — Eine nicht-englische (übersetzte) Version eines Dokuments, einschließlich der rechtlichen Informationen in diesem Dokument, dient nur als Referenz. Bei Abweichungen zwischen der übersetzten und der englischen Version ist die englische Version maßgebend.

Sicherheit — Dem Kunden ist bekannt, dass alle NXP-Produkte möglicherweise nicht identifizierten Schwachstellen unterliegen oder etablierte Sicherheitsstandards oder Spezifikationen mit bekannten Einschränkungen unterstützen. Der Kunde ist für das Design und den Betrieb seiner Anwendungen und Produkte während ihres gesamten Lebenszyklus verantwortlich, um die Auswirkungen dieser Schwachstellen auf die Anwendungen und Produkte des Kunden zu reduzieren. Die Verantwortung des Kunden erstreckt sich auch auf andere offene und/oder proprietäre Technologien, die von NXP-Produkten zur Verwendung in Kundenanwendungen unterstützt werden. NXP übernimmt keine Haftung für Schwachstellen. Der Kunde sollte regelmäßig Sicherheitsupdates von NXP überprüfen und entsprechend nachverfolgen.
Der Kunde muss Produkte mit Sicherheitsfunktionen auswählen, die den Regeln, Vorschriften und Standards der beabsichtigten Anwendung am besten entsprechen, und die endgültigen Designentscheidungen bezüglich seiner Produkte treffen. Er ist allein für die Einhaltung aller gesetzlichen, behördlichen und sicherheitsrelevanten Anforderungen bezüglich seiner Produkte verantwortlich, unabhängig von Informationen oder Support, die von NXP bereitgestellt werden. NXP verfügt über ein Product Security Incident Response Team (PSIRT) (erreichbar unter PSIRT@nxp.com), das die Untersuchung, Meldung und Lösungsfreigabe für Sicherheitslücken in NXP-Produkten verwaltet.
NXP BV – NXP BV ist kein Betreiberunternehmen und vertreibt oder verkauft keine Produkte.

Dokumente / Ressourcen

NXP AN14120 – Debuggen der Cortex-M-Software [pdf] Benutzerhandbuch
i.MX 8ULP, i.MX 93, AN14120 Debuggen der Cortex-M-Software, AN14120, Debuggen der Cortex-M-Software, Cortex-M-Software, Software

Verweise

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind markiert *