คู่มือผู้ใช้ซอฟต์แวร์แก้จุดบกพร่อง 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
หากต้องการสร้างการเชื่อมต่อการตรวจแก้จุดบกพร่องฮาร์ดแวร์ ให้ทำตามขั้นตอนต่อไปนี้:

  1. เชื่อมต่อบอร์ด i.MX เข้ากับโฮสต์พีซีผ่านขั้วต่อ DEBUG USB-UART และขั้วต่อ PC USB โดยใช้สาย USB Windows OS ค้นหาอุปกรณ์อนุกรมโดยอัตโนมัติ
  2. ใน 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 โดยนับพอร์ตการดีบักตามลำดับจากน้อยไปหามาก
  3. เปิดพอร์ตดีบักที่ถูกต้องโดยใช้โปรแกรมจำลองเทอร์มินัลอนุกรมที่คุณต้องการ (เช่นample PuTTY) โดยการตั้งค่าพารามิเตอร์ต่อไปนี้:
    • ความเร็วถึง 115200 bps
    • 8 บิตข้อมูล
    • 1 บิตหยุด (115200, 8N1)
    • ไม่มีความเท่าเทียมกัน
  4. เชื่อมต่อโพรบดีบัก SEGGER USB เข้ากับโฮสต์ จากนั้นเชื่อมต่อ SEGGER JTAG เชื่อมต่อกับบอร์ด i.MX JTAG อินเตอร์เฟซ. ถ้าบอร์ด i.MX เจTAG อินเทอร์เฟซไม่มีขั้วต่อแบบมีไกด์ การวางแนวจะถูกกำหนดโดยการจัดแนวสายสีแดงเข้ากับพิน 1 ดังแสดงในรูปที่ 1

การกำหนดค่ารหัส VS

หากต้องการดาวน์โหลดและกำหนดค่า VS Code ให้ทำตามขั้นตอนต่อไปนี้:

  1. ดาวน์โหลดและติดตั้ง Microsoft Visual Studio Code เวอร์ชันล่าสุดจากทางการ webเว็บไซต์. ในกรณีที่ใช้ Windows เป็นระบบปฏิบัติการโฮสต์ ให้เลือกปุ่ม "ดาวน์โหลดสำหรับ Windows" จากหน้าหลักของ Visual Studio Code
  2. หลังจากติดตั้ง Visual Studio Code แล้ว ให้เปิดแล้วเลือกแท็บ “ส่วนขยาย” หรือกด Ctrl + Shift + X รวมกัน
  3. ในแถบค้นหาเฉพาะ ให้พิมพ์ MCUXpresso สำหรับ VS Code และติดตั้งส่วนขยาย แท็บใหม่จะปรากฏที่ด้านซ้ายของหน้าต่าง VS Code

การกำหนดค่าส่วนขยาย MCUXpresso 

ในการกำหนดค่าส่วนขยาย MCUXpresso ให้ทำตามขั้นตอนต่อไปนี้:

  1. คลิกแท็บเฉพาะส่วนขยาย MCUXpresso จากแถบด้านซ้าย จากแผง QUICKSTART PANEL คลิก
    เปิด MCUXpresso Installer และให้สิทธิ์ในการดาวน์โหลดตัวติดตั้ง
  2. หน้าต่างตัวติดตั้งจะปรากฏขึ้นในเวลาอันสั้น คลิก 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:

  1. หากต้องการนำเข้าพื้นที่เก็บข้อมูล MCUXpresso SDK ใน VS Code ให้ทำตามขั้นตอนต่อไปนี้:
  2. หลังจากดาวน์โหลด SDK แล้ว ให้เปิด Visual Studio Code คลิกแท็บ MCUXpresso จากด้านซ้าย และขยาย INSTALLED REPOSITORIES and PROJECTS views.
  3. คลิกนำเข้าพื้นที่เก็บข้อมูลและเลือก LOCAL ARCHIVE คลิกเรียกดู… ที่ตรงกับช่องเก็บถาวร และเลือกไฟล์เก็บถาวร SDK ที่ดาวน์โหลดล่าสุด
  4. เลือกเส้นทางที่จะคลายซิปไฟล์เก็บถาวรและกรอกข้อมูลลงในช่องตำแหน่ง
  5. ช่องชื่อสามารถทิ้งไว้ตามค่าเริ่มต้นหรือคุณสามารถเลือกชื่อที่กำหนดเองได้
  6. เลือกหรือยกเลิกการเลือกสร้างที่เก็บ Git ตามความต้องการของคุณ จากนั้นคลิกนำเข้า

