Ръководство за потребителя на софтуера NXP AN14120 за отстраняване на грешки Cortex-M
Въведение
Този документ описва кръстосано компилиране, внедряване и отстраняване на грешки на приложение за i.MX 8M Family, i.MX 8ULP и i.MX 93 Cortex-M процесор с помощта на Microsoft Visual Studio Code.
Софтуер среда
Решението може да се приложи както на Linux, така и на Windows хост. За тази бележка за приложението се предполага компютър с Windows, но не е задължителен.
Linux BSP версия 6.1.22_2.0.0 се използва в тази бележка за приложението. Използват се следните готови изображения:
- 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
За подробни стъпки как да създадете тези изображения, вижте Ръководството на потребителя на i.MX Linux (документ IMXLUG) и Ръководството на потребителя на проекта i.MX Yocto (документ IMXLXYOCTOUG).
Ако се използва компютър с Windows, запишете изображението за предварително компилиране на SD картата с помощта на Win32 Disk Imager (https:// win32diskimager.org/) или Balena Etcher (https://etcher.balena.io/). Ако се използва компютър с Ubuntu, запишете изображението за предварително компилиране на SD картата, като използвате командата по-долу:
$ sudo dd if=.wic of=/dev/sd bs=1M status=напредък conv=fsync
Забележка: Проверете дяла на вашия четец на карти и сменете sd със съответния дял. 1.2
Хардуерна настройка и оборудване
- Комплект за разработка:
- NXP i.MX 8MM EVK LPDDR4
- NXP i.MX 8MN EVK LPDDR4
- NXP i.MX 8MP EVK LPDDR4
- NXP i.MX 93 EVK за 11×11 mm LPDDR4 – NXP i.MX 8ULP EVK LPDDR4
- Micro SD карта: SanDisk Ultra 32-GB Micro SDHC I Class 10 се използва за настоящия експеримент.
- Micro-USB (i.MX 8M) или Type-C (i.MX 93) кабел за порт за отстраняване на грешки.
- SEGGER J-Link сонда за отстраняване на грешки.
Предпоставки
Преди да започнете отстраняването на грешки, трябва да бъдат изпълнени няколко предварителни условия, за да имате правилно конфигурирана среда за отстраняване на грешки.
PC Host – връзка за отстраняване на грешки на i.MX платка
За да установите връзката за отстраняване на грешки в хардуера, изпълнете следните стъпки:
- Свържете i.MX платката към хост компютъра чрез DEBUG USB-UART и PC USB конектор с помощта на USB кабел. Windows OS намира серийните устройства автоматично.
- В диспечера на устройства под Портове (COM & LPT) намерете два или четири свързани USB сериен порт (COM). Единият от портовете се използва за съобщенията за отстраняване на грешки, генерирани от ядрото Cortex-A, а другият е за ядрото Cortex-M. Преди да определите правилния необходим порт, запомнете:
- [i.MX 8MP, i.MX 8ULP, i.MX 93]: Има четири налични порта в Device Manager. Последният порт е за отстраняване на грешки в Cortex-M, а предпоследният порт е за отстраняване на грешки в Cortex-A, като портовете за отстраняване на грешки се броят във възходящ ред.
- [i.MX 8MM, i.MX 8MN]: Има два налични порта в Device Manager. Първият порт е за отстраняване на грешки в Cortex-M, а вторият порт е за отстраняване на грешки в Cortex-A, като портовете за отстраняване на грешки се броят във възходящ ред.
- Отворете правилния порт за отстраняване на грешки, като използвате предпочитания от вас емулатор на сериен терминал (напрample PuTTY), като зададете следните параметри:
- Скорост до 115200 bps
- 8 бита данни
- 1 стоп бит (115200, 8N1)
- Без паритет
- Свържете USB сондата за отстраняване на грешки SEGGER към хоста, след което свържете SEGGER JTAG конектор към i.MX платка JTAG интерфейс. Ако платката i.MX JTAG интерфейсът няма направляван конектор, ориентацията се определя чрез подравняване на червения проводник към щифт 1, както е на фигура 1.
Конфигурация на VS код
За да изтеглите и конфигурирате VS кода, изпълнете следните стъпки:
- Изтеглете и инсталирайте най-новата версия на Microsoft Visual Studio Code от официалния webсайт. В случай на използване на Windows като хост ОС, изберете бутона „Изтегляне за Windows“ от главната страница на Visual Studio Code.
- След като инсталирате Visual Studio Code, отворете го и изберете раздела „Разширения“ или натиснете комбинацията Ctrl + Shift + X.
- В специалната лента за търсене въведете MCUXpresso за VS Code и инсталирайте разширението. Нов раздел се появява в лявата страна на прозореца на VS Code.
Конфигурация на разширение MCUXpresso
За да конфигурирате разширението MCUXpresso, изпълнете следните стъпки:
- Щракнете върху специалния раздел за разширение MCUXpresso от лявата странична лента. От ПАНЕЛА ЗА БЪРЗ СТАРТ щракнете
Отворете MCUXpresso Installer и дайте разрешение за изтегляне на инсталатора. - Прозорецът на инсталатора се появява след кратко време. Щракнете върху MCUXpresso SDK Developer и върху SEGGER JLink, след което щракнете върху бутона Инсталиране. Инсталаторът инсталира необходимия софтуер за архиви, инструментална верига, поддръжка на Python, Git и сонда за отстраняване на грешки
След като всички пакети са инсталирани, уверете се, че сондата J-Link е свързана към хост компютъра. След това проверете дали сондата е налична и в разширението MCUXpresso под СОНДИ ЗА ОТСТРАНЯВАНЕ НА ГРЕШКИ view, както е показано на фигура
Импортирайте MCUXpresso SDK
В зависимост от това каква платка използвате, изградете и изтеглете конкретния SDK от официалния представител на NXP webсайт. За тази бележка за приложението са тествани следните SDK:
- 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
За изграждане на бившample за i.MX 93 EVK, вижте Фигура 7:
- За да импортирате хранилище на MCUXpresso SDK във VS Code, изпълнете следните стъпки:
- След като изтеглите SDK, отворете Visual Studio Code. Щракнете върху раздела MCUXpresso от лявата страна и разгънете ИНСТАЛИРАНИ ХРАНИЛИЩА и ПРОЕКТИ views.
- Щракнете върху Хранилище за импортиране и изберете ЛОКАЛЕН АРХИВ. Щракнете върху Преглед…, съответстващ на полето Архив, и изберете наскоро изтегления архив на SDK.
- Изберете пътя, където архивът е разархивиран и попълнете полето Местоположение.
- Полето Име може да бъде оставено по подразбиране или можете да изберете персонализирано име.
- Поставете отметка или премахнете отметката от Създаване на Git хранилище според вашите нужди и след това щракнете върху Импортиране.
Импортирайте ексampприложение
Когато SDK се импортира, той се появява под ИНСТАЛИРАНИ РЕПОЗИТОРИИ view.
За импортиране на ексampфайл от хранилището на SDK, изпълнете следните стъпки:
- Щракнете върху Import Exampфайл от бутона Хранилище от ПРОЕКТИТЕ view.
- Изберете хранилище от падащия списък.
- Изберете инструменталната верига от падащия списък.
- Изберете целевата дъска.
- Изберете demo_apps/hello_world example от списъка Избор на шаблон.
- Изберете име за проекта (може да се използва по подразбиране) и задайте пътя до местоположението на проекта.
- Щракнете върху Създаване.
- Изпълнете следните стъпки само за i.MX 8M Family. Под ПРОЕКТИ view, разширете импортирания проект. Отидете в секцията Настройки и щракнете върху mcuxpresso-tools.json file.
a. Добавете „интерфейс“: „JTAG” под „debug” > „segger”
b. За i.MX 8MM добавете следната конфигурация: „device“: „MIMX8MM6_M4“ под „debug“ > „segger“
c. За i.MX 8MN добавете следната конфигурация: „device“: „MIMX8MN6_M7“ под „debug“ > „segger“
d. За i.MX 8MP добавете следната конфигурация:
„device“: „MIMX8ML8_M7“ под „debug“ > „segger“
Следният код показва примерampфайл за i.MX8 MP раздел „отстраняване на грешки“, след като са извършени горните модификации на mcuxpresso-tools.json:
След внасяне на ексampзаявлението е успешно, то трябва да се вижда под ПРОЕКТИ view. Също така източникът на проекта fileсе виждат в раздела Explorer (Ctrl + Shift + E).
Изграждане на приложението
За да създадете приложението, натиснете лявата икона Build Selected, както е показано на фигура 9.
Подгответе платката за дебъгера
За да използвате JTAG за отстраняване на грешки в приложения на Cortex-M има няколко предпоставки в зависимост от платформата:
- За i.MX 93
За да поддържа i.MX 93, корекцията за SEGGER J-Link трябва да бъде инсталирана: SDK_MX93_3RDPARTY_PATCH.zip.
Забележка: Тази корекция трябва да се използва, дори ако е инсталирана в миналото. След като изтеглянето приключи, разархивирайте архива и копирайте директорията Devices и JLinkDevices.xml file към C:\Program Files\SEGGER\JLink. Ако се използва компютър с Linux, целевият път е /opt/SEGGER/JLink.- Отстраняване на грешки в Cortex-M33, докато работи само Cortex-M33
В този режим превключвателят за режим на зареждане SW1301[3:0] трябва да бъде настроен на [1010]. След това изображението M33 може директно да се зареди и да се отстранят грешки с помощта на бутона за отстраняване на грешки. За повече подробности вижте раздел 5.
Ако Linux, работещ на Cortex-A55, е необходим паралелно с Cortex-M33, има два начина за отстраняване на грешки в Cortex-M33: - Отстраняване на грешки в Cortex-M33, докато Cortex-A55 е в U-Boot
Първо копирайте sdk20-app.bin file (намиращ се в директорията armgcc/debug), генериран в раздел 3 в дяла за зареждане на SD картата. Стартирайте платката и я спрете в U-Boot. Когато превключвателят за зареждане е конфигуриран да зарежда Cortex-A, последователността за зареждане не стартира Cortex-M. Трябва да се стартира ръчно с помощта на командите по-долу. Ако Cortex-M не се стартира, JLink не успява да се свърже с ядрото.
- Забележка: Ако системата не може да бъде отстранена нормално, опитайте да щракнете с десния бутон върху проекта в MCUXpresso за VS
Кодирайте и изберете „Прикачване за отстраняване на грешки в проекта“. - Отстраняване на грешки в Cortex-M33, докато Cortex-A55 е в Linux
DTS на ядрото трябва да бъде модифициран, за да деактивира UART5, който използва същите щифтове като JTAG интерфейс.
Ако се използва компютър с Windows, най-лесно е да инсталирате WSL + Ubuntu 22.04 LTS и след това да компилирате DTS.
След инсталацията на WSL + Ubuntu 22.04 LTS, отворете машината Ubuntu, работеща на WSL, и инсталирайте необходимите пакети:
Сега източниците на ядрото могат да бъдат изтеглени:
За да деактивирате UART5 периферията, потърсете lpuart5 възел в linux-imx/arch/arm64/boot/dts/freescale/imx93-11×11-evk.dts file и заменете състоянието OK с Disabled:
Прекомпилирайте DTS:
Копирайте новосъздадения linux-imx/arch/arm64/boot/dts/freescale/imx93 11×11-evk.dtb file в дяла за зареждане на SD картата. Копирайте hello_world.elf file (намиращ се в директорията armgcc/debug), генериран в раздел 3 в дяла за зареждане на SD картата. Стартирайте платката в Linux. Тъй като ROM за зареждане не стартира Cortex-M при зареждане на Cortex-A, CortexM трябва да се стартира ръчно.
Забележка: The hello_ world.elf file трябва да се постави в директорията /lib/firmware.
- Отстраняване на грешки в Cortex-M33, докато работи само Cortex-M33
- За i.MX 8M
За да поддържа i.MX 8M Plus, корекцията за SEGGER J-Link трябва да бъде инсталирана:
iar_segger_support_patch_imx8mp.zip.
След като изтеглянето приключи, разархивирайте архива и копирайте директорията Devices и
JLinkDevices.xml file от директорията JLink към C:\Program Files\SEGGER\JLink. Ако компютър с Linux
се използва, целевият път е /opt/SEGGER/JLink.- Отстраняване на грешки в Cortex-M, докато Cortex-A е в U-Boot
В този случай не трябва да се прави нищо специално. Стартирайте платката в U Boot и преминете към раздел 5. - Отстраняване на грешки в Cortex-M, докато Cortex-A е в Linux
За да стартирате и отстраните грешки в приложението Cortex-M паралелно с Linux, работещ на Cortex-A, конкретният часовник трябва да бъде зададен и запазен за Cortex-M. Извършва се от U-Boot. Спрете платката в U-Boot и изпълнете командите по-долу:
- Отстраняване на грешки в Cortex-M, докато Cortex-A е в U-Boot
- За i.MX 8ULP
За да поддържа i.MX 8ULP, корекцията за SEGGER J-Link трябва да бъде инсталирана: SDK_MX8ULP_3RDPARTY_PATCH.zip.
Забележка: Тази корекция трябва да се използва дори ако е инсталирана в миналото.
След изтеглянето разархивирайте архива и копирайте директорията Devices и JLinkDevices.xml file към C:\Program Files\SEGGER\JLink. Ако се използва компютър с Linux, целевият път е /opt/SEGGER/JLink. За i.MX 8ULP, поради модула Upower, първо изградете flash.bin, като използвате m33_image в нашето „VSCode“ репо. Изображението M33 може да бъде намерено в {CURRENT REPO}\armgcc\debug\sdk20-app.bin. Обърнете се към Раздел 6 от Първи стъпки с MCUX presso SDK за EVK-MIMX8ULP и EVK9-MIMX8ULP в SDK_2_xx_x_EVK-MIMX8ULP/docs за това как да изградите изображението flash.bin.
Забележка: Използвайте изображението M33 в активното VSCode repo. В противен случай програмата не се прикрепя правилно. Щракнете с десния бутон и изберете „Прикачване“.
Изпълнение и отстраняване на грешки
След като натиснете бутона за отстраняване на грешки, изберете конфигурацията на проекта за отстраняване на грешки и сесията за отстраняване на грешки започва.
Когато започне сесия за отстраняване на грешки, се показва специално меню. Менюто за отстраняване на грешки има бутони за стартиране на изпълнението, докато се задейства точка на прекъсване, пауза на изпълнението, преминаване, влизане, излизане, рестартиране и спиране.
Също така можем да видим локални променливи, да регистрираме стойности, да наблюдаваме някои изрази и да проверяваме стека на повикванията и точките на прекъсване
в левия навигатор. Тези функционални области са в раздела „Изпълнение и отстраняване на грешки“, а не в MCUXpresso
за VS Code.
Забележка относно изходния код в документа
Exampфайловият код, показан в този документ, има следните авторски права и BSD-3-Clause лиценз:
Copyright 2023 NXP Повторното разпространение и използване в изходни и двоични форми, със или без модификация, са разрешени, при условие че са изпълнени следните условия:
- Повторното разпространение на изходния код трябва да запази горното известие за авторски права, този списък с условия и следния отказ от отговорност.
- Повторното разпространение в двоична форма трябва да възпроизвежда горното известие за авторски права, този списък с условия и следния отказ от отговорност в документацията и/или други материали трябва да бъдат предоставени с разпространението.
- Нито името на притежателя на авторските права, нито имената на неговите сътрудници не могат да се използват за одобряване или популяризиране на продукти, получени от този софтуер, без специално писмено разрешение.
ТОЗИ СОФТУЕР СЕ ПРЕДОСТАВЯ ОТ ПРИТЕЖАТЕЛИТЕ НА АВТОРСКИ ПРАВА И УЧАСТНИЦИ „КАКТО Е“ И ВСЯКАКВИ ИЗРИЧНИ ИЛИ ПОДРАЗНАЧЕНИ ГАРАНЦИИ, ВКЛЮЧВАЩИ, НО НЕ ОГРАНИЧЕНИ ДО, ПОДРАЗБИРАЩИТЕ ГАРАНЦИИ ЗА ТЪРГОВСКА ПРИГОДНОСТ И ИЗВЪРШЕНА СПОСОБНОСТ. В НИКАКЪВ СЛУЧАЙ ПРИТЕЖАТЕЛЪТ НА АВТОРСКО ПРАВО ИЛИ ПРИНОСИТЕЛИ НЕ НОСИ ОТГОВОРНОСТ ЗА ВСЯКАКВИ ПРЯКИ, НЕПРЯКИ, СЛУЧАЙНИ, СПЕЦИАЛНИ, ПРИМЕРНИ ИЛИ ПОСЛЕДВАЩИ ЩЕТИ (ВКЛЮЧИТЕЛНО, НО НЕ ОГРАНИЧЕНО ДО, ОТ ПРОДУКТИ; ИЛИ ПРЕКЪСВАНЕ НА БИЗНЕСА) КАКВОТО И ДА Е ПРИЧИНЕН И ВЪВ ВСЯКАКВА ТЕОРИЯ ЗА ОТГОВОРНОСТ, ДАЛИ В ДОГОВОР, СТРОГА ОТГОВОРНОСТ ИЛИ ДРЕЖЕСТВО (ВКЛЮЧИТЕЛНО НЕВНИМАНИЕ ИЛИ ДРУГО), ПРОИЗТЪКНАЛО ПО КАКВЪВ НАЧИН ОТ ИЗПОЛЗВАНЕТО НА ДРУГИЯ ДОГОВОР,
Правна информация
Дефиниции
Чернова — Статус на чернова на документ показва, че съдържанието е все още
по вътрешно реview и подлежи на официално одобрение, което може да доведе до модификации или допълнения. NXP Semiconductors не дава никакви декларации или гаранции по отношение на точността или пълнотата на информацията, включена в чернова версия на документ, и не носи отговорност за последствията от използването на такава информация.
Отказ от отговорност
Ограничена гаранция и отговорност — Счита се, че информацията в този документ е точна и надеждна. Въпреки това, NXP Semiconductors не дава никакви декларации или гаранции, изрични или подразбиращи се, по отношение на точността или пълнотата на такава информация и не носи отговорност за последствията от използването на такава информация. NXP Semiconductors не поема отговорност за съдържанието на този документ, ако е предоставено от източник на информация извън NXP Semiconductors. В никакъв случай NXP Semiconductors не носи отговорност за косвени, случайни, наказателни, специални или последващи щети (включително – без ограничение – пропуснати ползи, загубени спестявания, прекъсване на бизнеса, разходи, свързани с премахването или подмяната на продукти или такси за преработка), независимо дали или не такива щети се основават на правонарушение (включително небрежност), гаранция, нарушение на договор или друга правна теория.
Независимо от щетите, които клиентът може да понесе по каквато и да е причина, общата и кумулативната отговорност на NXP Semiconductors към клиента за описаните тук продукти ще бъде ограничена в съответствие с Правилата и условията за търговска продажба на NXP Semiconductors.
Право на промени — NXP Semiconductors си запазва правото да прави промени в информацията, публикувана в този документ, включително без ограничение спецификации и описания на продукти, по всяко време и без предизвестие. Този документ отменя и заменя цялата информация, предоставена преди публикуването му.
Годност за употреба — Продуктите на NXP Semiconductors не са проектирани, разрешени или гарантирани, че са подходящи за използване в животоподдържащи, критични за живота или критични за безопасността системи или оборудване, нито в приложения, при които повредата или неизправността на продукт на NXP Semiconductors може разумно да се очаква да доведе до лични нараняване, смърт или сериозни материални или екологични щети. NXP Semiconductors и неговите доставчици не поемат отговорност за включване и/или използване на продукти на NXP Semiconductors в такова оборудване или приложения и следователно такова включване и/или използване е на собствен риск на клиента.
Приложения — Приложения, които са описани тук за някое от тях
продуктите са само с илюстративна цел. NXP Semiconductors не прави декларация или гаранция, че такива приложения ще бъдат подходящи за определената употреба без допълнителни тестове или модификации.
Клиентите са отговорни за дизайна и работата на своите
приложения и продукти, използващи продуктите на NXP Semiconductors и NXP Semiconductors не поема отговорност за каквато и да е помощ с приложения или дизайн на клиентски продукти. Единствената отговорност на клиента е да определи дали продуктът на NXP Semiconductors е подходящ и годен за приложенията и планираните продукти на клиента, както и за планираното приложение и използване от клиент(и) трета страна на клиента. Клиентите трябва да осигурят подходящ дизайн и предпазни мерки за работа, за да сведат до минимум рисковете, свързани с техните приложения и продукти.
NXP Semiconductors не поема никаква отговорност, свързана с каквото и да е неизпълнение, повреда, разходи или проблем, който се основава на някаква слабост или неизпълнение в приложенията или продуктите на клиента, или приложението или използването от клиент(и) трета страна на клиента. Клиентът е отговорен за извършването на всички необходими тестове за приложенията и продуктите на клиента с помощта на продуктите на NXP Semiconductors, за да се избегне неизправност на приложенията и продуктите или на приложението или използването от трета страна на клиента.
Условия за търговска продажба — Продуктите на NXP Semiconductors се продават съгласно общите условия за търговска продажба, публикувани на https://www.nxp.com/profile/срокове, освен ако не е уговорено друго в валиден писмен индивидуален договор. При сключване на индивидуален договор се прилагат само условията на съответния договор. NXP Semiconductors с настоящото изрично възразява срещу прилагането на общите условия на клиента по отношение на закупуването на продукти на NXP Semiconductors от клиента.
Експортен контрол — Този документ, както и артикулът(ите), описан(и) тук, могат да бъдат предмет на разпоредби за контрол на износа. Износът може да изисква предварително разрешение от компетентните органи.
Подходящ за употреба в продукти, които не са квалифицирани за автомобили — Освен ако този документ изрично не посочва, че това конкретно NXP Semiconductors
продуктът е квалифициран за автомобили, продуктът не е подходящ за употреба в автомобили. Той не е нито квалифициран, нито тестван в съответствие с изискванията за автомобилно изпитване или приложение. NXP Semiconductors не поема отговорност за включване и/или използване на неавтомобилни квалифицирани продукти в автомобилно оборудване или приложения.
В случай, че клиентът използва продукта за проектиране и използване в
автомобилни приложения към автомобилни спецификации и стандарти,
клиент (а) ще използва продукта без гаранцията на NXP Semiconductors за продукта за такива автомобилни приложения, употреба и спецификации, и б) всеки път, когато клиентът използва продукта за автомобилни приложения извън спецификациите на NXP Semiconductors, такова използване ще бъде единствено на собствен риск на клиента и (c) клиентът напълно обезщетява NXP Semiconductors за всякаква отговорност, щети или неуспешни претенции за продукта, произтичащи от дизайна и употребата на продукта от клиента. за автомобилни приложения извън стандартната гаранция на NXP Semiconductors и продуктовите спецификации на NXP Semiconductors.
Преводи — Неанглийска (преведена) версия на документ, включително правната информация в този документ, е само за справка. Английската версия има предимство в случай на несъответствие между преведената и английската версия.
сигурност — Клиентът разбира, че всички продукти на NXP може да са обект на неидентифицирани уязвимости или може да поддържат установени стандарти за сигурност или спецификации с известни ограничения. Клиентът е отговорен за дизайна и работата на своите приложения и продукти през целия им жизнен цикъл, за да намали ефекта от тези уязвимости върху приложенията и продуктите на клиента. Отговорността на клиента се простира и до други отворени и/или патентовани технологии, поддържани от продуктите на NXP за използване в приложенията на клиента. NXP не поема отговорност за каквато и да е уязвимост. Клиентът трябва редовно да проверява актуализациите за сигурност от NXP и да ги последва по подходящ начин.
Клиентът трябва да избере продукти със защитни функции, които най-добре отговарят на правилата, разпоредбите и стандартите на предвиденото приложение и да вземе окончателните дизайнерски решения по отношение на своите продукти и носи цялата отговорност за спазването на всички законови, регулаторни и свързани със сигурността изисквания, отнасящи се до неговите продукти, независимо за всякаква информация или поддръжка, която може да бъде предоставена от NXP. NXP разполага с екип за реакция при инциденти със сигурността на продукта (PSIRT) (достъпен на PSIRT@nxp.com), който управлява разследването, докладването и пускането на решение за уязвимости в сигурността на продуктите на NXP.
NXP B.V. — NXP B.V. не е действаща компания и не разпространява или продава продукти.
Документи / Ресурси
![]() |
NXP AN14120 Софтуер за отстраняване на грешки Cortex-M [pdf] Ръководство за потребителя i.MX 8ULP, i.MX 93, AN14120 Софтуер за отстраняване на грешки Cortex-M, AN14120, Софтуер за отстраняване на грешки Cortex-M, Софтуер Cortex-M, Софтуер |