คู่มือผู้ใช้ซอฟต์แวร์แก้จุดบกพร่อง NXP AN14120 Cortex-M
การแนะนำ
เอกสารนี้อธิบายการคอมไพล์ข้าม การปรับใช้ และการดีบักแอปพลิเคชันสำหรับโปรเซสเซอร์ i.MX 8M Family, i.MX 8ULP และ i.MX 93 Cortex-M โดยใช้ Microsoft Visual Studio Code
สภาพแวดล้อมซอฟต์แวร์
โซลูชันนี้สามารถนำไปใช้ได้ทั้งบนโฮสต์ 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 Plus: imx-image-full-imx8mpevk.wic
- i.MX 8ULP: imx-image-เต็ม-imx8ulpevk.wic
- i.MX 93: imx-image-เต็ม-imx93evk.wic
สำหรับขั้นตอนโดยละเอียดเกี่ยวกับวิธีสร้างอิมเมจเหล่านี้ โปรดดูคู่มือผู้ใช้ i.MX Linux (เอกสาร IMXLUG) และคู่มือผู้ใช้ i.MX Yocto Project (เอกสาร IMXLXYOCTOUG)
หากใช้พีซี Windows ให้เขียนอิมเมจที่สร้างไว้ล่วงหน้าบนการ์ด SD โดยใช้ Win32 Disk Imager (https:// win32diskimager.org/) หรือบาเลน่า เอตเชอร์ (https://etcher.balena.io/). หากใช้ Ubuntu PC ให้เขียนอิมเมจที่สร้างไว้ล่วงหน้าบนการ์ด SD โดยใช้คำสั่งด้านล่าง:
$ sudo dd if=.wic ของ=/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
- NXP i.MX 93 EVK สำหรับ 11×11 มม. LPDDR4 – NXP i.MX 8ULP EVK LPDDR4
- การ์ด Micro SD: Micro SDHC I Class 32 ของ SanDisk Ultra 10-GB ใช้สำหรับการทดลองปัจจุบัน
- สายเคเบิล 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 ค้นหาอุปกรณ์อนุกรมโดยอัตโนมัติ
- ใน Device Manager ภายใต้ Ports (COM & LPT) ให้ค้นหา USB Serial Port (COM ) ที่เชื่อมต่ออยู่สองหรือสี่พอร์ต พอร์ตหนึ่งใช้สำหรับข้อความดีบักที่สร้างโดยคอร์ Cortex-A และอีกพอร์ตใช้สำหรับคอร์ Cortex-M ก่อนที่จะระบุพอร์ตที่ถูกต้องที่จำเป็น โปรดจำไว้ว่า:
- [i.MX 8MP, i.MX 8ULP, i.MX 93]: Device Manger มีพอร์ตสี่พอร์ต พอร์ตสุดท้ายมีไว้สำหรับการดีบัก 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 JTAG เชื่อมต่อกับบอร์ด i.MX JTAG อินเตอร์เฟซ. ถ้าบอร์ด i.MX เจTAG อินเทอร์เฟซไม่มีขั้วต่อแบบมีไกด์ การวางแนวจะถูกกำหนดโดยการจัดแนวสายสีแดงเข้ากับพิน 1 ดังแสดงในรูปที่ 1
การกำหนดค่ารหัส VS
หากต้องการดาวน์โหลดและกำหนดค่า VS Code ให้ทำตามขั้นตอนต่อไปนี้:
- ดาวน์โหลดและติดตั้ง Microsoft Visual Studio Code เวอร์ชันล่าสุดจากทางการ webเว็บไซต์. ในกรณีที่ใช้ Windows เป็นระบบปฏิบัติการโฮสต์ ให้เลือกปุ่ม "ดาวน์โหลดสำหรับ Windows" จากหน้าหลักของ Visual Studio Code
- หลังจากติดตั้ง Visual Studio Code แล้ว ให้เปิดแล้วเลือกแท็บ “ส่วนขยาย” หรือกด Ctrl + Shift + X รวมกัน
- ในแถบค้นหาเฉพาะ ให้พิมพ์ MCUXpresso สำหรับ VS Code และติดตั้งส่วนขยาย แท็บใหม่จะปรากฏที่ด้านซ้ายของหน้าต่าง VS Code
การกำหนดค่าส่วนขยาย MCUXpresso
ในการกำหนดค่าส่วนขยาย MCUXpresso ให้ทำตามขั้นตอนต่อไปนี้:
- คลิกแท็บเฉพาะส่วนขยาย MCUXpresso จากแถบด้านซ้าย จากแผง QUICKSTART PANEL คลิก
เปิด MCUXpresso Installer และให้สิทธิ์ในการดาวน์โหลดตัวติดตั้ง - หน้าต่างตัวติดตั้งจะปรากฏขึ้นในเวลาอันสั้น คลิก MCUXpresso SDK Developer และบน SEGGER JLink จากนั้นคลิกปุ่มติดตั้ง โปรแกรมติดตั้งจะติดตั้งซอฟต์แวร์ที่จำเป็นสำหรับการเก็บถาวร, toolchain, การสนับสนุน Python, Git และการตรวจแก้จุดบกพร่อง
หลังจากติดตั้งแพ็คเกจทั้งหมดแล้ว ตรวจสอบให้แน่ใจว่าโพรบ J-Link เชื่อมต่อกับโฮสต์พีซีแล้ว จากนั้นตรวจสอบว่าโพรบพร้อมใช้งานในส่วนขยาย MCUXpresso ใต้ DEBUG PROBES หรือไม่ viewดังแสดงในรูป
นำเข้า MCUXpresso SDK
สร้างและดาวน์โหลด SDK เฉพาะจากทางการของ NXP ขึ้นอยู่กับบอร์ดที่คุณใช้อยู่ webเว็บไซต์. สำหรับบันทึกการใช้งานนี้ SDK ต่อไปนี้ได้รับการทดสอบ:
- SDK_2.14.0_EVK-MIMX8 มม.
- เวอร์ชัน 2.14.0
- SDK_2.14.0_EVK-MIMX8MP
- เวอร์ชัน 2.14.0
- เวอร์ชัน: 2.14.0_MCIMX93-EVK
เพื่อสร้างอดีตampสำหรับ i.MX 93 EVK โปรดดู รูปภาพ 7:
- หากต้องการนำเข้าพื้นที่เก็บข้อมูล MCUXpresso SDK ใน VS Code ให้ทำตามขั้นตอนต่อไปนี้:
- หลังจากดาวน์โหลด SDK แล้ว ให้เปิด Visual Studio Code คลิกแท็บ MCUXpresso จากด้านซ้าย และขยาย INSTALLED REPOSITORIES and PROJECTS views.
- คลิกนำเข้าพื้นที่เก็บข้อมูลและเลือก LOCAL ARCHIVE คลิกเรียกดู… ที่ตรงกับช่องเก็บถาวร และเลือกไฟล์เก็บถาวร SDK ที่ดาวน์โหลดล่าสุด
- เลือกเส้นทางที่จะคลายซิปไฟล์เก็บถาวรและกรอกข้อมูลลงในช่องตำแหน่ง
- ช่องชื่อสามารถทิ้งไว้ตามค่าเริ่มต้นหรือคุณสามารถเลือกชื่อที่กำหนดเองได้
- เลือกหรือยกเลิกการเลือกสร้างที่เก็บ Git ตามความต้องการของคุณ จากนั้นคลิกนำเข้า
นำเข้าอดีตampแอปพลิเคชัน
เมื่อนำเข้า SDK แล้ว SDK จะปรากฏใต้ ที่เก็บที่ติดตั้ง view.
หากต้องการนำเข้าอดีตampแอปพลิเคชันจากที่เก็บ SDK ให้ทำตามขั้นตอนต่อไปนี้:
- คลิกนำเข้าตัวอย่างample จากปุ่ม Repository จาก PROJECTS view.
- เลือกที่เก็บจากรายการแบบเลื่อนลง
- เลือก toolchain จากรายการแบบเลื่อนลง
- เลือกกระดานเป้าหมาย
- เลือก demo_apps/hello_world เช่นample จากรายการเลือกเทมเพลต
- เลือกชื่อโครงการ (สามารถใช้ค่าเริ่มต้นได้) และกำหนดเส้นทางไปยังที่ตั้งโครงการ
- คลิกสร้าง
- ทำตามขั้นตอนต่อไปนี้สำหรับตระกูล i.MX 8M เท่านั้น ภายใต้โครงการ view,ขยายโครงการนำเข้า ไปที่ส่วนการตั้งค่าแล้วคลิก mcuxpresso-tools.json file.
a. เพิ่ม “อินเทอร์เฟซ”: “เจTAG” ภายใต้ “การแก้ปัญหา” > “segger”
b. สำหรับ i.MX 8MM ให้เพิ่มการกำหนดค่าต่อไปนี้: “device”: “MIMX8MM6_M4” ภายใต้ “debug” > “segger”
c. สำหรับ i.MX 8MN ให้เพิ่มการกำหนดค่าต่อไปนี้: “device”: “MIMX8MN6_M7” ภายใต้ “debug” > “segger”
d. สำหรับ i.MX 8MP ให้เพิ่มการกำหนดค่าต่อไปนี้:
“อุปกรณ์”: “MIMX8ML8_M7” ใต้ “debug” > “segger”
รหัสต่อไปนี้แสดงอดีตample สำหรับส่วน “debug” ของ i.MX8 MP หลังจากดำเนินการแก้ไข mcuxpresso-tools.json ข้างต้นแล้ว:
หลังจากนำเข้าอดีตample แอปพลิเคชันสำเร็จ ต้องมองเห็นได้ภายใต้ PROJECTS view. อีกทั้งแหล่งที่มาของโครงการ files ปรากฏในแท็บ Explorer (Ctrl + Shift + E)
การสร้างแอปพลิเคชัน
หากต้องการสร้างแอปพลิเคชัน ให้กดไอคอน Build Selected ทางซ้าย ดังแสดงในรูปที่ 9
เตรียมบอร์ดสำหรับดีบักเกอร์
หากต้องการใช้เจTAG สำหรับการดีบักแอปพลิเคชัน 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 PC พาธเป้าหมายคือ /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
ต้องแก้ไข Kernel 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 และแทนที่สถานะโอเคด้วยปิดการใช้งาน:
คอมไพล์ 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 จะต้องเริ่มต้นด้วยตนเอง
บันทึก: 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 และไฟล์
อุปกรณ์ JLink.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 PC พาธเป้าหมายคือ /opt/SEGGER/JLink สำหรับ i.MX 8ULP เนื่องจากยูนิต Upower ให้สร้าง flash.bin โดยใช้ m33_image ใน repo “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 ใน repo VSCode ที่ใช้งานอยู่ มิฉะนั้นโปรแกรมจะแนบไม่ถูกต้อง คลิกขวาและเลือก "แนบ"
การทำงานและการดีบัก
หลังจากกดปุ่มดีบัก ให้เลือกการกำหนดค่าโปรเจ็กต์ดีบัก และเซสชันการดีบักจะเริ่มต้นขึ้น
เมื่อเซสชั่นการแก้ไขจุดบกพร่องเริ่มต้นขึ้น เมนูเฉพาะจะปรากฏขึ้น เมนูการแก้ไขจุดบกพร่องมีปุ่มสำหรับเริ่มการดำเนินการจนกระทั่งเบรกพอยต์เริ่มทำงาน หยุดการดำเนินการชั่วคราว ก้าวข้าม ก้าวเข้าสู่ ก้าวออก รีสตาร์ท และหยุด
นอกจากนี้ เรายังสามารถดูตัวแปรในเครื่อง ค่ารีจิสเตอร์ ดูนิพจน์ และตรวจสอบการเรียกสแต็กและเบรกพอยต์
ในแถบนำทางด้านซ้าย ขอบเขตฟังก์ชันเหล่านี้อยู่ภายใต้แท็บ “Run and Debug” และไม่ได้อยู่ใน MCUXpresso
สำหรับรหัส VS
หมายเหตุเกี่ยวกับซอร์สโค้ดในเอกสาร
Exampรหัส le ที่แสดงในเอกสารนี้มีลิขสิทธิ์และใบอนุญาต BSD-3-Clause ดังต่อไปนี้:
ลิขสิทธิ์ 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/term เว้นแต่จะมีการตกลงเป็นอย่างอื่นในข้อตกลงส่วนบุคคลที่เป็นลายลักษณ์อักษรที่ถูกต้อง ในกรณีที่ข้อตกลงแต่ละฉบับได้รับการสรุปเฉพาะข้อกำหนดและเงื่อนไขของข้อตกลงที่เกี่ยวข้องเท่านั้นที่จะนำไปใช้ 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 มี Product Security Incident Response Team (PSIRT) (ติดต่อได้ที่ PSIRT@nxp.com) ที่จัดการการสืบสวน การรายงาน และการเปิดตัวโซลูชันสำหรับช่องโหว่ด้านความปลอดภัยของผลิตภัณฑ์ NXP
NXP BV — NXP BV ไม่ใช่บริษัทที่ดำเนินงาน และไม่ได้จัดจำหน่ายหรือจำหน่ายผลิตภัณฑ์
เอกสาร / แหล่งข้อมูล
![]() |
NXP AN14120 การดีบักซอฟต์แวร์ Cortex-M [พีดีเอฟ] คู่มือการใช้งาน i.MX 8ULP, i.MX 93, AN14120 การดีบักซอฟต์แวร์ Cortex-M, AN14120, การดีบักซอฟต์แวร์ Cortex-M, ซอฟต์แวร์ Cortex-M, ซอฟต์แวร์ |