นำเข้าอดีตampแอปพลิเคชัน

เมื่อนำเข้า SDK แล้ว SDK จะปรากฏใต้ ที่เก็บที่ติดตั้ง view.
หากต้องการนำเข้าอดีตampแอปพลิเคชันจากที่เก็บ SDK ให้ทำตามขั้นตอนต่อไปนี้:

  1. คลิกนำเข้าตัวอย่างample จากปุ่ม Repository จาก PROJECTS view.
  2. เลือกที่เก็บจากรายการแบบเลื่อนลง
  3. เลือก toolchain จากรายการแบบเลื่อนลง
  4. เลือกกระดานเป้าหมาย
  5. เลือก demo_apps/hello_world เช่นample จากรายการเลือกเทมเพลต
  6. เลือกชื่อโครงการ (สามารถใช้ค่าเริ่มต้นได้) และกำหนดเส้นทางไปยังที่ตั้งโครงการ
  7. คลิกสร้าง
  8. ทำตามขั้นตอนต่อไปนี้สำหรับตระกูล 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 มีข้อกำหนดเบื้องต้นบางประการขึ้นอยู่กับแพลตฟอร์ม:

  1. สำหรับ 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
  2. สำหรับ 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 และรันคำสั่งด้านล่าง:
  3. สำหรับ 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 อนุญาตให้แจกจ่ายซ้ำและใช้งานในรูปแบบซอร์สและไบนารี โดยมีหรือไม่มีการดัดแปลง โดยต้องเป็นไปตามเงื่อนไขต่อไปนี้:

  1. การแจกจ่ายซอร์สโค้ดอีกครั้งจะต้องคงไว้ซึ่งประกาศลิขสิทธิ์ข้างต้น รายการเงื่อนไขนี้ และคำปฏิเสธความรับผิดชอบต่อไปนี้
  2. การแจกจ่ายซ้ำในรูปแบบไบนารีต้องทำซ้ำประกาศลิขสิทธิ์ข้างต้น รายการเงื่อนไขนี้และข้อจำกัดความรับผิดชอบต่อไปนี้ในเอกสารประกอบและ/หรือเนื้อหาอื่นๆ จะต้องมาพร้อมกับการแจกจ่าย
  3. ห้ามใช้ชื่อของผู้ถือลิขสิทธิ์หรือชื่อของผู้มีส่วนร่วมในการรับรองหรือส่งเสริมผลิตภัณฑ์ที่ได้รับจากซอฟต์แวร์นี้โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษรล่วงหน้า

    ซอฟต์แวร์นี้จัดหาให้โดยผู้ถือลิขสิทธิ์และผู้มีส่วนร่วม "ตามที่เป็น" และการรับประกันโดยชัดแจ้งหรือโดยนัย ซึ่งรวมถึงแต่ไม่จำกัดเพียงการรับประกันโดยนัยของความสามารถในการขายได้และความเหมาะสมสำหรับวัตถุประสงค์เฉพาะจะถูกปฏิเสธ ไม่ว่าในกรณีใดๆ ผู้ถือลิขสิทธิ์หรือผู้สนับสนุนจะต้องรับผิดต่อความเสียหายทางตรง ทางอ้อม โดยบังเอิญ พิเศษ เป็นแบบอย่าง หรือเป็นผลสืบเนื่อง (รวมถึงแต่ไม่จำกัดเพียง การจัดหาสินค้าทดแทน ทรัพย์สินหรือบริการ หรือการหยุดชะงักของธุรกิจ) ไม่ว่าจะมีสาเหตุมาจากทฤษฎีความรับผิดใดก็ตาม ไม่ว่าจะในสัญญา ความรับผิดที่เข้มงวด หรือการละเมิด (รวมถึงการประมาทเลินเล่อหรืออย่างอื่น) ที่เกิดขึ้นไม่ว่าด้วยวิธีใดจากการใช้ซอฟต์แวร์ แม้ว่าจะมีความเป็นไปได้ในเรื่องนี้ก็ตาม

ข้อมูลทางกฎหมาย

คำจำกัดความ

ร่าง — สถานะแบบร่างในเอกสารบ่งชี้ว่าเนื้อหายังคงอยู่
ภายใต้เรื่องภายใน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, ซอฟต์แวร์

อ้างอิง

ฝากความคิดเห็น

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องกรอกข้อมูลมีเครื่องหมาย *