NXP AN14120 డీబగ్గింగ్ Cortex-M సాఫ్ట్వేర్ యూజర్ గైడ్
పరిచయం
మైక్రోసాఫ్ట్ విజువల్ స్టూడియో కోడ్ని ఉపయోగించి i.MX 8M ఫ్యామిలీ, i.MX 8ULP మరియు i.MX 93 Cortex-M ప్రాసెసర్ కోసం క్రాస్-కంపైల్ చేయడం, అమలు చేయడం మరియు డీబగ్ చేయడం గురించి ఈ పత్రం వివరిస్తుంది.
సాఫ్ట్వేర్ పర్యావరణం
పరిష్కారం Linux మరియు Windows హోస్ట్ రెండింటిలోనూ అమలు చేయబడుతుంది. ఈ అప్లికేషన్ నోట్ కోసం, Windows PC ఊహించబడింది, కానీ తప్పనిసరి కాదు.
ఈ అప్లికేషన్ నోట్లో Linux BSP విడుదల 6.1.22_2.0.0 ఉపయోగించబడింది. కింది ప్రీబిల్డ్ చిత్రాలు ఉపయోగించబడ్డాయి:
- i.MX 8M మినీ: imx-image-full-imx8mmevk.wic
- i.MX 8M నానో: imx-image-full-imx8mnevk.wic
- i.MX 8M ప్లస్: 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 యోక్టో ప్రాజెక్ట్ యూజర్స్ గైడ్ (పత్రం IMXLXYOCTOUG) చూడండి.
Windows PC ఉపయోగించబడితే, Win32 డిస్క్ ఇమేజర్ (WinXNUMX Disk Imager) ఉపయోగించి SD కార్డ్లో ప్రీబిల్డ్ ఇమేజ్ని వ్రాయండి.https:// win32diskimager.org/) లేదా బాలెనా ఎచర్ (https://etcher.balena.io/). ఉబుంటు PC ఉపయోగించబడితే, దిగువ ఆదేశాన్ని ఉపయోగించి SD కార్డ్లో ప్రీబిల్డ్ చిత్రాన్ని వ్రాయండి:
$ sudo dd if=.wic of=/dev/sd bs=1M స్థితి=ప్రగతి conv=fsync
గమనిక: మీ కార్డ్ రీడర్ విభజనను తనిఖీ చేయండి మరియు sdని మీ సంబంధిత విభజనతో భర్తీ చేయండి. 1.2
హార్డ్వేర్ సెటప్ మరియు పరికరాలు
- అభివృద్ధి కిట్:
- NXP i.MX 8MM EVK LPDDR4
- NXP i.MX 8MN EVK LPDDR4
- NXP i.MX 8MP EVK LPDDR4
- 93×11 mm LPDDR11 కోసం NXP i.MX 4 EVK – NXP i.MX 8ULP EVK LPDDR4
- మైక్రో SD కార్డ్: ప్రస్తుత ప్రయోగం కోసం SanDisk Ultra 32-GB మైక్రో SDHC I క్లాస్ 10 ఉపయోగించబడుతుంది.
- డీబగ్ పోర్ట్ కోసం మైక్రో-USB (i.MX 8M) లేదా టైప్-సి (i.MX 93) కేబుల్.
- SEGGER J-లింక్ డీబగ్ ప్రోబ్.
ముందస్తు అవసరాలు
డీబగ్ చేయడాన్ని ప్రారంభించడానికి ముందు, సరిగ్గా కాన్ఫిగర్ చేయబడిన డీబగ్ వాతావరణాన్ని కలిగి ఉండటానికి అనేక ముందస్తు అవసరాలను తీర్చాలి.
PC హోస్ట్ – i.MX బోర్డు డీబగ్ కనెక్షన్
హార్డ్వేర్ డీబగ్ కనెక్షన్ని ఏర్పాటు చేయడానికి, ఈ క్రింది దశలను చేయండి:
- USB కేబుల్ని ఉపయోగించి డీబగ్ USB-UART మరియు PC USB కనెక్టర్ ద్వారా i.MX బోర్డ్ని హోస్ట్ PCకి కనెక్ట్ చేయండి. Windows OS స్వయంచాలకంగా సీరియల్ పరికరాలను కనుగొంటుంది.
- పరికర నిర్వాహికిలో, పోర్ట్లు (COM & LPT) కింద కనెక్ట్ చేయబడిన రెండు లేదా నాలుగు USB సీరియల్ పోర్ట్ (COM )ని కనుగొనండి. పోర్ట్లలో ఒకటి కార్టెక్స్-A కోర్ ద్వారా రూపొందించబడిన డీబగ్ సందేశాల కోసం ఉపయోగించబడుతుంది మరియు మరొకటి కార్టెక్స్-M కోర్ కోసం ఉపయోగించబడుతుంది. అవసరమైన సరైన పోర్ట్ను నిర్ణయించే ముందు, గుర్తుంచుకోండి:
- [i.MX 8MP, i.MX 8ULP, i.MX 93]: పరికర నిర్వాహికిలో నాలుగు పోర్ట్లు అందుబాటులో ఉన్నాయి. చివరి పోర్ట్ Cortex-M డీబగ్ కోసం మరియు రెండవ నుండి చివరి పోర్ట్ Cortex-A డీబగ్ కోసం, డీబగ్ పోర్ట్లను ఆరోహణ క్రమంలో లెక్కిస్తుంది.
- [i.MX 8MM, i.MX 8MN]: పరికర నిర్వాహికిలో రెండు పోర్ట్లు అందుబాటులో ఉన్నాయి. మొదటి పోర్ట్ Cortex-M డీబగ్ కోసం మరియు రెండవ పోర్ట్ Cortex-A డీబగ్ కోసం, డీబగ్ పోర్ట్లను ఆరోహణ క్రమంలో లెక్కిస్తుంది.
- మీరు ఇష్టపడే సీరియల్ టెర్మినల్ ఎమ్యులేటర్ని ఉపయోగించి సరైన డీబగ్ పోర్ట్ను తెరవండి (ఉదాample PutTY) కింది పారామితులను సెట్ చేయడం ద్వారా:
- వేగం 115200 bps
- 8 డేటా బిట్స్
- 1 స్టాప్ బిట్ (115200, 8N1)
- సమానత్వం లేదు
- SEGGER డీబగ్ ప్రోబ్ USBని హోస్ట్కి కనెక్ట్ చేయండి, ఆపై SEGGER Jని కనెక్ట్ చేయండిTAG i.MX బోర్డుకి కనెక్టర్ JTAG ఇంటర్ఫేస్. ఒకవేళ i.MX బోర్డు JTAG ఇంటర్ఫేస్కు గైడెడ్ కనెక్టర్ లేదు, ఫిగర్ 1లో ఉన్నట్లుగా రెడ్ వైర్ను పిన్ 1కి సమలేఖనం చేయడం ద్వారా ఓరియంటేషన్ నిర్ణయించబడుతుంది.
VS కోడ్ కాన్ఫిగరేషన్
VS కోడ్ని డౌన్లోడ్ చేయడానికి మరియు కాన్ఫిగర్ చేయడానికి, ఈ క్రింది దశలను చేయండి:
- అధికారిక నుండి Microsoft Visual Studio కోడ్ యొక్క తాజా వెర్షన్ను డౌన్లోడ్ చేసి, ఇన్స్టాల్ చేయండి webసైట్. Windowsని హోస్ట్ OSగా ఉపయోగిస్తున్నట్లయితే, విజువల్ స్టూడియో కోడ్ ప్రధాన పేజీ నుండి "Windows కోసం డౌన్లోడ్ చేయి" బటన్ను ఎంచుకోండి.
- విజువల్ స్టూడియో కోడ్ను ఇన్స్టాల్ చేసిన తర్వాత, దాన్ని తెరిచి, "ఎక్స్టెన్షన్స్" ట్యాబ్ను ఎంచుకోండి లేదా Ctrl + Shift + X కలయికను నొక్కండి.
- అంకితమైన శోధన పట్టీలో, VS కోడ్ కోసం MCUXpresso అని టైప్ చేసి, పొడిగింపును ఇన్స్టాల్ చేయండి. VS కోడ్ విండో యొక్క ఎడమ వైపున కొత్త ట్యాబ్ కనిపిస్తుంది.
MCUXpresso పొడిగింపు కాన్ఫిగరేషన్
MCUXpresso పొడిగింపును కాన్ఫిగర్ చేయడానికి, క్రింది దశలను చేయండి:
- ఎడమ వైపు బార్ నుండి MCUXpresso పొడిగింపు అంకితమైన ట్యాబ్ను క్లిక్ చేయండి. క్విక్స్టార్ట్ ప్యానెల్ నుండి, క్లిక్ చేయండి
MCUXpresso ఇన్స్టాలర్ని తెరిచి, ఇన్స్టాలర్ను డౌన్లోడ్ చేయడానికి అనుమతి ఇవ్వండి. - ఇన్స్టాలర్ విండో తక్కువ సమయంలో కనిపిస్తుంది. MCUXpresso SDK డెవలపర్ని క్లిక్ చేసి, SEGGER JLinkలో ఆపై ఇన్స్టాల్ బటన్ను క్లిక్ చేయండి. ఇన్స్టాలర్ ఆర్కైవ్లు, టూల్చెయిన్, పైథాన్ సపోర్ట్, Git మరియు డీబగ్ ప్రోబ్ కోసం అవసరమైన సాఫ్ట్వేర్ను ఇన్స్టాల్ చేస్తుంది.
అన్ని ప్యాకేజీలు ఇన్స్టాల్ చేయబడిన తర్వాత, J-Link ప్రోబ్ హోస్ట్ PCకి కనెక్ట్ చేయబడిందని నిర్ధారించుకోండి. ఆపై, డీబగ్ ప్రోబ్స్ కింద MCUXpresso ఎక్స్టెన్షన్లో కూడా ప్రోబ్ అందుబాటులో ఉందో లేదో తనిఖీ చేయండి view, చిత్రంలో చూపిన విధంగా
MCUXpresso SDKని దిగుమతి చేయండి
మీరు ఏ బోర్డ్ను నడుపుతున్నారు అనేదానిపై ఆధారపడి, NXP అధికారిక నుండి నిర్దిష్ట SDKని రూపొందించండి మరియు డౌన్లోడ్ చేయండి 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
మాజీని నిర్మించడానికిampi.MX 93 EVK కోసం le, మూర్తి 7 చూడండి:
- VS కోడ్లో MCUXpresso SDK రిపోజిటరీని దిగుమతి చేయడానికి, ఈ క్రింది దశలను చేయండి:
- SDKని డౌన్లోడ్ చేసిన తర్వాత, విజువల్ స్టూడియో కోడ్ని తెరవండి. ఎడమ వైపు నుండి MCUXpresso ట్యాబ్ను క్లిక్ చేసి, ఇన్స్టాల్ చేసిన రిపోజిటరీలు మరియు ప్రాజెక్ట్లను విస్తరించండి views.
- దిగుమతి రిపోజిటరీని క్లిక్ చేసి, స్థానిక ఆర్కైవ్ని ఎంచుకోండి. ఆర్కైవ్ ఫీల్డ్కు సంబంధించిన బ్రౌజ్...ని క్లిక్ చేసి, ఇటీవల డౌన్లోడ్ చేసిన SDK ఆర్కైవ్ను ఎంచుకోండి.
- ఆర్కైవ్ అన్జిప్ చేయబడిన మార్గాన్ని ఎంచుకోండి మరియు స్థాన ఫీల్డ్ను పూరించండి.
- పేరు ఫీల్డ్ డిఫాల్ట్గా వదిలివేయబడుతుంది లేదా మీరు అనుకూల పేరును ఎంచుకోవచ్చు.
- మీ అవసరాల ఆధారంగా క్రియేట్ Git రిపోజిటరీని చెక్ చేయండి లేదా అన్చెక్ చేసి, ఆపై దిగుమతిని క్లిక్ చేయండి.
మాజీని దిగుమతి చేయండిample అప్లికేషన్
SDK దిగుమతి అయినప్పుడు, అది కింద కనిపిస్తుంది ఇన్స్టాల్ చేసిన రిపోజిటరీలు view.
మాజీని దిగుమతి చేసుకోవడానికిampSDK రిపోజిటరీ నుండి అప్లికేషన్, క్రింది దశలను అమలు చేయండి:
- దిగుమతి ఎక్స్ని క్లిక్ చేయండిampప్రాజెక్ట్ల నుండి రిపోజిటరీ బటన్ నుండి le view.
- డ్రాప్-డౌన్ జాబితా నుండి రిపోజిటరీని ఎంచుకోండి.
- డ్రాప్-డౌన్ జాబితా నుండి టూల్చెయిన్ను ఎంచుకోండి.
- లక్ష్య బోర్డుని ఎంచుకోండి.
- demo_apps/hello_world exని ఎంచుకోండిampఒక టెంప్లేట్ జాబితాను ఎంచుకోండి నుండి le.
- ప్రాజెక్ట్ కోసం పేరును ఎంచుకోండి (డిఫాల్ట్ ఉపయోగించవచ్చు) మరియు ప్రాజెక్ట్ స్థానానికి మార్గాన్ని సెట్ చేయండి.
- సృష్టించు క్లిక్ చేయండి.
- i.MX 8M కుటుంబం కోసం మాత్రమే క్రింది దశలను అమలు చేయండి. ప్రాజెక్ట్స్ కింద view, దిగుమతి చేసుకున్న ప్రాజెక్ట్ను విస్తరించండి. సెట్టింగ్ల విభాగానికి వెళ్లి, mcuxpresso-tools.json క్లిక్ చేయండి file.
a. "ఇంటర్ఫేస్" జోడించండి: "JTAG”డీబగ్” > “సెగ్గర్” కింద
b. i.MX 8MM కోసం, కింది కాన్ఫిగరేషన్ను జోడించండి: “పరికరం”: “MIMX8MM6_M4” కింద “డీబగ్” > “సెగ్గర్”
c. i.MX 8MN కోసం, కింది కాన్ఫిగరేషన్ను జోడించండి: “డివైస్”: “MIMX8MN6_M7” కింద “డీబగ్” > “సెగ్గర్”
d. i.MX 8MP కోసం, కింది కాన్ఫిగరేషన్ను జోడించండి:
“పరికరం”: “డీబగ్” > “సెగ్గర్” కింద “MIMX8ML8_M7”
కింది కోడ్ మాజీని చూపుతుందిampi.MX8 MP "డీబగ్" విభాగం కోసం le mcuxpresso-tools.json యొక్క పై సవరణలు చేసిన తర్వాత:
మాజీని దిగుమతి చేసుకున్న తర్వాతample అప్లికేషన్ విజయవంతంగా, అది తప్పనిసరిగా ప్రాజెక్ట్ల క్రింద కనిపించాలి view. అలాగే, ప్రాజెక్ట్ మూలం fileఎక్స్ప్లోరర్ (Ctrl + Shift + E) ట్యాబ్లో లు కనిపిస్తాయి.
అప్లికేషన్ను రూపొందించడం
అప్లికేషన్ను రూపొందించడానికి, మూర్తి 9లో చూపిన విధంగా ఎడమవైపు బిల్డ్ ఎంచుకున్న చిహ్నాన్ని నొక్కండి.
డీబగ్గర్ కోసం బోర్డుని సిద్ధం చేయండి
J ను ఉపయోగించడానికిTAG Cortex-M అప్లికేషన్లను డీబగ్గింగ్ చేయడానికి, ప్లాట్ఫారమ్పై ఆధారపడి కొన్ని ముందస్తు అవసరాలు ఉన్నాయి:
- i.MX 93 కోసం
i.MX 93కి మద్దతు ఇవ్వడానికి, SEGGER J-Link కోసం ప్యాచ్ తప్పనిసరిగా ఇన్స్టాల్ చేయబడాలి: SDK_MX93_3RDPARTY_PATCH.zip.
గమనిక: ఈ ప్యాచ్ని గతంలో ఇన్స్టాల్ చేసినప్పటికీ తప్పనిసరిగా ఉపయోగించాలి. డౌన్లోడ్ పూర్తయిన తర్వాత, ఆర్కైవ్ను అన్జిప్ చేయండి మరియు పరికరాల డైరెక్టరీని మరియు JLinkDevices.xmlని కాపీ చేయండి file సి:\ ప్రోగ్రామ్కి Files\SEGGER\JLink. Linux PC ఉపయోగించబడితే, లక్ష్య మార్గం /opt/SEGGER/JLink.- Cortex-M33ని డీబగ్గింగ్ చేస్తోంది, అయితే Cortex-M33 మాత్రమే నడుస్తోంది
ఈ మోడ్లో, బూట్ మోడ్ స్విచ్ SW1301[3:0] తప్పనిసరిగా [1010]కి సెట్ చేయబడాలి. అప్పుడు M33 చిత్రాన్ని నేరుగా లోడ్ చేయవచ్చు మరియు డీబగ్ బటన్ని ఉపయోగించి డీబగ్ చేయవచ్చు. మరిన్ని వివరాల కోసం, విభాగం 5 చూడండి.
Cortex-M55కి సమాంతరంగా Cortex-A33పై నడుస్తున్న Linux అవసరమైతే, Cortex-M33ని డీబగ్గింగ్ చేయడానికి రెండు మార్గాలు ఉన్నాయి: - Cortex-A33 U-Bootలో ఉన్నప్పుడు కార్టెక్స్-M55ని డీబగ్గింగ్ చేస్తోంది
ముందుగా, sdk20-app.binని కాపీ చేయండి file (armgcc/డీబగ్ డైరెక్టరీలో ఉంది) SD కార్డ్ యొక్క బూట్ విభజనలో విభాగం 3లో రూపొందించబడింది. బోర్డుని బూట్ చేసి, U-బూట్లో ఆపండి. కార్టెక్స్-A బూట్ చేయడానికి బూట్ స్విచ్ కాన్ఫిగర్ చేయబడినప్పుడు, బూట్ సీక్వెన్స్ కార్టెక్స్-Mని ప్రారంభించదు. దిగువ ఆదేశాలను ఉపయోగించి ఇది మానవీయంగా తొలగించబడాలి. Cortex-M ప్రారంభించబడకపోతే, JLink కోర్కి కనెక్ట్ చేయడంలో విఫలమవుతుంది.
- గమనిక: సిస్టమ్ను సాధారణంగా డీబగ్ చేయలేకపోతే, VS కోసం MCUXpressoలోని ప్రాజెక్ట్పై కుడి-క్లిక్ చేయడానికి ప్రయత్నించండి
కోడ్ చేసి, "ప్రాజెక్ట్ను డీబగ్ చేయడానికి అటాచ్ చేయి" ఎంచుకోండి. - Cortex-A33 Linuxలో ఉన్నప్పుడు Cortex-M55ని డీబగ్గింగ్ చేస్తోంది
J వలె అదే పిన్లను ఉపయోగించే UART5ని నిలిపివేయడానికి కెర్నల్ DTS తప్పనిసరిగా సవరించబడాలి.TAG ఇంటర్ఫేస్.
Windows PC ఉపయోగించబడితే, WSL + Ubuntu 22.04 LTSని ఇన్స్టాల్ చేసి, ఆపై DTSని క్రాస్-కంపైల్ చేయడం చాలా సులభం.
WSL + Ubuntu 22.04 LTS ఇన్స్టాలేషన్ తర్వాత, WSLలో నడుస్తున్న ఉబుంటు మెషీన్ని తెరిచి, అవసరమైన ప్యాకేజీలను ఇన్స్టాల్ చేయండి:
ఇప్పుడు, కెర్నల్ మూలాలను డౌన్లోడ్ చేసుకోవచ్చు:
UART5 పెరిఫెరల్ను నిలిపివేయడానికి, linux-imx/arch/arm5/boot/ dts/freescale/imx64-93×11-evk.dtsలో lpuart11 నోడ్ కోసం శోధించండి. file మరియు ఓకే స్థితిని డిసేబుల్తో భర్తీ చేయండి:
DTSని మళ్లీ కంపైల్ చేయండి:
కొత్తగా సృష్టించబడిన linux-imx/arch/arm64/boot/dts/freescale/imx93 11×11-evk.dtbని కాపీ చేయండి file SD కార్డ్ యొక్క బూట్ విభజనపై. hello_world.elfని కాపీ చేయండి file (armgcc/డీబగ్ డైరెక్టరీలో ఉంది) SD కార్డ్ యొక్క బూట్ విభజనలో విభాగం 3లో రూపొందించబడింది. Linuxలో బోర్డుని బూట్ చేయండి. Cortex-A బూట్ అయినప్పుడు బూట్ ROM కార్టెక్స్-Mని కిక్ చేయదు కాబట్టి, CortexM తప్పనిసరిగా మాన్యువల్గా ప్రారంభించబడాలి.
గమనిక: ది హలో_ 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.
డౌన్లోడ్ పూర్తయిన తర్వాత, ఆర్కైవ్ను అన్జిప్ చేయండి మరియు పరికరాల డైరెక్టరీని కాపీ చేయండి
JLinkDevices.xml file JLink డైరెక్టరీ నుండి C:\Program వరకు Files\SEGGER\JLink. Linux PC అయితే
ఉపయోగించబడుతుంది, లక్ష్య మార్గం /opt/SEGGER/JLink.- కార్టెక్స్-ఎ U-బూట్లో ఉన్నప్పుడు కార్టెక్స్-M డీబగ్గింగ్
ఈ సందర్భంలో, ప్రత్యేకంగా ఏమీ చేయకూడదు. U Bootలో బోర్డుని బూట్ చేసి, సెక్షన్ 5కి వెళ్లండి. - Cortex-A Linuxలో ఉన్నప్పుడు Cortex-Mని డీబగ్గింగ్ చేస్తోంది
Cortex-M అప్లికేషన్ని రన్ చేయడానికి మరియు డీబగ్ చేయడానికి Linuxకి సమాంతరంగా Cortex-Aలో, నిర్దిష్ట గడియారాన్ని తప్పనిసరిగా కేటాయించాలి మరియు Cortex-M కోసం రిజర్వ్ చేయాలి. ఇది U-బూట్ లోపల నుండి చేయబడుతుంది. U-Bootలో బోర్డుని ఆపి, క్రింది ఆదేశాలను అమలు చేయండి:
- కార్టెక్స్-ఎ U-బూట్లో ఉన్నప్పుడు కార్టెక్స్-M డీబగ్గింగ్
- i.MX 8ULP కోసం
i.MX 8ULPకి మద్దతు ఇవ్వడానికి, SEGGER J-Link కోసం ప్యాచ్ తప్పనిసరిగా ఇన్స్టాల్ చేయబడాలి: SDK_MX8ULP_3RDPARTY_PATCH.zip.
గమనిక: ఈ ప్యాచ్ని గతంలో ఇన్స్టాల్ చేసినప్పటికీ తప్పనిసరిగా ఉపయోగించాలి.
డౌన్లోడ్ చేసిన తర్వాత, ఆర్కైవ్ను అన్జిప్ చేయండి మరియు పరికరాల డైరెక్టరీని మరియు JLinkDevices.xmlని కాపీ చేయండి file సి:\ ప్రోగ్రామ్కి Files\SEGGER\JLink. Linux PC ఉపయోగించబడితే, లక్ష్య మార్గం /opt/SEGGER/JLink. i.MX 8ULP కోసం, Upower యూనిట్ కారణంగా, ముందుగా మా “VSCode” రెపోలో m33_imageని ఉపయోగించి flash.binని రూపొందించండి. M33 చిత్రాన్ని {CURRENT REPO}\armgcc\debug\sdk20-app.binలో కనుగొనవచ్చు. flash.bin ఇమేజ్ని ఎలా నిర్మించాలో SDK_6_xx_x_EVK-MIMX8ULP/డాక్స్లో EVK-MIMX9ULP మరియు EVK8-MIMX2ULP కోసం MCUX ప్రెస్సో SDKతో ప్రారంభించడం నుండి విభాగం 8ని చూడండి.
గమనిక: క్రియాశీల VSCode రెపోలో M33 చిత్రాన్ని ఉపయోగించండి. లేకపోతే, ప్రోగ్రామ్ సరిగ్గా జోడించబడదు. కుడి-క్లిక్ చేసి, "అటాచ్" ఎంచుకోండి.
అమలు మరియు డీబగ్గింగ్
డీబగ్ బటన్ను నొక్కిన తర్వాత, డీబగ్ ప్రాజెక్ట్ కాన్ఫిగరేషన్ని ఎంచుకోండి మరియు డీబగ్గింగ్ సెషన్ ప్రారంభమవుతుంది.
డీబగ్గింగ్ సెషన్ ప్రారంభమైనప్పుడు, ప్రత్యేక మెను ప్రదర్శించబడుతుంది. డీబగ్గింగ్ మెనులో బ్రేక్పాయింట్ ఫైర్ అయ్యే వరకు, ఎగ్జిక్యూషన్ను పాజ్ చేసే వరకు, ఎగ్జిక్యూషన్ను ప్రారంభించడానికి, అడుగు పెట్టడానికి, అడుగు పెట్టడానికి, బయటకు వెళ్లడానికి, రీస్టార్ట్ చేయడానికి మరియు ఆపే వరకు ఎగ్జిక్యూషన్ను ప్రారంభించడానికి బటన్లు ఉంటాయి.
అలాగే, మనం లోకల్ వేరియబుల్స్ చూడవచ్చు, విలువలను నమోదు చేయవచ్చు, కొన్ని వ్యక్తీకరణలను చూడవచ్చు మరియు కాల్ స్టాక్ మరియు బ్రేక్పాయింట్లను తనిఖీ చేయవచ్చు
ఎడమ చేతి నావిగేటర్లో. ఈ ఫంక్షన్ ప్రాంతాలు "రన్ మరియు డీబగ్" ట్యాబ్ క్రింద ఉన్నాయి మరియు MCUXpressoలో కాదు
VS కోడ్ కోసం.
డాక్యుమెంట్లోని సోర్స్ కోడ్ గురించి గమనించండి
Exampఈ డాక్యుమెంట్లో చూపబడిన le కోడ్ కింది కాపీరైట్ మరియు BSD-3-క్లాజ్ లైసెన్స్ను కలిగి ఉంది:
కాపీరైట్ 2023 NXP పునఃపంపిణీ మరియు మూలాధారం మరియు బైనరీ ఫారమ్లలో, సవరణతో లేదా లేకుండా, కింది షరతులు పాటించబడితే అనుమతించబడతాయి:
- సోర్స్ కోడ్ యొక్క పునఃపంపిణీ తప్పనిసరిగా పై కాపీరైట్ నోటీసు, ఈ షరతుల జాబితా మరియు క్రింది నిరాకరణను కలిగి ఉండాలి.
- బైనరీ రూపంలో పునఃపంపిణీలు తప్పనిసరిగా పై కాపీరైట్ నోటీసును పునరుత్పత్తి చేయాలి, ఈ షరతుల జాబితా మరియు డాక్యుమెంటేషన్ మరియు/లేదా ఇతర మెటీరియల్లలోని క్రింది నిరాకరణ తప్పనిసరిగా పంపిణీతో అందించబడాలి.
- నిర్దిష్ట ముందస్తు వ్రాతపూర్వక అనుమతి లేకుండా ఈ సాఫ్ట్వేర్ నుండి పొందిన ఉత్పత్తులను ఆమోదించడానికి లేదా ప్రోత్సహించడానికి కాపీరైట్ హోల్డర్ పేరు లేదా దాని సహాయకుల పేర్లు ఉపయోగించబడవు.
ఈ సాఫ్ట్వేర్ కాపీరైట్ హోల్డర్లు మరియు కంట్రిబ్యూటర్ల ద్వారా అందించబడుతుంది మరియు ఏదైనా ఎక్స్ప్రెస్ లేదా ఇంప్లైడ్ వారెంటీలతో సహా, కానీ సూచించిన వారితో సహా ఐక్యులర్ ప్రయోజనం నిరాకరణ. ఏ సందర్భంలోనైనా కాపీరైట్ హోల్డర్ లేదా కంట్రిబ్యూటర్లు ఏదైనా ప్రత్యక్ష, పరోక్ష, యాదృచ్ఛిక, ప్రత్యేక, ఆదర్శప్రాయమైన లేదా పర్యవసానంగా జరిగే నష్టాలకు బాధ్యత వహించరు (ఉపకరణం, ఉపసంహరణ, ODS లేదా సేవలు వినియోగం, డేటా లేదా లాభాలు; లేదా వ్యాపార అంతరాయం) ఏదేని బాధ్యత సిద్ధాంతానికి కారణమైనప్పటికీ, కాంట్రాక్ట్, కఠినమైన బాధ్యత లేదా టార్ట్ (ఉపయోగించినప్పుడు నిర్లక్ష్యం లేదా ఇతరత్రా సహా) , అటువంటి నష్టం జరిగే అవకాశం గురించి సలహా ఇచ్చినప్పటికీ
చట్టపరమైన సమాచారం
నిర్వచనాలు
డ్రాఫ్ట్ — డాక్యుమెంట్పై డ్రాఫ్ట్ స్టేటస్ కంటెంట్ ఇప్పటికీ ఉందని సూచిస్తుంది
అంతర్గత రీ కిందview మరియు అధికారిక ఆమోదానికి లోబడి, మార్పులు లేదా చేర్పులకు దారితీయవచ్చు. డాక్యుమెంట్ యొక్క డ్రాఫ్ట్ వెర్షన్లో చేర్చబడిన సమాచారం యొక్క ఖచ్చితత్వం లేదా సంపూర్ణతకు సంబంధించి NXP సెమీకండక్టర్లు ఎటువంటి ప్రాతినిధ్యాలు లేదా వారెంటీలను ఇవ్వవు మరియు అటువంటి సమాచారాన్ని ఉపయోగించడం వల్ల కలిగే పరిణామాలకు ఎటువంటి బాధ్యత ఉండదు.
నిరాకరణలు
పరిమిత వారంటీ మరియు బాధ్యత - ఈ పత్రంలోని సమాచారం ఖచ్చితమైనది మరియు నమ్మదగినది అని నమ్ముతారు. అయితే, NXP సెమీకండక్టర్స్ అటువంటి సమాచారం యొక్క ఖచ్చితత్వం లేదా సంపూర్ణతకు సంబంధించి వ్యక్తీకరించబడిన లేదా సూచించిన ఎటువంటి ప్రాతినిధ్యాలు లేదా వారెంటీలను ఇవ్వవు మరియు అటువంటి సమాచారాన్ని ఉపయోగించడం వల్ల కలిగే పరిణామాలకు ఎటువంటి బాధ్యత ఉండదు. NXP సెమీకండక్టర్స్ వెలుపలి సమాచార మూలం అందించినట్లయితే, ఈ డాక్యుమెంట్లోని కంటెంట్కు NXP సెమీకండక్టర్స్ ఎటువంటి బాధ్యత వహించదు. ఏదైనా పరోక్ష, యాదృచ్ఛిక, శిక్షాత్మక, ప్రత్యేక లేదా పర్యవసానమైన నష్టాలకు (పరిమితి లేకుండా - కోల్పోయిన లాభాలు, పోగొట్టుకున్న పొదుపులు, వ్యాపార అంతరాయం, ఏదైనా ఉత్పత్తుల తొలగింపు లేదా భర్తీకి సంబంధించిన ఖర్చులు లేదా రీవర్క్ ఛార్జీలు) NXP సెమీకండక్టర్లు ఏ సందర్భంలోనూ బాధ్యత వహించవు. లేదా అలాంటి నష్టాలు టార్ట్ (నిర్లక్ష్యంతో సహా), వారంటీ, ఒప్పంద ఉల్లంఘన లేదా ఏదైనా ఇతర చట్టపరమైన సిద్ధాంతంపై ఆధారపడి ఉండవు.
ఏ కారణం చేతనైనా కస్టమర్కు ఏవైనా నష్టాలు సంభవించినప్పటికీ, NXP సెమీకండక్టర్స్ యొక్క వాణిజ్య విక్రయ నిబంధనలు మరియు షరతులకు అనుగుణంగా ఇక్కడ వివరించిన ఉత్పత్తుల కోసం కస్టమర్పై NXP సెమీకండక్టర్ల యొక్క మొత్తం మరియు సంచిత బాధ్యత పరిమితం చేయబడుతుంది.
మార్పులు చేసుకునే హక్కు — NXP సెమీకండక్టర్స్ ఈ డాక్యుమెంట్లో ప్రచురించబడిన సమాచారాన్ని పరిమితి లేకుండా మరియు ఉత్పత్తి వివరణలతో సహా, ఎప్పుడైనా మరియు నోటీసు లేకుండా మార్పులు చేసే హక్కును కలిగి ఉంది. ఈ పత్రం దీని ప్రచురణకు ముందు అందించిన మొత్తం సమాచారాన్ని భర్తీ చేస్తుంది మరియు భర్తీ చేస్తుంది.
ఉపయోగం కోసం అనుకూలత — NXP సెమీకండక్టర్స్ ఉత్పత్తులు లైఫ్ సపోర్ట్, లైఫ్ క్రిటికల్ లేదా సేఫ్టీ-క్రిటికల్ సిస్టమ్స్ లేదా ఎక్విప్మెంట్లో లేదా NXP సెమీకండక్టర్స్ ప్రోడక్ట్ యొక్క వైఫల్యం లేదా పనిచేయకపోవడం వల్ల వ్యక్తిగతంగా సహేతుకమైన ఫలితాన్ని ఇవ్వగల యాప్లలో ఉపయోగించేందుకు అనువైనవిగా రూపొందించబడలేదు, అధికారం లేదా హామీ ఇవ్వబడలేదు. గాయం, మరణం లేదా తీవ్రమైన ఆస్తి లేదా పర్యావరణ నష్టం. NXP సెమీకండక్టర్స్ మరియు దాని సరఫరాదారులు NXP సెమీకండక్టర్స్ ఉత్పత్తులను అటువంటి పరికరాలు లేదా అప్లికేషన్లలో చేర్చడం మరియు/లేదా ఉపయోగించడం కోసం ఎటువంటి బాధ్యతను అంగీకరించరు మరియు అందువల్ల అటువంటి చేరిక మరియు/లేదా ఉపయోగం కస్టమర్ యొక్క స్వంత పూచీపై ఉంటుంది.
అప్లికేషన్లు - వీటిలో దేనికైనా ఇక్కడ వివరించబడిన అప్లికేషన్లు
ఉత్పత్తులు దృష్టాంత ప్రయోజనాల కోసం మాత్రమే. NXP సెమీకండక్టర్స్ అటువంటి అప్లికేషన్లు తదుపరి పరీక్ష లేదా మార్పు లేకుండా పేర్కొన్న ఉపయోగానికి అనుకూలంగా ఉంటాయని ఎటువంటి ప్రాతినిధ్యాన్ని లేదా హామీని ఇవ్వదు.
వాటి రూపకల్పన మరియు నిర్వహణకు వినియోగదారులు బాధ్యత వహిస్తారు
NXP సెమీకండక్టర్స్ ఉత్పత్తులను ఉపయోగించే అప్లికేషన్లు మరియు ఉత్పత్తులు మరియు NXP సెమీకండక్టర్లు అప్లికేషన్లు లేదా కస్టమర్ ప్రొడక్ట్ డిజైన్తో ఎలాంటి సహాయానికి బాధ్యత వహించవు. NXP సెమీకండక్టర్స్ ప్రోడక్ట్ కస్టమర్ యొక్క అప్లికేషన్లు మరియు ప్లాన్ చేసిన ఉత్పత్తులకు, అలాగే కస్టమర్ యొక్క థర్డ్ పార్టీ కస్టమర్(ల) యొక్క ప్రణాళికాబద్ధమైన అప్లికేషన్ మరియు వినియోగానికి అనుకూలంగా ఉందో లేదో నిర్ధారించడం కస్టమర్ యొక్క ఏకైక బాధ్యత. కస్టమర్లు తమ అప్లికేషన్లు మరియు ఉత్పత్తులకు సంబంధించిన రిస్క్లను తగ్గించడానికి తగిన డిజైన్ మరియు ఆపరేటింగ్ రక్షణలను అందించాలి.
NXP సెమీకండక్టర్స్ కస్టమర్ యొక్క అప్లికేషన్లు లేదా ఉత్పత్తులలో ఏదైనా బలహీనత లేదా డిఫాల్ట్ లేదా కస్టమర్ యొక్క థర్డ్ పార్టీ కస్టమర్(ల) అప్లికేషన్ లేదా వినియోగానికి సంబంధించిన ఏదైనా డిఫాల్ట్, డ్యామేజ్, ఖర్చులు లేదా సమస్యకు సంబంధించిన ఎలాంటి బాధ్యతను అంగీకరించదు. NXP సెమీకండక్టర్స్ ఉత్పత్తులను ఉపయోగించి కస్టమర్ యొక్క అప్లికేషన్లు మరియు ప్రోడక్ట్లకు అవసరమైన అన్ని టెస్టింగ్లు చేయడం కోసం కస్టమర్ బాధ్యత వహిస్తాడు, తద్వారా అప్లికేషన్లు మరియు ఉత్పత్తులు లేదా అప్లికేషన్ యొక్క డిఫాల్ట్ను నివారించడం లేదా కస్టమర్ యొక్క మూడవ పక్షం ఉపయోగించడం.
వాణిజ్య విక్రయానికి సంబంధించిన నిబంధనలు మరియు షరతులు - NXP సెమీకండక్టర్స్ ఉత్పత్తులు https://www.nxp.com/proలో ప్రచురించబడిన వాణిజ్య విక్రయం యొక్క సాధారణ నిబంధనలు మరియు షరతులకు లోబడి విక్రయించబడతాయిfile/నిబంధనలు, చెల్లుబాటు అయ్యే వ్రాతపూర్వక వ్యక్తిగత ఒప్పందంలో అంగీకరించకపోతే. ఒక వ్యక్తి ఒప్పందం ముగిసిన సందర్భంలో సంబంధిత ఒప్పందం యొక్క నిబంధనలు మరియు షరతులు మాత్రమే వర్తిస్తాయి. కస్టమర్ ద్వారా NXP సెమీకండక్టర్స్ ఉత్పత్తుల కొనుగోలుకు సంబంధించి కస్టమర్ యొక్క సాధారణ నిబంధనలు మరియు షరతులను వర్తింపజేయడానికి NXP సెమీకండక్టర్స్ దీని ద్వారా స్పష్టంగా అభ్యంతరం వ్యక్తం చేస్తాయి.
ఎగుమతి నియంత్రణ - ఈ పత్రం అలాగే ఇక్కడ వివరించిన అంశం(లు) ఎగుమతి నియంత్రణ నిబంధనలకు లోబడి ఉండవచ్చు. ఎగుమతి చేయడానికి సమర్థ అధికారుల నుండి ముందస్తు అనుమతి అవసరం కావచ్చు.
నాన్ ఆటోమోటివ్ క్వాలిఫైడ్ ఉత్పత్తులలో ఉపయోగించడానికి అనుకూలత — ఈ నిర్దిష్ట NXP సెమీకండక్టర్స్ అని ఈ పత్రం స్పష్టంగా పేర్కొనకపోతే
ఉత్పత్తి ఆటోమోటివ్ క్వాలిఫైడ్, ఉత్పత్తి ఆటోమోటివ్ వినియోగానికి తగినది కాదు. ఇది ఆటోమోటివ్ టెస్టింగ్ లేదా అప్లికేషన్ అవసరాలకు అనుగుణంగా అర్హత పొందలేదు లేదా పరీక్షించబడలేదు. NXP సెమీకండక్టర్స్ ఆటోమోటివ్ పరికరాలు లేదా అప్లికేషన్లలో నాన్-ఆటోమోటివ్ క్వాలిఫైడ్ ఉత్పత్తులను చేర్చడం మరియు/లేదా ఉపయోగించడం కోసం ఎటువంటి బాధ్యతను అంగీకరించదు.
కస్టమర్ డిజైన్-ఇన్ మరియు ఉపయోగం కోసం ఉత్పత్తిని ఉపయోగించే సందర్భంలో
ఆటోమోటివ్ స్పెసిఫికేషన్లు మరియు ప్రమాణాలకు ఆటోమోటివ్ అప్లికేషన్లు,
వినియోగదారుడు (ఎ) అటువంటి ఆటోమోటివ్ అప్లికేషన్లు, ఉపయోగం మరియు స్పెసిఫికేషన్ల కోసం ఉత్పత్తి యొక్క NXP సెమీకండక్టర్ల వారంటీ లేకుండా ఉత్పత్తిని ఉపయోగించాలి మరియు (బి) వినియోగదారుడు NXP సెమీకండక్టర్స్ స్పెసిఫికేషన్లకు మించి ఆటోమోటివ్ అప్లికేషన్ల కోసం ఉత్పత్తిని ఉపయోగించినప్పుడు, అటువంటి ఉపయోగం పూర్తిగా కస్టమర్ యొక్క స్వంత పూచీతో ఉంటుంది మరియు (సి) కస్టమర్ డిజైన్ మరియు ఉత్పత్తి యొక్క ఉపయోగం కారణంగా ఏర్పడే ఏదైనా బాధ్యత, నష్టాలు లేదా విఫలమైన ఉత్పత్తి క్లెయిమ్ల కోసం కస్టమర్ పూర్తిగా NXP సెమీకండక్టర్లకు నష్టపరిహారం చెల్లిస్తారు. NXP సెమీకండక్టర్స్ స్టాండర్డ్ వారంటీ మరియు NXP సెమీకండక్టర్స్ ప్రోడక్ట్ స్పెసిఫికేషన్లకు మించిన ఆటోమోటివ్ అప్లికేషన్ల కోసం.
అనువాదాలు — ఆ పత్రంలోని చట్టపరమైన సమాచారంతో సహా పత్రం యొక్క ఆంగ్లేతర (అనువాదం) వెర్షన్ కేవలం సూచన కోసం మాత్రమే. అనువదించబడిన మరియు ఆంగ్ల సంస్కరణల మధ్య ఏదైనా వ్యత్యాసం ఉన్నట్లయితే ఆంగ్ల సంస్కరణ ప్రబలంగా ఉంటుంది.
భద్రత — అన్ని NXP ఉత్పత్తులు గుర్తించబడని దుర్బలత్వాలకు లోబడి ఉండవచ్చని లేదా తెలిసిన పరిమితులతో ఏర్పాటు చేయబడిన భద్రతా ప్రమాణాలు లేదా స్పెసిఫికేషన్లకు మద్దతు ఇవ్వవచ్చని కస్టమర్ అర్థం చేసుకున్నారు. కస్టమర్ యొక్క అప్లికేషన్లు మరియు ఉత్పత్తులపై ఈ దుర్బలత్వాల ప్రభావాన్ని తగ్గించడానికి వారి జీవితచక్రాల పొడవునా దాని అప్లికేషన్లు మరియు ఉత్పత్తుల రూపకల్పన మరియు ఆపరేషన్కు కస్టమర్ బాధ్యత వహిస్తాడు. కస్టమర్ యొక్క బాధ్యత కస్టమర్ యొక్క అప్లికేషన్లలో ఉపయోగించడం కోసం NXP ఉత్పత్తుల ద్వారా మద్దతు ఇచ్చే ఇతర ఓపెన్ మరియు/లేదా యాజమాన్య సాంకేతికతలకు కూడా విస్తరించింది. ఏదైనా దుర్బలత్వానికి NXP ఎటువంటి బాధ్యతను అంగీకరించదు. కస్టమర్ NXP నుండి సెక్యూరిటీ అప్డేట్లను క్రమం తప్పకుండా తనిఖీ చేయాలి మరియు తగిన విధంగా అనుసరించాలి.
కస్టమర్ ఉద్దేశించిన అప్లికేషన్ యొక్క నియమాలు, నిబంధనలు మరియు ప్రమాణాలను ఉత్తమంగా కలుసుకునే భద్రతా లక్షణాలతో ఉత్పత్తులను ఎంచుకుంటారు మరియు దాని ఉత్పత్తులకు సంబంధించి అంతిమ రూపకల్పన నిర్ణయాలు తీసుకుంటారు మరియు దాని ఉత్పత్తులకు సంబంధించిన అన్ని చట్టపరమైన, నియంత్రణ మరియు భద్రతా సంబంధిత అవసరాలకు అనుగుణంగా పూర్తి బాధ్యత వహిస్తారు. NXP ద్వారా అందించబడే ఏదైనా సమాచారం లేదా మద్దతు. NXP ప్రోడక్ట్ సెక్యూరిటీ ఇన్సిడెంట్ రెస్పాన్స్ టీమ్ (PSIRT)ని కలిగి ఉంది (PSIRT@nxp.comలో చేరుకోవచ్చు) ఇది NXP ఉత్పత్తుల యొక్క భద్రతా లోపాలపై పరిశోధన, రిపోర్టింగ్ మరియు పరిష్కార విడుదలను నిర్వహిస్తుంది.
NXP BV — NXP BV ఒక ఆపరేటింగ్ కంపెనీ కాదు మరియు ఇది ఉత్పత్తులను పంపిణీ చేయదు లేదా విక్రయించదు.
పత్రాలు / వనరులు
![]() |
NXP AN14120 డీబగ్గింగ్ కార్టెక్స్-M సాఫ్ట్వేర్ [pdf] యూజర్ గైడ్ i.MX 8ULP, i.MX 93, AN14120 డీబగ్గింగ్ Cortex-M సాఫ్ట్వేర్, AN14120, డీబగ్గింగ్ Cortex-M సాఫ్ట్వేర్, కార్టెక్స్-M సాఫ్ట్వేర్, సాఫ్ట్వేర్ |