NXP AN14120 ڈیبگنگ Cortex-M سافٹ ویئر صارف گائیڈ
تعارف
یہ دستاویز مائیکروسافٹ ویژول اسٹوڈیو کوڈ کا استعمال کرتے ہوئے i.MX 8M فیملی، i.MX 8ULP، اور i.MX 93 Cortex-M پروسیسر کے لیے ایک ایپلیکیشن کو کراس کمپائل کرنے، تعینات کرنے اور ڈیبگ کرنے کی وضاحت کرتی ہے۔
سافٹ ویئر ماحول۔
حل لینکس اور ونڈوز ہوسٹ دونوں پر لاگو کیا جا سکتا ہے. اس ایپلیکیشن نوٹ کے لیے، ایک Windows PC فرض کیا گیا ہے، لیکن لازمی نہیں ہے۔
لینکس بی ایس پی ریلیز 6.1.22_2.0.0 اس ایپلیکیشن نوٹ میں استعمال کیا گیا ہے۔ درج ذیل پہلے سے تعمیر شدہ تصاویر استعمال کی جاتی ہیں:
- i.MX 8M Mini: imx-image-full-imx8mmevk.wic
- i.MX 8M نینو: 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) دیکھیں۔
اگر ونڈوز پی سی استعمال کیا جاتا ہے، تو Win32 ڈسک امیجر کا استعمال کرتے ہوئے ایس ڈی کارڈ پر پری بلڈ امیج لکھیں۔https:// win32diskimager.org/) یا بالینا ایچر (https://etcher.balena.io/). اگر اوبنٹو پی سی استعمال کیا جاتا ہے تو نیچے دی گئی کمانڈ کا استعمال کرتے ہوئے ایس ڈی کارڈ پر پری بلڈ امیج لکھیں۔
$ sudo dd if=.wic of=/dev/sd bs=1M status=progress conv=fsync
نوٹ: اپنا کارڈ ریڈر پارٹیشن چیک کریں اور ایس ڈی کو اپنے متعلقہ پارٹیشن سے بدل دیں۔ 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
- مائیکرو SD کارڈ: موجودہ تجربے کے لیے SanDisk Ultra 32-GB مائیکرو SDHC I کلاس 10 استعمال کیا جاتا ہے۔
- ڈیبگ پورٹ کے لیے مائکرو USB (i.MX 8M) یا Type-C (i.MX 93) کیبل۔
- SEGGER J-Link ڈیبگ پروب۔
شرطیں
ڈیبگ کرنا شروع کرنے سے پہلے، مناسب طریقے سے ترتیب شدہ ڈیبگ ماحول کے لیے کئی شرائط کو پورا کرنا ضروری ہے۔
پی سی ہوسٹ - i.MX بورڈ ڈیبگ کنکشن
ہارڈویئر ڈیبگ کنکشن قائم کرنے کے لیے، درج ذیل اقدامات کریں:
- USB کیبل کا استعمال کرتے ہوئے DEBUG USB-UART اور PC USB کنیکٹر کے ذریعے i.MX بورڈ کو میزبان PC سے مربوط کریں۔ ونڈوز OS سیریل ڈیوائسز کو خود بخود ڈھونڈ لیتا ہے۔
- ڈیوائس مینیجر میں، پورٹس (COM اور LPT) کے تحت دو یا چار منسلک USB سیریل پورٹ (COM) تلاش کریں۔ بندرگاہوں میں سے ایک Cortex-A کور کے ذریعے تیار کردہ ڈیبگ پیغامات کے لیے استعمال ہوتی ہے، اور دوسری Cortex-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 بورڈ J سے کنیکٹرTAG انٹرفیس اگر i.MX بورڈ JTAG انٹرفیس میں کوئی گائیڈڈ کنیکٹر نہیں ہے، واقفیت کا تعین سرخ تار کو پن 1 سے سیدھ میں کر کے کیا جاتا ہے، جیسا کہ شکل 1 میں ہے۔
VS کوڈ کی ترتیب
VS کوڈ کو ڈاؤن لوڈ اور کنفیگر کرنے کے لیے درج ذیل اقدامات کریں:
- آفیشل سے Microsoft Visual Studio Code کا تازہ ترین ورژن ڈاؤن لوڈ اور انسٹال کریں۔ webسائٹ Windows کو میزبان OS کے طور پر استعمال کرنے کی صورت میں، Visual Studio Code کے مرکزی صفحہ سے "Windows کے لیے ڈاؤن لوڈ کریں" بٹن کا انتخاب کریں۔
- ویژول اسٹوڈیو کوڈ انسٹال کرنے کے بعد، اسے کھولیں اور "ایکسٹینشنز" ٹیب کو منتخب کریں یا Ctrl + Shift + X کا مجموعہ دبائیں۔
- وقف شدہ سرچ بار میں، VS کوڈ کے لیے MCUXpresso ٹائپ کریں اور ایکسٹینشن انسٹال کریں۔ VS کوڈ ونڈو کے بائیں جانب ایک نیا ٹیب ظاہر ہوتا ہے۔
MCUXpresso ایکسٹینشن کنفیگریشن
MCUXpresso ایکسٹینشن کو کنفیگر کرنے کے لیے، درج ذیل اقدامات کریں:
- بائیں طرف والے بار سے MCUXpresso ایکسٹینشن کے لیے وقف کردہ ٹیب پر کلک کریں۔ کوئک اسٹارٹ پینل سے، کلک کریں۔
MCUXpresso انسٹالر کھولیں اور انسٹالر کو ڈاؤن لوڈ کرنے کی اجازت دیں۔ - انسٹالر ونڈو مختصر وقت میں ظاہر ہوتا ہے۔ MCUXpresso SDK ڈویلپر پر کلک کریں اور SEGGER JLink پر پھر انسٹال بٹن پر کلک کریں۔ انسٹالر آرکائیوز، ٹول چین، ازگر سپورٹ، گٹ، اور ڈیبگ پروب کے لیے ضروری سافٹ ویئر انسٹال کرتا ہے۔
تمام پیکجز کے انسٹال ہونے کے بعد، یقینی بنائیں کہ J-Link پروب میزبان پی سی سے منسلک ہے۔ پھر، چیک کریں کہ آیا ڈیبگ پروبس کے تحت MCUXpresso ایکسٹینشن میں بھی پروب دستیاب ہے viewجیسا کہ تصویر میں دکھایا گیا ہے۔
MCUXpresso SDK درآمد کریں۔
آپ کس بورڈ کو چلا رہے ہیں اس پر منحصر ہے، NXP آفیشل سے مخصوص SDK بنائیں اور ڈاؤن لوڈ کریں۔ webسائٹ اس درخواست کے نوٹ کے لیے، درج ذیل SDKs کا تجربہ کیا گیا ہے:
- 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 کے لیے، تصویر 7 دیکھیں:
- VS کوڈ میں MCUXpresso SDK ذخیرہ درآمد کرنے کے لیے، درج ذیل اقدامات کریں:
- SDK ڈاؤن لوڈ کرنے کے بعد، بصری اسٹوڈیو کوڈ کھولیں۔ بائیں جانب سے MCUXpresso ٹیب پر کلک کریں، اور انسٹال شدہ ذخیروں اور پروجیکٹس کو پھیلائیں views.
- امپورٹ ریپوزٹری پر کلک کریں اور لوکل آرکائیو کو منتخب کریں۔ آرکائیو فیلڈ کے مطابق براؤز… پر کلک کریں اور حال ہی میں ڈاؤن لوڈ کردہ SDK آرکائیو کو منتخب کریں۔
- وہ راستہ منتخب کریں جہاں آرکائیو کو ان زپ کیا گیا ہے اور لوکیشن فیلڈ کو پُر کریں۔
- نام کی فیلڈ کو بطور ڈیفالٹ چھوڑا جا سکتا ہے، یا آپ حسب ضرورت نام منتخب کر سکتے ہیں۔
- اپنی ضروریات کی بنیاد پر گٹ ریپوزٹری بنائیں کو چیک یا ان چیک کریں اور پھر امپورٹ پر کلک کریں۔
ایک سابق درآمد کریں۔ampدرخواست
جب SDK درآمد کیا جاتا ہے، تو یہ کے نیچے ظاہر ہوتا ہے۔ انسٹال شدہ ذخیرے view.
ایک سابق درآمد کرنے کے لئےampSDK ریپوزٹری سے درخواست کے لیے، درج ذیل اقدامات انجام دیں:
- امپورٹ ایکس پر کلک کریں۔ampپروجیکٹس سے ریپوزٹری بٹن سے view.
- ڈراپ ڈاؤن فہرست سے ایک ذخیرہ منتخب کریں۔
- ڈراپ ڈاؤن فہرست سے ٹول چین کا انتخاب کریں۔
- ٹارگٹ بورڈ کا انتخاب کریں۔
- demo_apps/hello_world ex کا انتخاب کریں۔ampایک ٹیمپلیٹ کی فہرست منتخب کریں۔
- پروجیکٹ کے لیے ایک نام منتخب کریں (پہلے سے طے شدہ استعمال کیا جا سکتا ہے) اور پروجیکٹ لوکیشن کا راستہ سیٹ کریں۔
- بنائیں پر کلک کریں۔
- صرف i.MX 8M فیملی کے لیے درج ذیل اقدامات کریں۔ پروجیکٹس کے تحت viewدرآمد شدہ منصوبے کو وسعت دیں۔ سیٹنگز سیکشن میں جائیں اور mcuxpresso-tools.json پر کلک کریں۔ file.
a. "انٹرفیس" شامل کریں: "JTAG""ڈیبگ"> "سیگر" کے تحت
b. i.MX 8MM کے لیے، درج ذیل کنفیگریشن شامل کریں: "ڈیوائس": "MIMX8MM6_M4" کے تحت "debug"> "segger"
c. i.MX 8MN کے لیے، درج ذیل کنفیگریشن شامل کریں: "ڈیوائس": "MIMX8MN6_M7" "debug" > "segger" کے تحت
d. i.MX 8MP کے لیے، درج ذیل کنفیگریشن شامل کریں:
"ڈیوائس": "ڈیبگ" > "سیگر" کے تحت "MIMX8ML8_M7"
درج ذیل کوڈ ایک سابقہ کو دکھاتا ہے۔ampmcuxpresso-tools.json کی مذکورہ بالا ترامیم کے بعد i.MX8 MP "ڈیبگ" سیکشن کے لیے le
سابق درآمد کرنے کے بعدample درخواست کامیابی کے ساتھ، اسے پروجیکٹس کے تحت نظر آنا چاہیے۔ view. اس کے علاوہ، منصوبے کا ذریعہ files ایکسپلورر (Ctrl + Shift + E) ٹیب میں نظر آتے ہیں۔
درخواست کی تعمیر
ایپلیکیشن بنانے کے لیے، بائیں جانب سے Build Selected آئیکن کو دبائیں، جیسا کہ شکل 9 میں دکھایا گیا ہے۔
ڈیبگر کے لیے بورڈ تیار کریں۔
جے استعمال کرنے کے لیےTAG Cortex-M ایپلیکیشنز کو ڈیبگ کرنے کے لیے، پلیٹ فارم کے لحاظ سے چند شرائط ہیں:
- i.MX 93 کے لیے
i.MX 93 کو سپورٹ کرنے کے لیے، SEGGER J-Link کا پیچ انسٹال ہونا چاہیے: SDK_MX93_3RDPARTY_PATCH.zip۔
نوٹ: اس پیچ کو استعمال کرنا ضروری ہے، چاہے یہ ماضی میں انسٹال ہو۔ ڈاؤن لوڈ مکمل ہونے کے بعد، آرکائیو کو ان زپ کریں اور ڈیوائسز ڈائرکٹری اور JLinkDevices.xml کو کاپی کریں۔ file C:\Program پر Files\SEGGER\JLink۔ اگر لینکس پی سی استعمال کیا جاتا ہے، تو ہدف کا راستہ /opt/SEGGER/JLink ہے۔- ڈیبگنگ Cortex-M33 جبکہ صرف Cortex-M33 چل رہا ہے۔
اس موڈ میں، بوٹ موڈ سوئچ SW1301[3:0] کو [1010] پر سیٹ ہونا چاہیے۔ پھر ڈیبگ بٹن کا استعمال کرتے ہوئے M33 امیج کو براہ راست لوڈ اور ڈیبگ کیا جا سکتا ہے۔ مزید تفصیلات کے لیے، سیکشن 5 دیکھیں۔
اگر Cortex-A55 پر چلنے والے لینکس کو Cortex-M33 کے متوازی طور پر درکار ہے، تو Cortex-M33 کو ڈیبگ کرنے کے دو طریقے ہیں: - ڈیبگنگ Cortex-M33 جبکہ Cortex-A55 U-Bot میں ہے۔
سب سے پہلے، sdk20-app.bin کو کاپی کریں۔ file (armgcc/debug ڈائریکٹری میں واقع) SD کارڈ کے بوٹ پارٹیشن میں سیکشن 3 میں تیار کیا گیا ہے۔ بورڈ کو بوٹ کریں اور اسے U-Boot میں روکیں۔ جب بوٹ سوئچ کو Cortex-A کو بوٹ کرنے کے لیے کنفیگر کیا جاتا ہے، بوٹ کی ترتیب Cortex-M کو شروع نہیں کرتی ہے۔ اسے نیچے دی گئی کمانڈز کا استعمال کرتے ہوئے دستی طور پر شروع کرنا ہوگا۔ اگر Cortex-M شروع نہیں ہوتا ہے، JLink کور سے جڑنے میں ناکام ہو جاتا ہے۔
- نوٹ: اگر سسٹم کو عام طور پر ڈیبگ نہیں کیا جا سکتا تو VS کے لیے MCUXpresso میں پروجیکٹ پر دائیں کلک کرنے کی کوشش کریں۔
کوڈ کریں اور "پروجیکٹ کو ڈیبگ کرنے کے لیے منسلک کریں" کو منتخب کریں۔ - ڈیبگنگ Cortex-M33 جبکہ Cortex-A55 لینکس میں ہے۔
UART5 کو غیر فعال کرنے کے لیے Kernel DTS میں ترمیم کی جانی چاہیے، جو J کے طور پر وہی پن استعمال کرتا ہے۔TAG انٹرفیس
اگر ونڈوز پی سی استعمال کیا جاتا ہے تو، سب سے آسان ہے WSL + Ubuntu 22.04 LTS انسٹال کرنا، اور پھر DTS کو کراس کمپائل کرنا۔
WSL + Ubuntu 22.04 LTS انسٹالیشن کے بعد، WSL پر چلنے والی Ubuntu مشین کو کھولیں اور مطلوبہ پیکجز انسٹال کریں:
اب، کرنل کے ذرائع کو ڈاؤن لوڈ کیا جا سکتا ہے:
UART5 پیریفرل کو غیر فعال کرنے کے لیے، linux-imx/arch/arm5/boot/ dts/freescale/imx64-93×11-evk.dts میں lpuart11 نوڈ تلاش کریں۔ file اور اوکے اسٹیٹس کو ڈس ایبلڈ سے تبدیل کریں:
ڈی ٹی ایس کو دوبارہ مرتب کریں:
نئے بنائے گئے linux-imx/arch/arm64/boot/dts/freescale/imx93 11×11-evk.dtb کو کاپی کریں file SD کارڈ کے بوٹ پارٹیشن پر۔ hello_world.elf کو کاپی کریں۔ file (armgcc/debug ڈائریکٹری میں واقع) SD کارڈ کے بوٹ پارٹیشن میں سیکشن 3 میں تیار کیا گیا ہے۔ لینکس میں بورڈ کو بوٹ کریں۔ چونکہ بوٹ ROM Cortex-A کے بوٹ ہونے پر Cortex-M کو ختم نہیں کرتا ہے، 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۔
ڈاؤن لوڈ مکمل ہونے کے بعد، آرکائیو کو ان زپ کریں اور ڈیوائسز ڈائرکٹری اور کاپی کریں۔
JLinkDevices.xml file JLink ڈائریکٹری سے C:\Program تک Files\SEGGER\JLink۔ اگر لینکس پی سی
استعمال کیا جاتا ہے، ہدف کا راستہ /opt/SEGGER/JLink ہے۔- Cortex-M کو ڈیبگ کرنا جبکہ Cortex-A U-Bot میں ہے۔
اس صورت میں، کچھ خاص نہیں کرنا چاہئے. U Boot میں بورڈ کو بوٹ کریں اور سیکشن 5 پر جائیں۔ - Cortex-M کو ڈیبگ کرنا جبکہ Cortex-A لینکس میں ہے۔
Cortex-M ایپلیکیشن کو Cortex-A پر چلنے والے لینکس کے متوازی طور پر چلانے اور ڈیبگ کرنے کے لیے، مخصوص گھڑی کو Cortex-M کے لیے تفویض اور مخصوص کیا جانا چاہیے۔ یہ U-Bot کے اندر سے کیا جاتا ہے۔ U-Boot میں بورڈ کو روکیں اور درج ذیل کمانڈز کو چلائیں:
- Cortex-M کو ڈیبگ کرنا جبکہ Cortex-A U-Bot میں ہے۔
- i.MX 8ULP کے لیے
i.MX 8ULP کو سپورٹ کرنے کے لیے، SEGGER J-Link کا پیچ انسٹال ہونا چاہیے: SDK_MX8ULP_3RDPARTY_PATCH.zip۔
نوٹ: اس پیچ کو استعمال کرنا چاہیے چاہے یہ ماضی میں انسٹال ہو۔
ڈاؤن لوڈ کرنے کے بعد، آرکائیو کو ان زپ کریں اور ڈیوائسز ڈائرکٹری اور JLinkDevices.xml کو کاپی کریں۔ file C:\Program پر Files\SEGGER\JLink۔ اگر لینکس پی سی استعمال کیا جاتا ہے، تو ہدف کا راستہ /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-Clause لائسنس ہے:
کاپی رائٹ 2023 NXP کی دوبارہ تقسیم اور ماخذ اور بائنری شکلوں میں ترمیم کے ساتھ یا اس کے بغیر استعمال کی اجازت ہے بشرطیکہ درج ذیل شرائط پوری ہوں:
- سورس کوڈ کی دوبارہ تقسیم میں اوپر کاپی رائٹ نوٹس، شرائط کی یہ فہرست اور درج ذیل تردید کو برقرار رکھنا چاہیے۔
- بائنری شکل میں دوبارہ تقسیم کے لیے مندرجہ بالا کاپی رائٹ نوٹس کو دوبارہ پیش کرنا چاہیے، شرائط کی یہ فہرست اور دستاویزات اور/یا دیگر مواد میں درج ذیل تردید کو تقسیم کے ساتھ فراہم کیا جانا چاہیے۔
- نہ کسی کاپی رائٹ ہولڈر کا نام ہے اور نہ ہی اس کے معاونین کے ناموں کو کسی خاص پیشگی تحریری اجازت کے بغیر اس سافٹ ویئر سے حاصل شدہ مصنوعات کی توثیق کرنے یا ان کی تشہیر کے لئے استعمال کیا جاسکتا ہے۔
یہ سافٹ ویئر کاپی رائٹ ہولڈرز اور تعاون کنندگان کی طرف سے فراہم کیا گیا ہے "جیسا ہے" اور کوئی بھی واضح یا مضمر وارنٹی، بشمول، لیکن ان تک محدود نہیں، مضمر ذمہ داری کی ضمانت کی ضمانت دعویٰ کیا گیا۔ کسی بھی صورت میں کاپی رائٹ ہولڈر یا شراکت دار کسی بھی براہ راست، بالواسطہ، حادثاتی، خصوصی، مثالی، یا نتیجے میں ہونے والے نقصانات کے لیے ذمہ دار نہیں ہوں گے استعمال، ڈیٹا، یا منافع کا نقصان؛ یا کاروباری رکاوٹ) تاہم کسی بھی طرح کی ذمہ داری کی وجہ سے اور کسی بھی نظریہ پر، چاہے معاہدے میں، سخت ذمہ داری، یا ٹارٹ (بشمول لاپرواہی یا دوسری صورت میں) کسی بھی صورت میں کسی بھی صورت میں پیدا ہونا اس طرح کے نقصان کے امکان کے
قانونی معلومات
تعریفیں
مسودہ - دستاویز پر ایک مسودہ کی حیثیت اس بات کی نشاندہی کرتی ہے کہ مواد ساکن ہے۔
اندرونی دوبارہ کے تحتview اور رسمی منظوری سے مشروط، جس کے نتیجے میں ترمیم یا اضافہ ہو سکتا ہے۔ NXP سیمی کنڈکٹرز کسی دستاویز کے مسودہ ورژن میں شامل معلومات کی درستگی یا مکمل ہونے کے بارے میں کوئی نمائندگی یا وارنٹی نہیں دیتے ہیں اور ایسی معلومات کے استعمال کے نتائج کے لیے ان پر کوئی ذمہ داری نہیں ہوگی۔
دستبرداری
محدود وارنٹی اور ذمہ داری - اس دستاویز میں موجود معلومات کو درست اور قابل اعتماد سمجھا جاتا ہے۔ تاہم، NXP سیمی کنڈکٹرز ایسی معلومات کی درستگی یا مکمل ہونے کے بارے میں اظہار یا مضمر، کوئی نمائندگی یا وارنٹی نہیں دیتے ہیں اور ایسی معلومات کے استعمال کے نتائج کے لیے ان پر کوئی ذمہ داری نہیں ہوگی۔ NXP Semiconductors اس دستاویز میں موجود مواد کی کوئی ذمہ داری نہیں لیتا ہے اگر NXP Semiconductors سے باہر کسی معلوماتی ذریعہ سے فراہم کیا جائے۔ کسی بھی صورت میں NXP سیمی کنڈکٹرز کسی بھی بالواسطہ، حادثاتی، تعزیری، خصوصی یا نتیجہ خیز نقصانات کے لیے ذمہ دار نہیں ہوں گے (بشمول – بغیر کسی حد کے – کھوئے ہوئے منافع، کھوئی ہوئی بچت، کاروبار میں رکاوٹ، کسی بھی مصنوعات کو ہٹانے یا تبدیل کرنے سے متعلق اخراجات یا دوبارہ کام کے چارجز) چاہے یا نہیں اس طرح کے نقصانات ٹارٹ (بشمول غفلت)، وارنٹی، معاہدے کی خلاف ورزی یا کسی دوسرے قانونی نظریہ پر مبنی ہیں۔
کسی بھی نقصان کے باوجود جو گاہک کو کسی بھی وجہ سے اٹھانا پڑ سکتا ہے، NXP سیمی کنڈکٹرز کی یہاں بیان کردہ مصنوعات کے لیے صارف کے لیے مجموعی اور مجموعی ذمہ داری NXP سیمی کنڈکٹرز کی تجارتی فروخت کی شرائط و ضوابط کے مطابق محدود ہوگی۔
تبدیلیاں کرنے کا حق — NXP سیمی کنڈکٹرز اس دستاویز میں شائع کردہ معلومات میں تبدیلیاں کرنے کا حق محفوظ رکھتے ہیں، بشمول بغیر کسی حد کی وضاحتیں اور مصنوعات کی تفصیل، کسی بھی وقت اور بغیر اطلاع کے۔ یہ دستاویز یہاں کی اشاعت سے پہلے فراہم کی گئی تمام معلومات کی جگہ لے لیتی ہے اور اس کی جگہ لے لیتی ہے۔
استعمال کے لیے موزوں — NXP سیمی کنڈکٹرز پروڈکٹس کو لائف سپورٹ، لائف کریٹیکل یا سیفٹی-کریٹیکل سسٹمز یا آلات میں استعمال کے لیے ڈیزائن، مجاز یا اس کی ضمانت نہیں دی گئی ہے، اور نہ ہی ایسی ایپلی کیشنز میں جہاں NXP سیمی کنڈکٹرز پروڈکٹ کی ناکامی یا خرابی کے نتیجے میں ذاتی طور پر توقع کی جا سکتی ہے۔ چوٹ، موت یا شدید املاک یا ماحولیاتی نقصان۔ NXP سیمی کنڈکٹرز اور اس کے سپلائرز ایسے آلات یا ایپلی کیشنز میں NXP سیمی کنڈکٹرز کی مصنوعات کو شامل کرنے اور/یا استعمال کے لیے کوئی ذمہ داری قبول نہیں کرتے ہیں اور اس لیے اس طرح کی شمولیت اور/یا استعمال صارف کے اپنے خطرے میں ہے۔
ایپلی کیشنز - درخواستیں جو یہاں ان میں سے کسی کے لیے بیان کی گئی ہیں۔
مصنوعات صرف مثالی مقاصد کے لیے ہیں۔ NXP سیمی کنڈکٹرز کوئی نمائندگی یا ضمانت نہیں دیتے ہیں کہ ایسی ایپلی کیشنز بغیر کسی جانچ یا ترمیم کے مخصوص استعمال کے لیے موزوں ہوں گی۔
صارفین ان کے ڈیزائن اور آپریشن کے ذمہ دار ہیں۔
NXP Semiconductors پروڈکٹس استعمال کرنے والے ایپلیکیشنز اور پروڈکٹس، اور NXP Semiconductors ایپلی کیشنز یا کسٹمر پروڈکٹ ڈیزائن کے ساتھ کسی بھی مدد کے لیے کوئی ذمہ داری قبول نہیں کرتے ہیں۔ یہ تعین کرنا گاہک کی واحد ذمہ داری ہے کہ آیا NXP Semiconductors پروڈکٹ گاہک کی ایپلیکیشنز اور منصوبہ بند مصنوعات کے ساتھ ساتھ گاہک کے تیسرے فریق گاہک (صارفین) کے منصوبہ بند اطلاق اور استعمال کے لیے موزوں اور موزوں ہے۔ صارفین کو اپنی ایپلی کیشنز اور مصنوعات سے وابستہ خطرات کو کم کرنے کے لیے مناسب ڈیزائن اور آپریٹنگ تحفظات فراہم کرنے چاہییں۔
NXP سیمی کنڈکٹرز کسی بھی ڈیفالٹ، نقصان، لاگت یا مسئلے سے متعلق کوئی ذمہ داری قبول نہیں کرتے ہیں جو گاہک کی ایپلی کیشنز یا مصنوعات میں کسی کمزوری یا ڈیفالٹ پر مبنی ہے، یا صارف کے تیسرے فریق گاہک (صارفین) کی طرف سے درخواست یا استعمال پر مبنی ہے۔ گاہک کی ذمہ داری ہے کہ وہ NXP Semiconductors پروڈکٹس کا استعمال کرتے ہوئے گاہک کی ایپلی کیشنز اور پروڈکٹس کے لیے تمام ضروری ٹیسٹنگ کرے تاکہ ایپلی کیشنز اور پروڈکٹس یا ایپلیکیشن کے ڈیفالٹ سے بچا جا سکے یا صارف کے تھرڈ پارٹی کے ذریعے استعمال کیا جا سکے۔
تجارتی فروخت کی شرائط و ضوابط - NXP سیمی کنڈکٹرز پروڈکٹس کو تجارتی فروخت کے عمومی شرائط و ضوابط کے تابع فروخت کیا جاتا ہے، جیسا کہ https://www.nxp.com/pro پر شائع ہوا ہے۔file/شرائط، جب تک کہ کسی درست تحریری انفرادی معاہدے میں متفق نہ ہوں۔ انفرادی معاہدے کی صورت میں صرف متعلقہ معاہدے کی شرائط و ضوابط لاگو ہوں گے۔ NXP Semiconductors اس طرح گاہک کے ذریعے NXP Semiconductors پروڈکٹس کی خریداری کے سلسلے میں گاہک کی عمومی شرائط و ضوابط کو لاگو کرنے پر واضح طور پر اعتراض کرتے ہیں۔
ایکسپورٹ کنٹرول — اس دستاویز کے ساتھ ساتھ یہاں بیان کردہ آئٹمز برآمد کنٹرول کے ضوابط کے تابع ہو سکتے ہیں۔ ایکسپورٹ کے لیے مجاز حکام سے پیشگی اجازت درکار ہو سکتی ہے۔
غیر آٹوموٹو اہل مصنوعات میں استعمال کے لیے موزوں — جب تک کہ یہ دستاویز واضح طور پر یہ نہ کہے کہ یہ مخصوص NXP سیمی کنڈکٹرز
پروڈکٹ آٹوموٹو کوالیفائیڈ ہے، پروڈکٹ آٹوموٹو کے استعمال کے لیے موزوں نہیں ہے۔ یہ آٹوموٹو ٹیسٹنگ یا درخواست کی ضروریات کے مطابق نہ تو اہل ہے اور نہ ہی اس کا تجربہ کیا گیا ہے۔ NXP سیمی کنڈکٹرز آٹوموٹیو آلات یا ایپلی کیشنز میں غیر آٹوموٹیو اہل مصنوعات کو شامل کرنے اور/یا استعمال کے لیے کوئی ذمہ داری قبول نہیں کرتے ہیں۔
اس صورت میں جب صارف پروڈکٹ کو ڈیزائن ان اور استعمال میں استعمال کرتا ہے۔
آٹوموٹو ایپلی کیشنز آٹوموٹو وضاحتیں اور معیارات،
گاہک (a) ایسی آٹوموٹو ایپلی کیشنز، استعمال اور وضاحتیں، اور (ب) جب بھی گاہک این ایکس پی سیمی کنڈکٹرز کی تصریحات سے ہٹ کر آٹوموٹیو ایپلی کیشنز کے لیے پروڈکٹ کا استعمال کرتا ہے تو اس طرح کا استعمال مکمل طور پر گاہک کے اپنے خطرے پر ہوگا، اور (c) گاہک NXP سیمی کنڈکٹرز کو کسی بھی ذمہ داری، نقصانات یا ناکام پروڈکٹ کے دعووں کے لیے مکمل طور پر معاوضہ دیتا ہے جو کسٹمر کے ڈیزائن اور استعمال کے نتیجے میں ہوتا ہے۔ این ایکس پی سیمی کنڈکٹرز کی معیاری وارنٹی اور این ایکس پی سیمی کنڈکٹرز کی مصنوعات کی وضاحتوں سے باہر آٹوموٹو ایپلی کیشنز کے لیے۔
ترجمے - کسی دستاویز کا ایک غیر انگریزی (ترجمہ شدہ) ورژن، بشمول اس دستاویز میں قانونی معلومات، صرف حوالہ کے لیے ہے۔ ترجمہ شدہ اور انگریزی ورژن کے درمیان کسی بھی تضاد کی صورت میں انگریزی ورژن غالب ہوگا۔
سیکورٹی — گاہک سمجھتا ہے کہ تمام NXP پروڈکٹس نامعلوم کمزوریوں کا شکار ہو سکتے ہیں یا معلوم حدود کے ساتھ قائم کردہ حفاظتی معیارات یا تصریحات کی حمایت کر سکتے ہیں۔ کسٹمر اپنی ایپلی کیشنز اور پروڈکٹس کے ڈیزائن اور آپریشن کے لیے اپنی پوری زندگی میں ذمہ دار ہے تاکہ گاہک کی ایپلی کیشنز اور مصنوعات پر ان کمزوریوں کے اثر کو کم کیا جا سکے۔ گاہک کی ذمہ داری دیگر کھلی اور/یا ملکیتی ٹیکنالوجیز تک بھی پھیلی ہوئی ہے جنہیں NXP پروڈکٹس کے ذریعے گاہک کی ایپلی کیشنز میں استعمال کرنے کے لیے تعاون حاصل ہے۔ NXP کسی بھی خطرے کے لیے کوئی ذمہ داری قبول نہیں کرتا ہے۔ کسٹمر کو NXP سے سیکیورٹی اپ ڈیٹس کو باقاعدگی سے چیک کرنا چاہیے اور مناسب طریقے سے فالو اپ کرنا چاہیے۔
گاہک حفاظتی خصوصیات کے ساتھ مصنوعات کا انتخاب کرے گا جو مطلوبہ ایپلی کیشن کے اصولوں، ضوابط اور معیارات کو بہترین طریقے سے پورا کرتے ہیں اور اپنی مصنوعات کے بارے میں حتمی ڈیزائن کے فیصلے کرتے ہیں اور اپنی مصنوعات سے متعلق تمام قانونی، ریگولیٹری، اور سیکورٹی سے متعلقہ تقاضوں کی تعمیل کے لیے مکمل طور پر ذمہ دار ہیں۔ کسی بھی معلومات یا مدد کی جو NXP کے ذریعہ فراہم کی جا سکتی ہے۔ NXP کے پاس پروڈکٹ سیکیورٹی انسیڈینٹ ریسپانس ٹیم (PSIRT) (PSIRT@nxp.com پر قابل رسائی) ہے جو NXP مصنوعات کی حفاظتی کمزوریوں کی تحقیقات، رپورٹنگ اور حل کے اجراء کا انتظام کرتی ہے۔
NXP BV — NXP BV کوئی آپریٹنگ کمپنی نہیں ہے اور یہ مصنوعات کی تقسیم یا فروخت نہیں کرتی ہے۔
دستاویزات / وسائل
![]() |
NXP AN14120 ڈیبگنگ Cortex-M سافٹ ویئر [پی ڈی ایف] یوزر گائیڈ i.MX 8ULP, i.MX 93, AN14120 Debugging Cortex-M Software, AN14120, Debugging Cortex-M سافٹ ویئر، Cortex-M سافٹ ویئر، سافٹ ویئر |