ការណែនាំអ្នកប្រើប្រាស់កម្មវិធី NXP AN14120 Debugging Cortex-M

សេចក្តីផ្តើម

ឯកសារនេះពិពណ៌នាអំពីការចងក្រងឆ្លងគ្នា ការដាក់ពង្រាយ និងការបំបាត់កំហុសកម្មវិធីសម្រាប់ i.MX 8M Family, i.MX 8ULP និង i.MX 93 Cortex-M processor ដោយប្រើ Microsoft Visual Studio Code ។

បរិស្ថានកម្មវិធី

ដំណោះស្រាយអាចត្រូវបានអនុវត្តទាំងនៅលើ Linux និង Windows host ។ សម្រាប់​កំណត់​ចំណាំ​កម្មវិធី​នេះ កុំព្យូទ័រ​វីនដូ​ត្រូវ​បាន​សន្មត​ថា​មិន​ចាំបាច់​ទេ។
ការចេញផ្សាយ 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 Project User's Guide (ឯកសារ IMXLXYOCTOUG)។
ប្រសិនបើ Windows PC ត្រូវបានប្រើប្រាស់ សូមសរសេររូបភាពដែលបានបង្កើតជាមុននៅលើកាត 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=progress conv=fsync

ចំណាំ៖ ពិនិត្យភាគថាសកម្មវិធីអានកាតរបស់អ្នក ហើយជំនួស sd ជាមួយនឹងភាគថាសដែលត្រូវគ្នា។ ១.២

ការដំឡើងផ្នែករឹង និងឧបករណ៍

  • កញ្ចប់អភិវឌ្ឍន៍៖
    • 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 ។

តម្រូវការជាមុន

