Multi Source Translation Content

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Multi Source Translation Content

讨论

排序依据:
Enable SPI Communication for VL53L8CX ToF Sensor on i.MX8MP EVK We are trying to integrate an ST VL53L8CX ToF (Time-of-Flight) sensor over SPI on an NXP i.MX8MP LPDDR4 EVK using Yocto Linux. The objective is initially to achieve basic SPI communication and successfully detect the VL53L8CX device from a custom Linux kernel driver. Full ranging functionality is not required at this stage. Hardware Board: NXP i.MX8MP LPDDR4 EVK Sensor: VL53L8CX ToF sensor Interface: SPI EVK connector: J21 expansion connector SPI controller: ECSPI2 Chip select: ECSPI2 SS0 GPIO used for CS: GPIO5_IO13 SPI device: spi1.0 SPI speed: 1 MHz SPI mode: Mode 0 The device-tree configuration currently uses:   &ecspi2 { pinctrl-0 = <&pinctrl_ecspi2 &pinctrl_ecspi2_cs>; cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; status = "okay"; stmvl53l8cx: spi@0 { reg = <0>; compatible = "st,stmvl53l8cx"; spi-max-frequency = <1000000>; }; }; meta-vl53l8cx_8mp/ ├── conf/ │ └── layer.conf ├── recipes-kernel/ │ ├── linux/ │ │ ├── files/ │ │ │ └── 0001-add-vl53l8cx-spi-node.patch │ │ └── linux-imx_%.bbappend │ │ │ └── vl53l8cx/ │ ├── files/ │ │ ├── Makefile │ │ └── driver.c │ └── vl53l8cx.bb The SPI device is successfully created:   root@imx8mp-lpddr4-evk:~# ls -l /sys/bus/spi/devices/ spi0.0 spi1.0   The custom driver is also registered:   root@imx8mp-lpddr4-evk:~# ls -l /sys/bus/spi/drivers/ stmvl53l8cx   The driver probe() function is being called successfully. Could someone please advise what we should verify on the i.MX8MP EVK ECSPI2/J21 hardware and Device Tree configuration to make sure the VL53L8CX is communicating correctly over SPI? In particular, we would like to confirm: Is ECSPI2 / spi1.0 the correct SPI controller/device for the J21 expansion connector on the i.MX8MP LPDDR4 EVK? Is GPIO5_IO13 / ECSPI2_SS0 the correct chip-select for J21? Are the ECSPI2 SCK, MOSI, MISO and CS pinmux settings correct for this connector? Is any additional Device Tree configuration required for the VL53L8CX, such as: spi-cpol spi-cpha GPIO1/interrupt LPn/reset/power GPIO power-supply/regulator properties? Does the VL53L8CX require a particular SPI mode, timing, or initialization sequence before reading its device ID? Is there anything specific on the i.MX8MP ECSPI controller that needs to be configured for the VL53L8CX? Since spi_write() and spi_read() return 0, is there a recommended way to verify the actual MOSI/MISO electrical communication (for example with a logic analyzer) and determine whether the sensor is responding? We have also attached our custom driver.c driver and kernel logs for reference. Any guidance on the correct i.MX8MP EVK + J21 + ECSPI2 + VL53L8CX SPI configuration would be appreciated. I have attached custom driver file driver.c also I have attached logs Thank you. Re: Enable SPI Communication for VL53L8CX ToF Sensor on i.MX8MP EVK Hello @Manuel_Salas  Thank you for your response. We tried reading the device ID before proceeding with any further configuration. However, we are not able to read the device ID successfully. Our SPI driver is probing correctly, but the register read for the chip ID does not return the expected value. Because of this, we are unable to verify communication with the VL53L8CX and cannot proceed with the sensor initialization. We are currently checking our SPI configuration, device tree, and hardware connections to identify the issue. We will also attach our driver, logs and module image so you can review it. If you have any suggestions on what else we should verify for basic SPI communication with the VL53L8CX, we would greatly appreciate your guidance. Best regards, yogi96 Re: Enable SPI Communication for VL53L8CX ToF Sensor on i.MX8MP EVK Hello @yogi96  Hope you are doing very well. In general, all your steps looks good. The next step what yocan try is read any register of the sensor, for example, in your probe() function, read the ID from the chip. If ID is correct read, continue with the configuration. Also, I could not saw the driver attached. Please attach is possible. Best regards, Salas.
查看全文
TagInfo——它如何验证Desfire EV3的原创性? TagInfo能够验证给定DESFIRE EV3卡的对称和非对称原创性签名。 有人知道 TagInfo 是否将对称原创性检查所需的密钥嵌入到应用程序中,还是 TagInfo 将检查外包给远程服务器吗? 在线身份验证 Re: TagInfo - how does it verify Desfire EV3 originality? 当 TagInfo 中触发对称检查时,它会向 NXP 的硬件安全模块 (HSM) 进行在线身份验证以执行检查。TagInfo 中的对称原创性检查需要与 NXP 后端保持有效的互联网连接,在离线情况下会失败。
查看全文
TagInfo - how does it verify Desfire EV3 originality? TagInfo has the capability to verify both the Symmetric and Asymmetric Originality signatures for a given DESFIRE EV3 card.   Does anyone know if TagInfo has the keys needed for the symmetric originality checks embedded in the application, or does TagInfo outsource the checks to a remote server? Online authentication Re: TagInfo - how does it verify Desfire EV3 originality? When the symmetric check is triggered in TagInfo, it performs an online authentication toward NXP's Hardware Security Module (HSM) to execute the check. The symmetric originality check in TagInfo requires an active internet connection to NXP's backend, and it will fail in offline scenarios.
查看全文
S32k344はグリーンヒルズツールチェーンを使用しています ベクターセクションを0x00400000にフラッシュメモリにベクターテーブルを保存しつつ、実行時にDTCMメモリにコピーしてそこから実行するようにするにはどうすればいいですか?Green Hillsのリンカーファイルにそれをどのように実装すればよいですか? Re: S32k344 using green hills toolchain こんにちは、 @XRen_Parkerさん この質問は特にGreen Hillsのツールチェーンとその統合に関するものなので、Green Hillsに直接問い合わせることをお勧めします。彼らは適切な指導とリソースを提供できるはずだ。 https://support.ghs.com/ よろしくお願いいたします。 ルーカス
查看全文
HseFwInstall I downloaded the official HSE installation example, but after running it, I found that HSE failed to install. The program gets stuck in the `while ( FALSE == HSE_CheckStatus(HSE_STATUS_INIT_OK) );` loop. I'm at a loss and need help on how to successfully install HSE. The attached file is the official example; I downloaded it, changed the `.project` file to `S32K312`, and disabled the `baf` file in the linker script. I didn't modify anything else. Re: HseFwInstall Hi I suggest you obtain the latest s32k3_hse_lib_rtd400hf01_20260427.7z from the distributor FAE and test it again. The new version fixes some bugs found in older versions. According to section " 2.2 Version Number Details " of SBAF_S32K312_0_0_15_0_ReleaseNotes.pdf and the value shown in your screenshot at 0x4039C020 - 0x4039C027, it appears that AB_SWAP firmware was previously installed? If FULL_MEM was installed, the value at 0x4039C020 - 0x4039C027 should be 000D0000 000F0006. However, what I see in your attached project is S32K312_0_2_40_0_HSE_FULL_MEM. I'm a bit confused about whether you need to install FULL_MEM or the HSE FW for AB_SWAP? Please check which build option you selected for the HseLib_HseFwInstall_Rtd400 project. Please note that it is not possible to revert from AB_SWAP to FULL_MEM. The screenshot you provided shows 0x4039C028=0xC0 bit0=0, meaning SBAF failed to boot HSE FW. It appears the HSE FW firmware is corrupted. You'll likely need to refer to MU Restore FW_EN.pdf to restore HSE FW using MU. Please also refer to the manual s32k3_hse_lib_rtd400hf01_20260427\Doc\ S32K3_HSE_LIB_UserGuide.pdf . I didn't understand " blocked the baf file in the linker script ". Does it refer to page 19/51, section 3.3 of that document? .3In the "Build configuration - Settings of Linker" section, what about the file s32k3xx_flash_full_mem_0_2_40_0.ld? After installing SBAF_S32K312_0_0_15_0.exe, the path is C:\NXP\SBAF_S32K312_0_0_15_0\bin\s32k312_Secure_Baf_0.13.0_0.15.0.6_pb230804.bin.pink. This file does not need to be commented out. Best Regards, Robin
查看全文
i.MX8MP EVKのToFセンサー VL53L8CX SPI通信を有効にする 私たちは、Yocto Linuxを使用したNXP i.MX8MP LPDDR4 EVKにST VL53L8CX ToF(飛行時分)センサーをSPI経由で統合しようとしています。 最初の目的は、基本的なSPI通信を実現し、カスタムLinuxカーネルドライバからVL53L8CXデバイスを正常に検出することです。現段階では、完全な測距機能は必要ありません。 ハードウェア ボード: NXP i.MX8MP LPDDR4 EVK センサー: VL53L8CX ToFセンサー インターフェース: SPI EVKコネクタ: J21拡張コネクタ SPIコントローラー: ECSPI2 チップセレクト: ECSPI2 SS0 CSに使用されるGPIO: GPIO5_IO13 SPIデバイス: spi1.0 SPI速度: 1MHz SPIモード:モード0 デバイスツリー構成は現在以下を使用しています。   &ecspi2 { pinctrl-0 = <&pinctrl_ecspi2 &pinctrl_ecspi2_cs>; cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; status = "okay"; stmvl53l8cx: spi@0 { reg = <0>; compatible = "st,stmvl53l8cx"; spi-max-frequency = <1000000>; }; }; meta-vl53l8cx_8mp/ ├── conf/ │ └── layer.conf ├── レシピズカーネル/ │ ├── Linux/ │ │ ├── ファイル/ │ │ │ └― 0001-add-vl53l8cx-spi-node.patch │ │ └── Linux-imx_%.bbappend │ │ │ └── VL53L8CX/ │ ├── ファイル/ │ │ ├── メイクファイル │ │ └── driver.c │ └── vl53l8cx.bb SPIデバイスが正常に作成されました。   root@imx8mp-lpddr4-evk:~# ls -l /sys/bus/spi/devices/ spi0.0 spi1.0   カスタムドライバーは以下も登録されています:   root@imx8mp-lpddr4-evk:~# ls -l /sys/bus/spi/drivers/ stmvl53l8cx   ドライバープローブ()関数は正常に呼び出されています。 i.MX8MP EVK ECSPI2/J21ハードウェアとデバイスツリーの設定で、VL53L8CXがSPI上で正しく通信していることを確認するために何を検証すべきか、どなたかアドバイスをいただけませんか? 特に、以下の点を確認したいと思います。 ECSPI2 / spi1.0はi.MX8MP LPDDR4 EVKのJ21拡張コネクターで正しいSPIコントローラー/デバイスでしょうか? GPIO5_IO13 / ECSPI2_SS0はJ21の正しいチップセレクトですか? このコネクタにおけるECSPI2のSCK、MOSI、MISO、およびCSピン多重化設定は正しいですか? VL53L8CXには、以下のような追加のデバイスツリー構成が必要ですか? spi-cpol spi-cpha GPIO1/割り込み LPn/リセット/電源GPIO 電源/レギュレータの特性? VL53L8CXは、デバイスIDを読み取る前に、特定のSPIモード、タイミング、または初期化シーケンスを必要としますか? i.MX8MP ECSPIコントローラーでVL53L8CX向けに設定しなければならないことはありますか? spi_write()とspi_read()が0を返すため、 実際のMOSI/MISO電気通信 (例えばロジックアナライザーなど)を検証し、センサーが応答しているかどうかを判断する推奨方法はありますか? また、参考用に カスタムのdriver.cドライバーとカーネルログ も添付しています。 i.MX8MP EVK + J21 + ECSPI2 + VL53L8CX の正しいSPI構成に関するご助言をいただければ幸いです。 カスタムドライバーファイルを添付しました driver.c また、ログも添付しています よろしくお願いします。 Re: Enable SPI Communication for VL53L8CX ToF Sensor on i.MX8MP EVK こんにちは、 @Manuel_Salas さん ご返信ありがとうございます。 さらなる設定作業を進める前に、デバイスIDの読み取りを試みました。しかし、デバイスIDを正常に読み取ることができませんでした。 SPIドライバーは正しくプローブしていますが、チップIDのレジスタ読み取りは期待値を返しません。そのため、VL53L8CXとの通信を確認できず、センサの初期化を進めることができません。 現在、問題の原因を特定するために、SPI構成、デバイスツリー、およびハードウェア接続を確認しています。 また 、ドライバ、ログ、モジュールイメージも添付 しますので、ご覧いただけます。VL53L8CXとの基本的なSPI通信に関して、他に確認すべき点があれば、ぜひご教示いただければ幸いです。 よろしくお願いします、 ヨギ96 Re: Enable SPI Communication for VL53L8CX ToF Sensor on i.MX8MP EVK こんにちは、@yogi96さん お元気でお過ごしのことと思います。 概して、あなたの手順はすべて問題ないようです。 次に試してみるのは、例えばプローブ()関数でチップのIDを読み取るなど、センサのレジスタを読み取ることです。 IDが正しく読み取れた場合は、設定処理を続行します。 また、ドライバが取り付けられているのも見えませんでした。 可能であれば添付してください。 よろしくお願いいたします。 サラス。
查看全文
HseFwInstall 我下载了官方的HSE安装示例,运行后发现HSE没有安装成功,程序会一直卡在while ( FALSE == HSE_CheckStatus(HSE_STATUS_INIT_OK) );我现在没有什么方向,求帮助,如何才能成功安装HSE。附件是官方的例子,我下载后修改了.project为S32K312,屏蔽了链接脚本中的baf文件,其他没有修改了。 Re: HseFwInstall Hi 我建议你通过代理商FAE获取最新的s32k3_hse_lib_rtd400hf01_20260427.7z 再测试一次。新版本修复了一些老版本发现的bug. 根据SBAF_S32K312_0_0_15_0_ReleaseNotes.pdf的“2.2 Version Number Details”章节以及你截图显示 0x4039C020 - - 0x4039C027 处的值是010D0000 000F0005。看起来曾经安装过 AB_SWAP 固件? 如果安装FULL_MEM 的话,0x4039C020 - - 0x4039C027 处的值应该是 000D0000 000F0006 但我在你附件工程里看到的是 S32K312_0_2_40_0_HSE_FULL_MEM。 我有些困惑你到底需要安装FULL_MEM还是AB_SWAP的HSE FW? 请检查你为HseLib_HseFwInstall_Rtd400工程选择的哪种Build选项。 请注意无法从AB_SWAP退回FULL_MEM。 你提供的截图里看出 0x4039C028=0xC0 bit0=0意味着SBAF没有将HSE FW启动起来。看起来HSE FW固件被破坏了。恐怕需要参考MU Restore FW_EN.pdf 使用MU恢复HSE FW。 另外请参考s32k3_hse_lib_rtd400hf01_20260427\Doc\S32K3_HSE_LIB_UserGuide.pdf手册。我没理解"屏蔽了链接脚本中的baf文件" ,请问是指该文档 19/51页 "3.3 .3 Build configuration - Settings of Linker"章节的 s32k3xx_flash_full_mem_0_2_40_0.ld ? 安装SBAF_S32K312_0_0_15_0.exe后路径是 C:\NXP\SBAF_S32K312_0_0_15_0\bin\s32k312_Secure_Baf_0.13.0_0.15.0.6_pb230804.bin.pink 不用屏蔽该文件。 Best Regards, Robin
查看全文
HseFwInstall 公式のHSEインストール例をダウンロードして実行しましたが、HSEのインストールに失敗しました。プログラムは`while ( FALSE == HSE_CheckStatus(HSE_STATUS_INIT_OK) );`ループで停止してしまいます。どうすればよいか分からず困っています。HSEを正常にインストールする方法を教えてください。添付ファイルは公式の例です。ダウンロード後、`.project`ファイルを`S32K312`に変更し、リンカースクリプト内の`baf`ファイルを無効にしました。それ以外は何も変更していません。 Re: HseFwInstall こんにちは 販売代理店のFAEから最新版のs32k3_hse_lib_rtd400hf01_20260427.7zを入手して、再度テストすることをお勧めします。この新バージョンでは、旧バージョンで見つかったいくつかのバグが修正されています。 SBAF_S32K312_0_0_15_0_ReleaseNotes.pdfの「 2.2 バージョン番号の詳細」セクションと、スクリーンショットに表示されている 0x4039C020 - 0x4039C027 の値から判断すると、以前に AB_SWAP ファームウェアがインストールされていたようです。FULL_MEM がインストールされていた場合、0x4039C020 - 0x4039C027 の値は 000D0000 000F0006 になるはずです。 しかし、添付のプロジェクトを見ると、S32K312_0_2_40_0_HSE_FULL_MEM となっています。AB_SWAP には FULL_MEM をインストールする必要があるのか、それとも HSE FW をインストールする必要があるのか、少し混乱しています。HseLib_HseFwInstall_Rtd400 プロジェクトで選択したビルドオプションを確認してください。 AB_SWAPからFULL_MEMに戻すことはできませんのでご注意ください。 ご提供いただいたスクリーンショットには、0x4039C028=0xC0 bit0=0と表示されています。これは、SBAFがHSE FWの起動に失敗したことを意味します。HSE FWファームウェアが破損しているようです。MUを使用してHSE FWを復元するには、 MU Restore FW_EN.pdfを参照する必要があるでしょう。 マニュアル s32k3_hse_lib_rtd400hf01_20260427\Doc\ S32K3_HSE_LIB_UserGuide.pdfも参照してください。「リンカースクリプトで baf ファイルをブロックした」という部分が理解できませんでした。これは、そのドキュメントの 19/51 ページ、セクション 3.3 を指しているのでしょうか?.3「ビルド構成 - リンカーの設定」セクションで、ファイル s32k3xx_flash_full_mem_0_2_40_0.ld はどうなりますか? SBAF_S32K312_0_0_15_0.exe をインストールした後、パスは C:\NXP\SBAF_S32K312_0_0_15_0\bin\s32k312_Secure_Baf_0.13.0_0.15.0.6_pb230804.bin.pink になります。このファイルはコメントアウトする必要はありません。 よろしくお願いします、 ロビン
查看全文
使用 Green Hills 工具链的 S32k344 如何重新定位向量段,使其将向量表存储在闪存的 0x00400000 地址处,但在运行时复制到 DTCM 内存并从那里运行?我该如何在 Greenhills 链接器文件中实现这一点? Re: S32k344 using green hills toolchain 嗨@XRen_Parker 由于这个问题与 Green Hills 工具链及其集成密切相关,我建议您直接联系 Green Hills。他们应该能够提供适当的指导和资源。 https://support.ghs.com/ 此致, Lukas
查看全文
DSPの使い方MPC5644A こんにちは、MPC5644AでDSPの使い方と設定方法を知りたいです Re: How to use DSP for MPC5644A こんにちは、 MPC5644A専用のDSPペリフェラルやDSPコプロセッサは搭載されていません。DSP機能は、e200z4 CPUコアに統合された信号処理拡張(SPE)を通じて提供されます。個別のDSP設定は必要ありません。DSP機能を活用するには、アプリケーションをSPEサポートを有効にしてコンパイルし、SIMDやMAC操作などのSPE命令を使えるようにする必要があります。 よろしくお願いいたします。 ピーター
查看全文
在 i.MX8MP EVK 上启用 VL53L8CX ToF 传感器的 SPI 通信 我们正在尝试使用 Yocto Linux 将ST VL53L8CX ToF(飞行时间)传感器通过SPI集成到NXP i.MX8MP LPDDR4 EVK上。 最初的目标是实现基本的 SPI 通信,并从自定义 Linux 内核驱动程序中成功检测到 VL53L8CX 设备。现阶段不需要全部功能。 硬件 板: NXP i.MX8MP LPDDR4 EVK 传感器: VL53L8CX ToF传感器 接口: SPI EVK 连接器: J21 扩展连接器 SPI 控制器: ECSPI2 片选: ECSPI2 SS0 用于 CS 的 GPIO: GPIO5_IO13 SPI 设备: spi1.0 SPI速度: 1 MHz SPI模式:模式0 当前设备树配置使用:   &ecspi2 { pinctrl-0 = <&pinctrl_ecspi2 &pinctrl_ecspi2_cs>; cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; status = "okay"; stmvl53l8cx: spi@0 { reg = <0>; compatible = "st,stmvl53l8cx"; spi-max-frequency = <1000000>; }; }; meta-vl53l8cx_8mp/ ├── conf/ │ └── 层.conf ├── recipes-kernel/ │ ├── linux/ │ │ ├── 文件/ │ │ │ └── 0001-add-vl53l8cx-spi-node.patch │ │ └── linux-imx_%.bbappend │ │ │ └── vl53l8cx/ │ ├── 文件/ │ │ ├── Makefile │ │ └── driver.c │ └── vl53l8cx.bb SPI设备创建成功:   root@imx8mp-lpddr4-evk:~# ls -l /sys/bus/spi/devices/ spi0.0 spi1.0   自定义驱动程序也已注册:   root@imx8mp-lpddr4-evk:~# ls -l /sys/bus/spi/drivers/ stmvl53l8cx   驱动程序 probe() 函数已成功调用。 请问有人可以指导一下,为了确保 VL53L8CX 通过 SPI 正确通信,我们应该检查i.MX8MP EVK ECSPI2/J21 硬件和设备树配置中的哪些内容吗? 我们尤其想确认以下几点: ECSPI2 / spi1.0是否是 i.MX8MP LPDDR4 EVK 上J21 扩展连接器的正确 SPI 控制器/设备? GPIO5_IO13 / ECSPI2_SS0是否是 J21 的正确片选信号? 此连接器的ECSPI2 SCK、MOSI、MISO 和 CS 引脚复用设置是否正确? VL53L8CX 是否需要任何其他设备树配置,例如: spi-cpol spi-cpha GPIO1/中断 LPn/RESET/电源 GPIO 电源/稳压器的特性? VL53L8CX 在读取其设备 ID 之前是否需要特定的SPI 模式、时序或初始化序列? 对于 VL53L8CX,i.MX8MP ECSPI 控制器是否需要进行任何特殊配置? 由于 spi_write() 和 spi_read() 返回 0,是否有推荐的方法来验证实际的 MOSI/MISO 电通信(例如使用逻辑分析仪),并确定传感器是否响应? 我们还附上了自定义的 driver.c 驱动程序和内核日志供您参考。 任何关于i.MX8MP EVK + J21 + ECSPI2 + VL53L8CX SPI 配置的正确指导都将不胜感激。 我已附上自定义驱动程序文件driver.c 另外,我还附上了日志。 谢谢! Re: Enable SPI Communication for VL53L8CX ToF Sensor on i.MX8MP EVK 你好@Manuel_Salas 感谢您的反馈, 在进行任何进一步配置之前,我们尝试读取设备 ID。但是,我们无法成功读取设备 ID。 我们的 SPI 驱动程序探测正常,但读取芯片 ID 的寄存器没有返回预期值。因此,我们无法验证与 VL53L8CX 的通信,也无法继续进行传感器初始化。 我们目前正在检查 SPI 配置、设备树和硬件连接,以确定问题所在。 我们还会附上驱动程序、日志和模块镜像,以便您查看。如果您对我们应该验证 VL53L8CX 基本 SPI 通信的哪些方面有任何建议,我们将非常感谢您的指导。 此致, yogi96 Re: Enable SPI Communication for VL53L8CX ToF Sensor on i.MX8MP EVK 你好@yogi96 希望你一切都好。 总的来说,你采取的所有步骤看起来都不错。 下一步你可以尝试读取传感器的任何寄存器,例如,在你的 probe() 函数中,读取芯片的 ID。 如果读取的 ID 正确,则继续配置。 另外,我没能看到连接的驱动器。 如果可以,请附上附件。 顺祝商祺! 萨拉斯。
查看全文
TagInfoは、Desfire EV3の真正性をどのように検証するのですか? TagInfoは、特定のDESFIRE EV3カードについて、対称署名と非対称署名の両方のオリジナリティを検証する機能を備えています。 TagInfoがアプリケーションに埋め込まれた対称的なオリジナリティチェックに必要なキーを持っているか、それともTagInfoがリモートサーバーにチェックをアウトソースしているのか知っている方はいらっしゃいますか? オンライン認証 Re: TagInfo - how does it verify Desfire EV3 originality? TagInfoで対称チェックがトリガーされると、NXPのハードウェアセキュリティモジュール(HSM)に対してオンライン認証を行い、チェックを実行します。TagInfoの対称的なオリジナリティチェックには、NXPのバックエンドへのアクティブなインターネット接続が必要であり、オフライン環境では失敗します。
查看全文
如何使用 DSP 控制 MPC5644A 您好,我想了解如何在MPC5644A中使用和配置DSP。 Re: How to use DSP for MPC5644A 你好, MPC5644A 不包含专用 DSP 外设或 DSP 协处理器。DSP 功能是通过集成到 e200z4 CPU 内核中的信号处理扩展 (SPE) 提供的。无需单独配置DSP。要利用 DSP 功能,必须在编译时启用 SPE 支持,允许编译器或应用程序代码使用 SPE 指令,例如 SIMD 和 MAC 操作。 顺祝商祺! Peter
查看全文
S32K3 SAI TDM problem Hi, NXP expert I'd like to ask about the S32K322 chip. What is the maximum supported block size for the SAI interface TDM? Is it frame size × width? That is, 16 × 32 bits = 512 bits, or 64 bytes? Thanks! Re: S32K3 SAI TDM问题 Hi @Chenxu1  You must also consider the maximum supported bit clock (BCLK) rate of 12.288 MHz. For example: TDM8, 16-bit, 48 kHz → BCLK = 8 × 16 × 48,000 = 6.144 MHz < 12.288 MHz (Supported) TDM16, 16-bit, 48 kHz → BCLK = 16 × 16 × 48,000 = 12.288 MHz (Supported at the limit) TDM16, 32-bit, 48 kHz → BCLK = 16 × 32 × 48,000 = 24.576 MHz > 12.288 MHz (Not supported) Therefore, a configuration of 16 words × 32 bits = 512 bits (64 bytes) represents the theoretical maximum frame size supported by the hardware. However, the practical configuration is also limited by the maximum supported BCLK rate. BR, VaneB Re: S32K3 SAI TDM问题 Hi,thanks for your reply. I mean, does the TDM DMA buffer have a length limit? 1024bytes? Re: S32K3 SAI TDM问题 Hi @Chenxu1  DMA transfers are limited by the DMA Major Loop Count implementation. Due to the CITER[14:0] the number of bytes transferred in a single DMA transaction must be less than 32,767 bytes.
查看全文
How to use DSP for MPC5644A Hello, I would like to know how to use and configure DSP in MPC5644A Re: How to use DSP for MPC5644A Hello, MPC5644A does not contain a dedicated DSP peripheral or DSP coprocessor. DSP functionality is provided through the Signal Processing Extension (SPE) integrated into the e200z4 CPU core. There is no separate DSP configuration required. To utilize DSP features, the application must be compiled with SPE support enabled, allowing the compiler or application code to use SPE instructions such as SIMD and MAC operations. Best regards, Peter
查看全文
S32K3 SAI TDMの問題 こんにちは、NXPのエキスパートさん S32K322チップについて質問させてください。SAIインターフェースTDMでサポートされる最大ブロックサイズはどれくらいですか?フレームサイズ×幅でしょうか? つまり、16 × 32 ビット = 512 ビット、または 64 バイトということでしょうか? ありがとう! Re: S32K3 SAI TDM问题 こんにちは@Chenxu1 また、最大サポートビットクロック(BCLK)レートが12.288MHzであることも考慮する必要があります。例えば: TDM8、16ビット、48kHz → BCLK = 8 × 16 × 48,000 = 6.144MHz < 12.288 MHz (対応) TDM16、16ビット、48kHz → BCLK = 16 × 16 × 48,000 = 12.288MHz (限界までサポート) TDM16、32ビット、48kHz → BCLK = 16 × 32 × 48,000 = 24.576MHz > 12.288MHz(非対応) したがって、16ワード×32ビット=512ビット(64バイト)の構成は、ハードウェアがサポートする理論上の最大フレームサイズを表します。しかし、実際の構成は、サポートされる最大BCLKレートによっても制限される。 BR、VaneB Re: S32K3 SAI TDM问题 こんにちは、ご返信ありがとうございます。 つまり、TDM DMAバッファには長さ制限があるのでしょうか?1024バイト? Re: S32K3 SAI TDM问题 こんにちは@Chenxu1 DMA転送は、DMAメジャーループカウントの実装によって制限されます。CITER[14:0]により、1回のDMAトランザクションで転送されるバイト数は32,767バイト未満でなければなりません。
查看全文
Getting Started: MCP Server for Documentation Introduction Large language models are great at explaining concepts, but they do not always know the exact register offset, the latest bit-field definition or a device-specific detail from an NXP reference manual. When the answer has to be correct, the model should not be guessing.   MCP Server for Documentation solves this by bringing NXP product documentation directly into your agentic development workflow. Instead of relying only on what the model already knows – or asking you to search through hundreds of pages of a hardware manual yourself – your AI agent can discover the right product, search the documentation and read the underlying source content, all without leaving your development environment.   This article explains what MCP Server for Documentation is, what you can use it for, which documentation it covers, and how to get started in a few simple steps. What is MCP Server for Documentation?   MCP Server for Documentation is a remote MCP (Model Context Protocol) service that gives an MCP-compatible AI client access to structured NXP product documentation.   With MCP Server for Documentation, your agent can:   Discover the products and documents that are available to you Search the documentation for the hardware information it needs Retrieve the underlying source content before it produces an answer   The key idea is simple: instead of searching blindly through PDFs, the agent navigates a structured knowledge graph – chapters, sections, registers and fields – and retrieves exactly the context that is relevant to your question.   The flow of MCP Server for DocumentationThe flow of MCP Server for Documentation Why use MCP Server for Documentation? Ground your AI Give your agent relevant NXP product information instead of relying only on what the model already knows. This reduces guessing and helps avoid hallucinated register values or configuration steps.   Find details faster Ask about registers, bit fields, peripherals, configuration sequences and other hardware topics, and let the agent locate the answer for you.   Improve code generation Retrieve product-specific documentation context before asking the agent to explain hardware behaviour or generate an implementation.   Reduce manual searching Let the agent search and retrieve the relevant information while you stay inside your development environment. What can I use it for?   MCP Server for Documentation already supports a range of everyday hardware development workflows.   Find precise hardware information Ask about a known register, field, peripheral, acronym or hardware concept. Example: "Using ChipDocs MCP, find the S32K3xx eDMA TCD NBYTES register and explain the SMLOE and DMLOE fields."   Ask how-to questions Use MCP Server for Documentation when the answer requires multiple sections or a sequence of configuration steps. Example: "Using ChipDocs MCP, explain how to configure FlexCAN0 on MCX N947 for CAN FD with bit rate switching, and which CTRL1 fields set the nominal bit timing."   Generate documentation-grounded code Give your agent relevant product context before asking it to generate an implementation. Example: "Using ChipDocs MCP, generate a simple initialization function called LPI2C_init that configures LPI2C1 as a controller at 400 kHz on i.MX RT1180."   Work with document attachments Where available, MCP Server for Documentation can expose supporting PDFs, spreadsheets and other document assets. Example: "Using ChipDocs MCP, retrieve the S32N55 DMA channel mapping spreadsheet and list the request sources for eDMA channels 0 through 7."   Example of a grounded answer in an AI clientExample of a grounded answer in an AI client Documentation coverage   MCP Server for Documentation provides access to reference manuals and data sheets for recent NXP MCU and MPU products, with additional documentation being added through regular releases.   Publicly available product families currently include:   S32 Automotive – S32E2, S32G2, S32G3, S32K3, S32N5, S32Z2 MCX family – MCXA, MCXC, MCXE, MCXN, MCXW i.MX family – i.MX 91, i.MX 93, i.MX 95 i.MX RT family – i.MX RT700, i.MX RT1180 KW family – KW45, KW47   Additional products and documentation may be available based on the user's access permissions. Document visibility varies by product and user authorization, and the available documentation is continuously expanded   Getting started   MCP Server for Documentation is a remote MCP service. There is no local MCP server or SDK to install – you simply connect your AI client to the service. Prerequisites   An MCP-compatible AI client that supports the current MCP protocol and OAuth authentication Connectivity to the MCP Server for Documentation service An NXP account with access to the documentation you want to use   MCP Server for Documentation has been tested with GitHub Copilot, Claude Code and Kiro. Other clients that implement the current MCP protocol and OAuth authentication are expected to be compatible.   Step 1 – Add MCP Server for Documentation to your AI client MCP Server for Documentation is reachable at a single HTTP endpoint: MCP endpoint https://mcp.gw.ext.nxp.com/mcp   Add the server through your client's interface, or directly in your MCP configuration file. For GitHub Copilot in VS Code, open the Command Palette, choose "MCP: Add Server...", select HTTP, and paste the endpoint above. Give the server a name (for example, chipdocs) and choose whether it should apply to all projects or only the current one.   If you prefer to edit the configuration file yourself, the entry looks like this: .vscode/mcp.json { "servers": { "chipdocs": { "url": "https://mcp.gw.ext.nxp.com/mcp", "type": "http" } } }   Adding the MCP Server for Documentation in VS CodeAdding the MCP Server for Documentation in VS Code Step 2 – Authenticate MCP Server for Documentation uses OAuth authentication. Start or activate the MCP Server for Documentation in your client and complete the sign-in flow with your NXP account when authorization is requested.   Step 3 – Verify your connection Confirm that the MCP Server for Documentation tools are available and that the server responds. Try: "Using the ChipDocs MCP, show me which chips are currently available to me."   Step 4 – Check what documentation you have access to Try: "Using the ChipDocs MCP, what manuals are available for the chip I am working with?" If your agent has no project open to infer the device from, name it in the prompt instead – for example, "… what manuals are available for S32K3?" The reply lists the document types and versions your account can read for that product. That single answer confirms all three things at once: the server responds, your sign-in was accepted, and your account is authorized for the documentation.   Step 5 – Run your first grounded hardware query Now ask something a model cannot answer reliably from memory. Try: "Using the ChipDocs MCP, find the LPSPI version ID register on S32K3 and give me the exact offset and bit fields." The answer should use retrieved NXP documentation and provide the requested hardware details instead of guessing device-specific values.     Result of the first grounded hardware queryResult of the first grounded hardware query Watch: Get started with MCP Server for Documentation   The short video below walks through the whole flow – from adding the server and authenticating, to verifying the connection and running your first grounded query.   (function() { var wrapper = document.getElementById('lia-vid-6405633198112w960h540r960'); var videoEl = wrapper ? wrapper.querySelector('video-js') : null; if (videoEl) { if (window.videojs) { window.videojs(videoEl).ready(function() { this.on('loadedmetadata', function() { this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) { bar.setAttribute('role', 'presentation'); bar.setAttribute('aria-hidden', 'true'); }); }); }); } }})(); (view in My Videos) Tips for better results   For the best results, include three things in your prompt whenever possible:   Product – the NXP device you are working with (for example, s32k3xx) Topic – the register, peripheral or concept you are asking about Desired result – what you want back (an explanation, an offset, a code snippet)   Example: "Using ChipDocs MCP, for S32K3 find the LPSPI version ID register and give me the exact offset and bit fields."   Explicitly mentioning "Using ChipDocs MCP" makes it clear that the agent should retrieve information from MCP Server for Documentation instead of answering only from existing model knowledge. Known issues   GitHub Copilot in VS Code may not enable the server automatically – after setup, GitHub Copilot can send requests before authentication completes, so the server may not turn on by itself. When this happens, enable (start) the server manually. This is a VS Code behaviour and has no further effect once the server is enabled.   Support   Your feedback helps shape MCP Server for Documentation. Whether you run into a problem, notice a documentation error, have an idea for how the service could work better, or want a product or document added, we want to hear from you – just let us know which product and document type you need.   Share feedback, report issues, and request additional documentation on the Agentic AI Development feedback page.   What's next for MCP Server for Documentation?   MCP Server for Documentation is actively evolving. Additional NXP product documentation is being added through regular releases, increasing the range of hardware information available to agentic workflows. Capabilities will continue to improve based on developer workflows, product needs and user feedback. Conclusion   MCP Server for Documentation gives your AI agent direct, grounded access to NXP hardware documentation. Instead of guessing device-specific details, your agent can discover the right product, search the documentation and retrieve the real source content – helping you get accurate answers and better code without manually browsing large reference manuals.   Connect MCP Server for Documentation to your AI development environment and give your agent the NXP product context it needs. MCP Server for Documentation is a remote MCP service that connects your AI agent directly to structured NXP hardware documentation, so it can search reference manuals, look up registers and bit fields, and retrieve the real source content before it answers a question or generates code. Getting Started
查看全文
MCUXpresso for VS Code: Combine MCUXpresso or Zephyr projects using AI Introduction This tutorial shows how GitHub Copilot AI, along with the MCUXpresso Combine Projects agent, delivered in the MCUXpresso for VS Code extension, can drive the creation of new projects based on selected examples. MCUXpresso SDK and Zephyr examples from NXP provide a great starting point for learning, but often developers want to combine these examples to rapidly develop prototypes. Instead of manually merging files and resolving build conflicts by hand, an engineer describes the intended combined application in plain language and the agent orchestrates every step.   In this scenario, the engineer asks the agent to accomplish an end-to-end task: Target the FRDM-iMXRT1186 (CM33) board with Zephyr 4.4. Combine the blinky, shell_module, and hello_world examples, all imported fresh from the repository as Freestanding. Add shell commands to turn LED blinking on/off and control the blink rate from the UART console. Clean up the source examples after a successful build. The agent decomposes this request into a sequence of ordered phases – verifying tool availability, selecting and importing examples, enforcing constraints, detecting conflicts, scaffolding a combined project, merging configuration and source, building, and cleaning up. The sections below follow that same order.   The agent supports both Zephyr (prj.conf + devicetree overlays, Zephyr ARM toolchain) and MCUXpresso SDK (SDK components + linker scripts, Arm GNU Toolchain) project types. The scenario shown here uses Zephyr; MCUXpresso SDK projects follow the same flow with the appropriate SDK repository and toolchain.   The agent only performs actions through the extension's own tools, so every step it takes maps directly to functionality you could also trigger manually from the MCUXpresso for VS Code UI. For all structured choices – SDK type, board confirmation, appType , conflict resolution, and cleanup options – the agent uses the #askQuestion tool to surface clickable buttons in the chat UI to reduce the need to type a letter or number by hand. System Architecture   MCUXpresso Combine PROJECTS Agent End-to-End Workflow Overview 📄 Source Projects blinky, shell_module, hello_world (imported or in workspace)     Merge 🤖 Combine Agent MCUXpresso Skills Copilot chat agent     Build 📦 Combined Project combined_ _ single built applicatione   Component Description Source Projects Two or more MCUXpresso Zephyr or MCUXpresso SDK projects targeting the same board. May already be in the workspace or imported fresh by the agent using importExampleFromRepo . Combine Agent The MCUXpresso skill files allow the Copilot agent to orchestrate the full workflow: tool verification, example selection and import (Zephyr or MCUXpresso SDK), constraint enforcement, conflict detection,  project scaffolding, configuration application, source merge, build with DTS regression check(Zephyr only), and cleanup. Uses #askQuestion for all structured choices. Combined Project A new project named combined_ _ , scaffolded from a fresh hello_world example for the same board. The agent merges configuration and source so both functionalities run in the combined app. Getting started   The engineer describes the combined application in a single natural-language prompt, and the agent carries out the ordered phases below – starting the agent, selecting examples, enforcing constraints, resolving conflicts, scaffolding, merging, building, and cleaning up. Prerequisites   Before starting you should have: Visual Studio Code with the MCUXpresso for VS Code extension installed and activated, and GitHub Copilot Chat available. The MCUXpresso tool set enabled in Copilot Chat – click Configure Tools in the bottom-left corner of the chat input window and make sure MCUXpresso is toggled on. At least one SDK or Zephyr repository registered in the extension. A Zephyr / Zephyr NXP repository requires a Zephyr ARM toolchain; an MCUXpresso SDK repository requires an Arm GNU Toolchain. A compatible toolchain installed and reachable from the project's MCUXpresso integrated terminal (installed via the MCUXpresso Installer or the extension's toolchain management). Examples do not need to be imported beforehand – the agent can import them for you during the flow.   Step 1 – Start the agent Open Copilot Chat, select the MCUXpresso Combine Projects agent from the agent picker, or type /mcuxpresso-combine-projects in the chat input. The agent immediately verifies that the MCUXpresso extension tools are accessible in this session by calling listProjectsFromWorkspace . Select the Combine Projects agent or run the /mcuxpresso-combine-projects prompt to start the flow. Phase 0 passes and the agent asks for the SDK type.Select the Combine Projects agent or run the /mcuxpresso-combine-projects prompt to start the flow. Phase 0 passes and the agent asks for the SDK type. Select the Combine Projects agent or run the /mcuxpresso-combine-projects prompt to start the flow. Phase 0 passes and the agent asks for the SDK type.   Alternatively, you can include all required details in the opening prompt and the agent will proceed without asking for them one by one: Providing board, SDK version, example names, appType, and cleanup preference in one prompt lets the agent skip the individual selection questions and go straight to board confirmation.   If the tool call succeeds, the agent proceeds to example selection. If it fails – because the MCUXpresso tool set is not enabled – it stops and tells the user how to enable it via Configure Tools.   Throughout the flow the agent uses the #askQuestion tool to present structured choices (SDK type, board confirmation, appType , conflict resolution, cleanup options) as clickable buttons in the chat UI. You never need to type a letter or number by hand. Plain text is accepted as a fallback when #askQuestion is unavailable.   Constraint: the agent will not advance past this point until the MCUXpresso tools are confirmed available in the current chat session.   Step 2 – Select examples The agent asks for the SDK type (Zephyr or MCUXpresso SDK), then lists the projects currently in the workspace. The engineer chooses which examples to combine – by picking from the workspace list, by naming examples to import fresh, or by mixing both approaches. When more than one matching repository is installed, the agent asks which one to use, then collects the example names and target board.   For any example not yet in the workspace, the agent runs the full import discovery chain: listRepositories → filter to the chosen SDK type → repository selection (if more than one matching repository is found, the agent presents them as a numbered list and asks which one to use for all imports in this session) → listSupportedBoards → explicit board confirmation → listSupportedExamples → user chooses appType → importExampleFromRepo . After each import, listProjectsFromWorkspace is called to confirm the project is registered. If the project files exist on disk but do not appear in the workspace list, the agent automatically falls back to importProject to register the on-disk folder. The agent always asks the user to explicitly confirm the resolved board before listing or importing any examples.   The agent resolves the exact template IDs for each requested example and asks for confirmation before importing.   The agent imports all confirmed source examples into the workspace.   Constraints: the SDK type must be chosen explicitly; appType must be chosen by the user for every import – the agent never assumes a default. The board is always confirmed with the user before any example is listed or imported. The chosen repository is reused consistently for every import in the session, including the hello_world scaffold.   Step 3 – Verify constraints Before any merging begins, the agent enforces three hard constraints across all selected examples: At least two examples must be in the confirmed set. Same SDK type – all examples must use the SDK type chosen in the previous step (Zephyr or MCUXpresso SDK). Same board and core – the BOARD id and variant/core qualifier must be identical across all examples. Different cores of the same SoC do not match.   Constraint: if any gate check fails, the agent stops immediately, reports exactly what is wrong, and waits for the user to correct the problem. It will not fabricate a board match or SDK-type match.   Step 4 – Detect conflicts The agent scans all selected examples for devicetree, Kconfig, and memory-layout conflicts – pin or pinctrl reuse for different functions, chosen nodes pointing at different UARTs, the same CONFIG_* symbol set to incompatible values, and overlapping flash partitions or memory regions.   Non-conflicting settings – distinct peripheral enables, independent Kconfig flags, additional aliases, non-overlapping memory regions – are auto-merged into the combined project without asking. They appear in an Auto-merged summary. The conflict report lists auto-merged settings and presents any true conflicts as numbered options for the user to choose from.   Conflicting settings are presented as a numbered list: option A keeps the value from example X, option B keeps the value from example Y, and option C provides a safe combined value where one genuinely exists. The agent records every decision before continuing.   When no true conflicts are found, the agent says so explicitly, lists the full auto-merged configuration union, and continues straight to scaffolding the combined project without asking for any resolution choices.   Constraint: the agent never resolves a conflict silently – every conflict requires an explicit user choice. Non-conflicting settings are always auto-merged without prompting. Step 5 – Create the combined project The agent imports a fresh hello_world example for the same board – following the same import discovery chain and asking the user for appType – and uses it as the scaffold for the combined application. The default name is combined_ _ ; the user can accept the default or provide a custom name. The agent asks for both the project name and the appType for the scaffold before importing it. The agent confirms the combined project name and appType, then imports the fresh hello_world scaffold as the base for the merge.   The agent then applies the conflict resolutions chosen in the previous phase and auto-includes all non-conflicting configuration from every source example – every peripheral enable, Kconfig flag, alias, and memory region that was listed as auto-merged is added without further prompting.   Constraint: the agent never silently drops a setting a source example needed, and never adds settings that were not present in at least one source example. Step 6 – Merge sources The agent merges the application source from every example into the combined project so both functionalities run. It inventories each example's source files and CMakeLists.txt entries, then: Copies source and header files into the combined project, renaming collisions (e.g. main.c → app_blinky.c ) and prefixing any clashing symbols. Refactors each example's main() into a callable init/run function. Writes a combined main() that runs both workloads – using separate Zephyr threads if either example blocks or loops forever, cooperative calls if both are short. Merges CMakeLists.txt source lists, component dependencies, include directories, and linked libraries, removing duplicates. The merged main.c combines both workloads; prj.conf reflects the union of all required Kconfig settings.   Shared resources – console, GPIO, timers – are reconciled according to the conflict-resolution decisions from the previous phase. Both examples' output is routed to the single chosen console.   Step 7 – Build and verify The agent builds the combined project using the MCUXpresso for VS Code extension build tools ( buildProject / rebuildProject ). It monitors compile and link errors, iterates on fixes, and reports the final FLASH and RAM usage from the build output.   Build restriction: the agent never invokes cmake , ninja , make , or west build directly in a terminal. All builds, cleans, and rebuilds go exclusively through the MCUXpresso extension tools ( #buildProject , #cleanProject , #rebuildProject ). Running build commands in a raw terminal bypasses the extension's environment and toolchain configuration and will produce incorrect results.   After a successful build the agent provides a full summary: what was combined, the conflicts and their resolutions, the new project name and location, and how to flash the firmware to the target board.   Step 8 – Clean up Once the build succeeds, the agent asks what to do with the source examples used for combining. It never touches the combined project itself: A. Keep all source examples in the workspace. B. Remove all source examples from the workspace (with a separate confirmation for disk deletion). C. Choose per example – the agent asks about each one individually. The agent offers three cleanup options for the source examples and asks for explicit confirmation before any disk deletion.   For any removal the agent calls removeProject , asks a follow-up question confirming whether the files should also be deleted from disk, and then re-checks the workspace list to confirm the cleanup is complete.   Constraint: the agent never deletes files from disk without explicit user confirmation. The combined project is never offered for removal. Verifying the Result   The workflow is successful when all of the following hold: The verification gate passed: at least two examples, all sharing the same SDK type and the same board and core. All conflicts were resolved by explicit user choice; all non-conflicting settings were auto-merged. The combined project (e.g. combined_blinky_shell_module_hello_world ) appears in the workspace (confirm with listProjectsFromWorkspace ). The build completed without errors and produced a firmware artifact. The build summary reports the expected FLASH and RAM usage for both combined workloads. Source examples were handled per your chosen cleanup option Troubleshooting   Most issues fall into one of the categories below.   Symptom Likely cause Suggested action MCUXpresso tools not available The MCUXpresso tool set is not enabled in Copilot Chat Click Configure Tools in the bottom-left corner of the chat input, enable the MCUXpresso tool set, then restart the conversation. Verification gate fails – board mismatch Selected examples target different boards or core variants Re-import the mismatched example targeting the correct board, or replace it with a compatible one. Import did not register in workspace importExampleFromRepo succeeded but the project is not listed by listProjectsFromWorkspace The agent automatically falls back to importProject to register the on-disk folder. If this also fails, manually add the project folder via the MCUXpresso Projects view. Configure fails after import Board revision in CMakePresets.json uses the wrong case (e.g. @b instead of @B ) The agent detects and corrects the board revision in CMakePresets.json , cleans the build directory, and re-runs configure and build automatically. Build fails with stale CMake cache A previous failed configure left a partial build directory The agent cleans the build/ directory and re-runs configure before rebuilding. You can also delete the build/ folder manually and run configure again from the MCUXpresso terminal.   Examples
查看全文
MCUXpresso for VS Code: Create, Build, and Debug a new Project using AI     A step-by-step walkthrough of how to use Copilot chat to import a multi-task FreeRTOS example for the LPCXpresso55S69, building it, debugging it, and analyzing memory usage – all driven from a single natural-language prompt. Introduction This tutorial shows how GitHub Copilot AI, along with the MCUXpresso for VS Code extension, can drive a complete FreeRTOS workflow from natural-language prompts: importing an SDK example, building it, debugging it, and analyzing the resulting artifact.   Instead of clicking through views, wizards, and commands, an embedded software engineer describes the intended outcome in plain language and the agent orchestrates the extension's language model tools to carry out each step.   In this scenario, the engineer asks the MCUXpresso agent to accomplish an end-to-end task: Get started quickly with a FreeRTOS example from MCUXpresso SDK. Target the LPCXpresso55S69 board. Import the new project as a freestanding example into the VS Code workspace, then build it. Freestanding will prompt for a folder to save the project. Start debugging and automatically resume execution after 10 seconds. Analyze the build artifact to see how much memory is used. Open the linker file used to build the artifact. The MCUXpresso agent decomposes this request into a sequence of tool calls – discovering boards and SDK revisions, listing suitable examples, importing the chosen example, building all configurations, launching and resuming the debug session, opening the Image Info view, and finally opening the linker script. The sections below follow that same order. The MCUXpresso agent leverages skill files that outline how to perform actions through the extension's own tools, so the steps it takes maps directly to functionality you could also trigger manually from the MCUXpresso for VS Code UI. System Architecture FreeRTOS Multi-Task Example — LPCXpresso55S69 System Architecture Overview Hardware 💻 Host PC MCUXpresso for VS Code MCUXpresso Agent/Skills     USB 🔗 Debug Probe On-board LinkServer CMSIS-DAP     SWD TARGET 📟 LPCXpresso55S69 Runs FreeRTOS example   Component Description Host PC Runs VS Code with the MCUXpresso for VS Code extension and the Copilot AI agent and skills. The agent properly imports the SDK example, builds it, launches the debug session, and opens the Image Info and linker views. Debug Probe The on-board LinkServer / CMSIS-DAP debug probe on the LPCXpresso55S69. Bridges USB from the Host PC to the SWD debug interface of the target MCU, and hosts the GDB server used during debugging. LPCXpresso55S69 Target evaluation board (LPC55S69 dual-core Arm Cortex-M33). Runs the FreeRTOS example with multiple tasks. Getting started The engineer describes the whole goal to the MCUXpresso agent in a single natural-language prompt, and the agent carries out each step below in order. Prerequisites This tutorial assumes the environment has already been prepared with the MCUXpresso Installer, which was previously used to install all required dependencies. Before starting you should have: Visual Studio Code with the MCUXpresso for VS Code extension installed and activated, and GitHub Copilot Chat available. All toolchain and tooling dependencies installed via the MCUXpresso Installer: the Arm GNU toolchain, LinkServer debug probe support, CMake and Ninja, and the west / SDK management tooling. MCUXpresso SDK v26.06 installed via the extension. One LPCXpresso55S69 board connected to the Host PC over USB (using the on-board LinkServer / CMSIS-DAP debug probe). If any dependency is missing, the MCUXpresso agent can open the MCUXpresso Installer for you (see Troubleshooting).   Step 1 – Import a FreeRTOS example The engineer opens Copilot Chat and describes the whole goal to in a single prompt – the board, the preferred kind of example (FreeRTOS, multiple tasks), the SDK version, and the follow-up actions. The engineer states the complete goal in natural language.   To satisfy the request, the agent first establishes the context and locates a suitable example using the extension's discovery tools: mcuxpresso_listSupportedBoards – confirms the LPCXpresso55S69 is a supported board. mcuxpresso_listRemoteRevisions – selects the requested MCUXpresso SDK v26.06 revision. mcuxpresso_listSupportedExamples – finds a FreeRTOS example with multiple tasks (for example a freertos_generic example). mcuxpresso_browseFolder – lets the engineer pick the destination folder for the imported example. Choosing where the example will be imported.   The agent confirms the example selection before importing.   The example is fetched and imported into the workspace.   Step 2 – Build the project Once the example is imported, the agent builds it using mcuxpresso_buildProjectAllConfigs , which compiles all configured build configurations for the project. The agent triggers a build of all configurations.   After a successful build, the imported project is visible in the extension's Projects view, ready for debugging and further analysis. The built project appears in the Projects view.   Step 3 – Debug the project The agent starts a debug session with mcuxpresso_startDebug . This launches the GDB server against the LPCXpresso55S69 through the on-board LinkServer / CMSIS-DAP debug probe, flashes the artifact, and halts at the program entry.   Because the engineer asked to automatically resume execution after 10 seconds, the agent then calls mcuxpresso_continueDebug to resume the program, letting the FreeRTOS tasks run on the target. The debug session starts, then execution is resumed automatically. The complementary tool mcuxpresso_pauseDebug can halt the running program again if you want to inspect state after resuming.   Step 4 – Open Image Info To analyze how much memory the firmware uses, the agent opens the Image Info view with mcuxpresso_openImageInfo . This inspects the build artifact and reports the memory footprint – the sizes of the code and data regions and how they map onto the device's flash and RAM. Image Info reports the artifact's memory usage; the linker script is opened alongside it.   Step 5 – Open the Linker Script Finally, the agent opens the linker file used to build the artifact with mcuxpresso_openLinkerScript . The linker script defines the memory regions and section placement referenced by the Image Info analysis, so the engineer can correlate the reported memory usage with the actual linker configuration (shown in the same screenshot above). Verifying the Result  The workflow is successful when all of the following hold: The FreeRTOS example was imported and appears in the Projects view (you can also confirm with mcuxpresso_listProjectsFromWorkspace ). The build completed without errors and produced a build artifact. The debug session started and execution was resumed after the requested delay. The Image Info view shows the artifact's memory usage. The linker script used for the build is open in the editor. Videos The following videos capture the steps for creating and debugging a project using AI in the MCUXpresso for VS Code extension. 1. Create and import a freestanding SDK project for your NXP board using Copilot in VS Code. (function() { var wrapper = document.getElementById('lia-vid-6405639429112w960h540r214'); var videoEl = wrapper ? wrapper.querySelector('video-js') : null; if (videoEl) { if (window.videojs) { window.videojs(videoEl).ready(function() { this.on('loadedmetadata', function() { this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) { bar.setAttribute('role', 'presentation'); bar.setAttribute('aria-hidden', 'true'); }); }); }); } }})(); (view in My Videos) 2. Build, debug, and analyze memory usage for a FreeRTOS Hello World project with Copilot. (function() { var wrapper = document.getElementById('lia-vid-6405639049112w960h540r139'); var videoEl = wrapper ? wrapper.querySelector('video-js') : null; if (videoEl) { if (window.videojs) { window.videojs(videoEl).ready(function() { this.on('loadedmetadata', function() { this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) { bar.setAttribute('role', 'presentation'); bar.setAttribute('aria-hidden', 'true'); }); }); }); } }})(); (view in My Videos) Troubleshooting Most issues in this workflow come from missing or incomplete dependencies. In almost all cases the fix is to (re)run the MCUXpresso Installer – the MCUXpresso agent can open it for you with mcuxpresso_openInstaller .   Symptom Likely cause Suggested action Project was not imported A west tooling issue (missing or misconfigured SDK management tooling) Start the MCUXpresso Installer ( mcuxpresso_openInstaller ) and (re)install the SDK / west dependencies, then retry the import. Build error A west issue, or no Arm GNU toolchain installed Start the Installer to install or repair the Arm GNU toolchain and build tooling, then rebuild. No debug probe support LinkServer / debug probe support is not installed Start the Installer and install LinkServer / debug probe support, then reconnect the board. Debug session does not start GDB server failed to launch, or probe/toolchain support is missing Inspect the GDB server terminal output for errors. If probe or toolchain support is missing, start the Installer to install it, then start debugging again. Examples
查看全文
Getting Started: MCUXpresso for VS Code Installation & Setup for AI Introduction This Getting Started guide explains how to configure MCUXpresso for VS Code so GitHub Copilot agents can use available AI skills and MCP servers effectively when developing with MCUXpresso software and tools. If you already have MCUXpresso for VS Code installed, you can skip to Step 2 to enable Agentic AI features.  Note: The AI support in the MCUXpresso for VS Code extension is currently an experimental option. Users must enable the support after the extension is installed. Install the Tools The MCUXpresso Installer installs everything you need from a single application. Work through the prerequisites and the two steps below to reach a system that is ready to evaluate the NXP Agentic AI features with GitHub Copilot in VS Code. Prerequisites   Prerequisite Version Link MCUXpresso Installer 26.09+ Download   Note: The MCUXpresso Installer will install ALL software required – VS Code, the extension, and other software dependencies. Follow the instructions below and a single step will establish the base setup.   Step 1 – Install MCUXpresso for VS Code Installer options Enter Administrator mode. On Windows, you may need to run the installer as an administrator to avoid permission-related installation issues. Download and install the MCUXpresso Installer utility.  Launch MCUXpresso Installer from your desktop. Select the following components to install: MCUXpresso SDK Developer Arm GNU Toolchain Standalone Toolchain Add-ons LinkServer MCUXpresso Configuration Tools Note: All other components in the Installer are not required for initial development but can be added later based on other use cases. Click the Install button. Note: The Show details button will expand the selected kits to reveal other items installed as dependencies.   A green check mark will appear next to each item once installation has successfully completed. Step 2 – Enable Experimental AI in MCUXpresso for VS Code Open VS Code Settings Open Settings for the MCUXpresso for VS Code extension to enable the experimental features that support Agentic AI development: Launch VS Code. Open Settings with the shortcut Ctrl + , (Ctrl and comma). Filter by typing mcupresso experimental copilot . Click the box to enable the MCUXpresso Agentic AI resources. Close and relaunch VS Code to finish Agentic AI setup. Done: Your system is now ready to begin evaluating the NXP Agentic AI features using GitHub Copilot in VS Code.   Step 3 – Set up GitHub Copilot AI in VS Code AI features in VS Code require the user to log in to a valid GitHub account. You can use a personal account and receive a Free license, or use a corporate account that may provide Business-level Copilot access.   Display the GitHub Copilot Chat pane. Click on the Right Pane icon in the upper-right corner. Click on the GitHub Copilot icon in the lower-right corner. Log in to a valid GitHub account and authorize VS Code to link with the account. Done: The GitHub Copilot AI features are now active in the Chat pane. Videos The following videos help cover the Getting Started process with GitHub Copilot in VS Code:  1. Connect a GitHub account to Copilot in VS Code and verify it with a simple AI prompt. (function() { var wrapper = document.getElementById('lia-vid-6405641613112w960h540r180'); var videoEl = wrapper ? wrapper.querySelector('video-js') : null; if (videoEl) { if (window.videojs) { window.videojs(videoEl).ready(function() { this.on('loadedmetadata', function() { this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) { bar.setAttribute('role', 'presentation'); bar.setAttribute('aria-hidden', 'true'); }); }); }); } }})(); (view in My Videos) 2. Use Copilot Chat agents, models, context, dictation, history, targets, and permissions in VS Code (function() { var wrapper = document.getElementById('lia-vid-6405640756112w960h540r272'); var videoEl = wrapper ? wrapper.querySelector('video-js') : null; if (videoEl) { if (window.videojs) { window.videojs(videoEl).ready(function() { this.on('loadedmetadata', function() { this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) { bar.setAttribute('role', 'presentation'); bar.setAttribute('aria-hidden', 'true'); }); }); }); } }})(); (view in My Videos) 3. Configure Copilot tools, skills, workspace access, models, and privacy settings in VS Code. (function() { var wrapper = document.getElementById('lia-vid-6405642238112w990h540r360'); var videoEl = wrapper ? wrapper.querySelector('video-js') : null; if (videoEl) { if (window.videojs) { window.videojs(videoEl).ready(function() { this.on('loadedmetadata', function() { this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) { bar.setAttribute('role', 'presentation'); bar.setAttribute('aria-hidden', 'true'); }); }); }); } }})(); (view in My Videos) Getting Started
查看全文