មុនពេលចាប់ផ្តើមបំបាត់កំហុស តម្រូវការជាមុនជាច្រើនត្រូវតែបំពេញដើម្បីឱ្យមានបរិយាកាសបំបាត់កំហុសដែលបានកំណត់រចនាសម្ព័ន្ធត្រឹមត្រូវ។
ម៉ាស៊ីនកុំព្យូទ័រ - ការតភ្ជាប់បំបាត់កំហុសបន្ទះ i.MX
ដើម្បីបង្កើតការតភ្ជាប់បំបាត់បញ្ហាផ្នែករឹង សូមអនុវត្តជំហានខាងក្រោម៖

  1. ភ្ជាប់បន្ទះ i.MX ទៅកុំព្យូទ័រម៉ាស៊ីនតាមរយៈឧបករណ៍ភ្ជាប់ DEBUG USB-UART និង PC USB ដោយប្រើខ្សែ USB ។ ប្រព័ន្ធប្រតិបត្តិការ Windows រកឃើញឧបករណ៍សៀរៀលដោយស្វ័យប្រវត្តិ។
  2. នៅក្នុងកម្មវិធីគ្រប់គ្រងឧបករណ៍ នៅក្រោមច្រក (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. ភ្ជាប់ USB ស៊ើបអង្កេតបំបាត់កំហុស SEGGER ទៅម៉ាស៊ីន បន្ទាប់មកភ្ជាប់ SEGGER JTAG ឧបករណ៍ភ្ជាប់ទៅបន្ទះ i.MX JTAG ចំណុចប្រទាក់។ ប្រសិនបើបន្ទះ i.MX JTAG ចំណុចប្រទាក់មិនមានឧបករណ៍ភ្ជាប់ដែលបានណែនាំទេ ការតំរង់ទិសត្រូវបានកំណត់ដោយការតម្រឹមខ្សែក្រហមទៅនឹងម្ជុលលេខ 1 ដូចក្នុងរូបភាពទី 1 ។

ការកំណត់រចនាសម្ព័ន្ធ VS កូដ

ដើម្បីទាញយក និងកំណត់រចនាសម្ព័ន្ធ VS Code សូមអនុវត្តជំហានខាងក្រោម៖

  1. ទាញយក និងដំឡើងកំណែចុងក្រោយបំផុតនៃ Microsoft Visual Studio Code ពីផ្លូវការ webគេហទំព័រ។ ក្នុងករណីប្រើប្រាស់ Windows ជាម៉ាស៊ីន OS សូមជ្រើសរើសប៊ូតុង "ទាញយកសម្រាប់ Windows" ពីទំព័រមេ Visual Studio Code ។
  2. បន្ទាប់ពីដំឡើង Visual Studio Code សូមបើកវា ហើយជ្រើសរើសផ្ទាំង "Extensions" ឬចុចបន្សំ Ctrl + Shift + X ។
  3. នៅក្នុងរបារស្វែងរកដែលខិតខំប្រឹងប្រែង វាយ MCUXpresso សម្រាប់ VS Code ហើយដំឡើងផ្នែកបន្ថែម។ ផ្ទាំងថ្មីលេចឡើងនៅផ្នែកខាងឆ្វេងនៃបង្អួច VS Code ។

ការកំណត់រចនាសម្ព័ន្ធផ្នែកបន្ថែម MCUXpresso 

ដើម្បីកំណត់រចនាសម្ព័ន្ធផ្នែកបន្ថែម MCUXpresso សូមអនុវត្តជំហានខាងក្រោម៖

  1. ចុចផ្ទាំងផ្នែកបន្ថែម MCUXpresso ពីរបារចំហៀងខាងឆ្វេង។ ពី QUICKSTART PANEL ចុច
    បើកកម្មវិធីដំឡើង MCUXpresso ហើយផ្តល់ការអនុញ្ញាតសម្រាប់ការទាញយកកម្មវិធីដំឡើង។
  2. បង្អួចកម្មវិធីដំឡើងនឹងលេចឡើងក្នុងរយៈពេលខ្លី។ ចុច MCUXpresso SDK Developer ហើយនៅលើ SEGGER JLink បន្ទាប់មកចុចប៊ូតុងដំឡើង។ កម្មវិធីដំឡើងដំឡើងកម្មវិធីដែលត្រូវការសម្រាប់បណ្ណសារ ខ្សែសង្វាក់ឧបករណ៍ ការគាំទ្រ Python Git និងការស៊ើបអង្កេតបំបាត់កំហុស

បន្ទាប់ពីដំឡើងកញ្ចប់ទាំងអស់ ត្រូវប្រាកដថា J-Link probe ត្រូវបានភ្ជាប់ទៅម៉ាស៊ីនកុំព្យូទ័រ។ បន្ទាប់មក ពិនិត្យមើលថាតើការស៊ើបអង្កេតនេះក៏មាននៅក្នុងផ្នែកបន្ថែម MCUXpresso នៅក្រោម DEBUG PROBES ដែរ។ viewដូចបង្ហាញក្នុងរូប

នាំចូល MCUXpresso SDK

អាស្រ័យលើបន្ទះអ្វីដែលអ្នកកំពុងដំណើរការ បង្កើត និងទាញយក SDK ជាក់លាក់ពី NXP official 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

ដើម្បីកសាងអតីតample សម្រាប់ i.MX 93 EVK សូមមើលរូបភាពទី 7៖

  1. ដើម្បីនាំចូលឃ្លាំង MCUXpresso SDK ក្នុង VS Code សូមអនុវត្តជំហានខាងក្រោម៖
  2. បន្ទាប់ពីទាញយក SDK សូមបើក Visual Studio Code ។ ចុចផ្ទាំង MCUXpresso ពីជ្រុងខាងឆ្វេង ហើយពង្រីកឃ្លាំងដែលបានដំឡើង និងគម្រោង views.
  3. ចុចលើ Import Repository ហើយជ្រើសរើស LOCAL ARCHIVE។ ចុច Browse… ដែលត្រូវនឹងកន្លែងផ្ទុកឯកសារ ហើយជ្រើសរើសប័ណ្ណសារ SDK ដែលបានទាញយកថ្មីៗនេះ។
  4. ជ្រើសរើសផ្លូវដែលបណ្ណសារត្រូវបានពន្លា ហើយបំពេញក្នុងវាលទីតាំង។
  5. វាលឈ្មោះអាចត្រូវបានទុកចោលតាមលំនាំដើម ឬអ្នកអាចជ្រើសរើសឈ្មោះផ្ទាល់ខ្លួន។
  6. ពិនិត្យ ឬដោះធីក បង្កើតឃ្លាំង Git ដោយផ្អែកលើតម្រូវការរបស់អ្នក ហើយបន្ទាប់មកចុច នាំចូល។

នាំចូលអតីតampកម្មវិធី le

នៅពេលដែល SDK ត្រូវបាននាំចូល វាបង្ហាញនៅក្រោម ឃ្លាំងដែលបានដំឡើង view.
ដើម្បីនាំចូលអតីតampកម្មវិធីពីឃ្លាំង SDK សូមអនុវត្តជំហានដូចខាងក្រោមៈ

  1. ចុច Import Example ពីប៊ូតុង Repository ពី PROJECTS view.
  2. ជ្រើសរើសឃ្លាំងពីបញ្ជីទម្លាក់ចុះ។
  3. ជ្រើសរើសខ្សែសង្វាក់ឧបករណ៍ពីបញ្ជីទម្លាក់ចុះ។
  4. ជ្រើសរើសបន្ទះគោលដៅ។
  5. ជ្រើសរើស demo_apps/hello_world exampពីបញ្ជីជ្រើសរើសគំរូ។
  6. ជ្រើសរើសឈ្មោះសម្រាប់គម្រោង (លំនាំដើមអាចត្រូវបានប្រើ) ហើយកំណត់ផ្លូវទៅកាន់ទីតាំងគម្រោង។
  7. ចុចបង្កើត។
  8. អនុវត្តជំហានខាងក្រោមសម្រាប់តែ i.MX 8M Family ប៉ុណ្ណោះ។ នៅក្រោមគម្រោង viewពង្រីកគម្រោងនាំចូល។ ចូលទៅកាន់ផ្នែកការកំណត់ ហើយចុចលើ mcuxpresso-tools.json file.
    a. បន្ថែម "ចំណុចប្រទាក់": "JTAGនៅក្រោម "បំបាត់កំហុស" > "segger"
    b. សម្រាប់ i.MX 8MM សូមបន្ថែមការកំណត់ដូចខាងក្រោម៖ “ឧបករណ៍”៖ “MIMX8MM6_M4” នៅក្រោម “បំបាត់កំហុស” > “segger”
    c. សម្រាប់ i.MX 8MN សូមបន្ថែមការកំណត់ដូចខាងក្រោម៖ “ឧបករណ៍”៖ “MIMX8MN6_M7” ក្រោម “បំបាត់កំហុស” > “segger”
    d. សម្រាប់ i.MX 8MP សូមបន្ថែមការកំណត់ដូចខាងក្រោម៖

    "ឧបករណ៍"៖ "MIMX8ML8_M7" នៅក្រោម "បំបាត់កំហុស" > "segger"
    កូដខាងក្រោមបង្ហាញពីអតីតample សម្រាប់ផ្នែក "បំបាត់កំហុស" i.MX8 MP បន្ទាប់ពីការកែប្រែខាងលើនៃ mcuxpresso-tools.json ត្រូវបានអនុវត្ត៖

បន្ទាប់ពីនាំចូលអតីតample កម្មវិធីដោយជោគជ័យ វាត្រូវតែអាចមើលឃើញនៅក្រោមគម្រោង view. ប្រភពគម្រោងផងដែរ។ files អាចមើលឃើញនៅក្នុងផ្ទាំង Explorer (Ctrl + Shift + E) ។

ការកសាងកម្មវិធី

ដើម្បី​បង្កើត​កម្មវិធី សូម​ចុច​រូបតំណាង Build Selected ខាងឆ្វេង ដូច​បង្ហាញ​ក្នុង​រូបភាពទី 9 ។

រៀបចំក្តារសម្រាប់បំបាត់កំហុស

ដើម្បីប្រើ JTAG សម្រាប់ការបំបាត់កំហុសកម្មវិធី Cortex-M មានតម្រូវការជាមុនមួយចំនួនអាស្រ័យលើវេទិកា៖

  1. សម្រាប់ 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-Boot
      ដំបូងចម្លង sdk20-app.bin file (មានទីតាំងនៅក្នុងថត armgcc/debug) ដែលបានបង្កើតក្នុងផ្នែកទី 3 ចូលទៅក្នុងភាគថាសចាប់ផ្ដើមនៃកាត SD ។ ចាប់ផ្ដើមក្តារហើយបញ្ឈប់វានៅក្នុង U-Boot ។ នៅពេលដែលកុងតាក់ចាប់ផ្ដើមត្រូវបានកំណត់រចនាសម្ព័ន្ធដើម្បីចាប់ផ្ដើម Cortex-A លំដាប់ចាប់ផ្ដើមមិនចាប់ផ្តើម Cortex-M ទេ។ វាត្រូវតែត្រូវបានចាប់ផ្តើមដោយដៃដោយប្រើពាក្យបញ្ជាខាងក្រោម។ ប្រសិនបើ Cortex-M មិនត្រូវបានចាប់ផ្តើម JLink បរាជ័យក្នុងការតភ្ជាប់ទៅស្នូល។
    • ចំណាំ៖ ប្រសិនបើប្រព័ន្ធមិនអាចត្រូវបានបំបាត់កំហុសជាធម្មតាទេ សូមព្យាយាមចុចខាងស្តាំលើគម្រោងក្នុង MCUXpresso សម្រាប់ VS
      សរសេរកូដហើយជ្រើសរើស "ភ្ជាប់ដើម្បីបំបាត់កំហុសគម្រោង"។
    • ការបំបាត់កំហុស Cortex-M33 ខណៈពេលដែល Cortex-A55 ស្ថិតនៅក្នុងលីនុច
      Kernel DTS ត្រូវតែត្រូវបានកែប្រែដើម្បីបិទ UART5 ដែលប្រើម្ជុលដូចគ្នានឹង JTAG ចំណុចប្រទាក់។
      ប្រសិនបើ Windows PC ត្រូវបានប្រើប្រាស់ នោះងាយស្រួលបំផុតគឺត្រូវដំឡើង 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 នៅលើភាគថាសចាប់ផ្ដើមនៃកាតអេសឌី។ ចម្លង hello_world.elf file (មានទីតាំងនៅក្នុងថត armgcc/debug) ដែលបានបង្កើតក្នុងផ្នែកទី 3 ចូលទៅក្នុងភាគថាសចាប់ផ្ដើមនៃកាត SD ។ ចាប់ផ្ដើមក្តារនៅក្នុងលីនុច។ ដោយសារ boot ROM មិនចាប់ផ្តើម Cortex-M នៅពេលដែល Cortex-A boots CortexM ត្រូវតែចាប់ផ្តើមដោយដៃ។

      ចំណាំ៖ the hello_ world.elf file ត្រូវតែដាក់ក្នុងថត /lib/firmware ។
  2. សម្រាប់ 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-Boot
      ក្នុងករណីនេះគ្មានអ្វីពិសេសត្រូវធ្វើទេ។ ចាប់ផ្ដើមក្តារនៅក្នុង U Boot ហើយលោតទៅផ្នែកទី 5 ។
    • ការបំបាត់កំហុស Cortex-M ខណៈពេលដែល Cortex-A ស្ថិតនៅក្នុងលីនុច
      ដើម្បីដំណើរការ និងបំបាត់កំហុសកម្មវិធី Cortex-M ស្របជាមួយលីនុចដែលកំពុងដំណើរការនៅលើ Cortex-A នាឡិកាជាក់លាក់ត្រូវតែត្រូវបានចាត់តាំង និងបម្រុងទុកសម្រាប់ Cortex-M ។ វាត្រូវបានធ្វើឡើងពីក្នុង U-Boot ។ បញ្ឈប់ក្តារនៅក្នុង U-Boot ហើយដំណើរការពាក្យបញ្ជាខាងក្រោម៖
  3. សម្រាប់ 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 បង្កើត flash.bin ដោយប្រើ m33_image នៅក្នុង "VSCode" repo របស់យើងជាមុនសិន។ រូបភាព 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 ។

ចំណាំអំពីកូដប្រភពនៅក្នុងឯកសារ

Example កូដដែលបង្ហាញក្នុងឯកសារនេះមានសិទ្ធិរក្សាសិទ្ធិ និង BSD-3-Clause ដូចខាងក្រោម៖

រក្សាសិទ្ធិ 2023 NXP ការចែកចាយឡើងវិញ និងការប្រើប្រាស់ក្នុងទម្រង់ប្រភព និងប្រព័ន្ធគោលពីរ ដោយមានឬគ្មានការកែប្រែ ត្រូវបានអនុញ្ញាត ផ្តល់លក្ខខណ្ឌដូចខាងក្រោមត្រូវបានបំពេញ៖

  1. ការចែកចាយឡើងវិញនៃកូដប្រភពត្រូវតែរក្សាការជូនដំណឹងអំពីការរក្សាសិទ្ធិខាងលើ បញ្ជីលក្ខខណ្ឌ និងការបដិសេធខាងក្រោម។
  2. ការចែកចាយឡើងវិញក្នុងទម្រង់គោលពីរត្រូវតែបង្កើតឡើងវិញនូវការជូនដំណឹងអំពីការរក្សាសិទ្ធិខាងលើ បញ្ជីនៃលក្ខខណ្ឌ និងការមិនទទួលខុសត្រូវខាងក្រោមនៅក្នុងឯកសារ និង/ឬសម្ភារៈផ្សេងទៀតត្រូវតែផ្តល់ជូនជាមួយនឹងការចែកចាយ។
  3. ទាំងឈ្មោះអ្នករក្សាសិទ្ធិនិងឈ្មោះអ្នកចូលរួមរបស់វាមិនអាចត្រូវបានប្រើដើម្បីគាំទ្រឬផ្សព្វផ្សាយផលិតផលដែលបានមកពីកម្មវិធីនេះដោយគ្មានការអនុញ្ញាតជាលាយលក្ខណ៍អក្សរជាមុន។

    កម្មវិធីនេះត្រូវបានផ្តល់ដោយអ្នកកាន់កាប់សិទ្ធិអ្នកនិពន្ធ និងអ្នករួមវិភាគទាន "ដូចមាន" និងការធានាណាមួយដែលបញ្ជាក់ ឬដោយប្រយោល រួមទាំង ប៉ុន្តែមិនកំណត់ចំពោះ ការធានាដោយអត្ថប្រយោជន៏នៃ merchantability . ក្នុងករណីណាក៏ដោយ អ្នកកាន់កាប់សិទ្ធិថតចម្លង ឬអ្នករួមចំណែកត្រូវទទួលខុសត្រូវចំពោះការខូចខាតដោយផ្ទាល់ ប្រយោល ឧប្បត្តិហេតុ ពិសេស គំរូ ឬការខូចខាតជាផលវិបាក (រួមទាំង ប៉ុន្តែមិនកំណត់ចំពោះការខូចខាត ការប្រើប្រាស់នីតិវិធី ទិន្នន័យ ឬប្រាក់ចំណេញ; ឬការរំខានអាជីវកម្ម) ទោះបីជាបណ្តាលមកពី និងលើទ្រឹស្ដីទំនួលខុសត្រូវណាមួយ ទោះជានៅក្នុងកិច្ចសន្យា ទំនួលខុសត្រូវយ៉ាងតឹងរ៉ឹង ឬការធ្វើទារុណកម្ម (រួមទាំងការធ្វេសប្រហែស ឬបើមិនដូច្នេះទេ) ដែលកើតឡើងនៅក្នុងវិធីណាក៏ដោយ នៃការប្រើប្រាស់នៅពេលក្រោយនេះ ភាពងាយរងគ្រោះនៃការខូចខាតបែបនេះ

ព័ត៌មានផ្លូវច្បាប់

និយមន័យ

សេចក្តីព្រាង - ស្ថានភាពព្រាងនៅលើឯកសារបង្ហាញថាខ្លឹមសារនៅតែមាន
នៅក្រោមការកែប្រែផ្ទៃក្នុង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 ការប្រើប្រាស់បែបនេះត្រូវប្រឈមមុខនឹងហានិភ័យផ្ទាល់របស់អតិថិជន ហើយ (គ) អតិថិជននឹងសងសំណងទាំងស្រុងនូវ 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 Debugging Cortex-M Software, AN14120, Debugging Cortex-M Software, Cortex-M Software, Software

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *