Multi Source Translation Content

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Multi Source Translation Content

ディスカッション

ソート順:
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
記事全体を表示
NXP Model-Based Design Toolbox : From Simulink to NXP Hardware in 5 Prompts using AI This video is currently being processed. Please try again in a few minutes. (view in My Videos) Introduction What if you could go from an idea to a running application on an NXP target using just a few prompts? In this tutorial, an AI agent takes a button-controlled RGB LED application from hardware understanding to a validated Simulink and Stateflow model, then to code generation and deployment on the FRDM-A-S32K312 using Model-Based Design Toolbox (MBDT). The workflow continues into generated-code debugging with S32 Design Studio and finishes by adapting the same application to a hardware change, without redesigning the application logic. The application logic is simple: every valid button press advances through Red > Green > Blue. The selected color remains active for one second, turns off, and the application waits for the next button press. Estimated time: ~60 minutes. System Architecture FRDM-A-S32K312 – Target board used throughout the tutorial for the button-controlled RGB LED application. Prerequisites What you need before starting MATLAB, Simulink, and Stateflow – MATLAB product page MATLAB Agentic Toolkit – MATLAB Agentic Toolkit Simulink Agentic Toolkit – Simulink Agentic Toolkit NXP Model-Based Design Toolbox (MBDT) – MBDT product page MBDT AI Support – GitHub repository S32 Design Studio IDE – S32 Design Studio IDE product page S32 Design Studio AI Support – GitHub repository One FRDM-A-S32K312 evaluation board and a USB cable – FRDM-A-S32K312 board page Important: The initial on-board GPIO assignments and active levels are intentionally discovered from the board documentation in Step 2. Those results become the source of truth for later modeling and target configuration. Steps Run the prompts in sequence. Each stage reuses the model, hardware facts, or configuration produced by the previous stage. Step 0 - Set up the project location Before the first development prompt, the project workspace is already established so the AI agent has a defined location for the files and artifacts used throughout the workflow. Set MATLAB workspace to C:/helloworld. Set the AI agent working directory for this project to C:/helloworld. Use this folder to store and create all additional dependencies for this project. Step 1 - Discover the hardware Before building the model, establish the board-level details: GPIO assignment, pins direction, active level, and the exact logical values required for button detection and LED control. The first engineering task is to understand the hardware. The board schematic is provided to the AI agent so it can identify the RGB LED pins and user-button connections together with the logic values required to control and read them. I want to build a simple demo on the FRDM-A-S32K312 board using the onboard button and RGB LED. Each button press should advance through a color sequence. The first press turns the RGB LED Red for 1 second, the second press turns it Green for 1 second, the third press turns it Blue for 1 second, and then the sequence repeats. After each 1-second indication, the LED should turn off and wait for the next button press. Please analyze the board documentation and schematics, identify the button and RGB LED connections, determine whether they are active-high or active-low, and tell me exactly what logic values are required to detect a button press and turn each LED color on and off. Also confirm that the board can support this application without any hardware modifications. Summarize the GPIO assignments and signal behavior so they can be reused in the next development steps. AI Agent will do the following: Identify the GPIO assignment for BTN_ADVANCE, RGB_RED, RGB_GREEN, and RGB_BLUE. Determine signal direction and active-high or active-low behavior. Capture explicit logic values for button press/release and LED ON/OFF. Confirm whether the initial application can use the existing board hardware without modification. Step 2 - Build the Stateflow application Using the hardware information discovered in the previous step, the AI agent creates the initial Simulink model and implements the application behavior in Stateflow, organizing the LED-control logic in a clear and structured way. Using the hardware information from the previous step, create a Simulink model called s32k312_rgb_led. Do not set a target yet, use plain Simulink for this step. Build the Simulink application logic in Stateflow. Every BTN_ADVANCE button press should advance through a repeating color sequence. The first press shows Red for 1 second, the second press shows Green for 1 second, the third press shows Blue for 1 second, and the sequence repeats. After each 1-second indication, the LED color turns off and the application waits for the next button press. Organize the model cleanly and generate a Stateflow implementation that is easy to understand and ready for the next stages of the workflow. Step 3 - Simulate, test, and fix the logic With the Simulink model available, the next goal is to validate the Stateflow behavior. A 15-second scenario with seven button presses, including a three-second idle interval, is used to exercise the logic while observing button activity, LED transitions, and internal Stateflow state changes. Using the model created in the previous step, prepare a simulation scenario to validate the application behavior. Configure a 15-second simulation and generate a sequence of 7 button press events distributed over the simulation time. At least one interval in between presses shall be 3 seconds long. Create a comprehensive testcase to identify any possible errors in the Stateflow. Run the simulation, verify that the color sequence behaves as expected, and create suitable visualizations showing the button activity, color transitions, and internal Stateflow state changes. Debug the Stateflow and fix any issues. Summarize the simulation results and highlight any issues found. Validation target: One valid press advances exactly one color, the selected output stays active for one second, all LED outputs then return to OFF, and the sequence continues Red > Green > Blue > Red.   Step 4 - Integrate the FRDM-A-S32K312 target Once the application is validated in simulation, the model is prepared for deployment on the NXP target. The existing Stateflow logic is preserved while the hardware I/O and target-specific configuration are added. The validated Simulink model is then prepared for the real evaluation board. The AI agent configures the S32K3 target, integrates the MCU peripherals, connects the application logic to the physical hardware, generates code, builds the application, and deploys it to the FRDM-A-S32K312. Using the validated s32k312_rgb_led model from the previous step, prepare it for deployment on the FRDM-A-S32K312 board. Configure the hardware board as NXP S32K3xx and then set the board as FRDM-A-S32K312 with the S32 Configuration Tools. Add the required Dio blocks for the signals discovered by the hardware analysis and rename the configured signals to RGB_RED, RGB_GREEN, RGB_BLUE and BTN_ADVANCE. Use the GPIO pin names discovered during the hardware analysis, take into account the logic levels to turn the LEDs on or off and detect the button, and preserve the signal names RGB_RED, RGB_GREEN, RGB_BLUE and BTN_ADVANCE. Connect the hardware I/O blocks to the existing application logic and add a variable that counts the number of valid button presses inside Stateflow. When the hardware integration is complete, verify the model configuration, generate the code, build the application, and deploy it to the target board. Step 5 - Debug the generated application After deployment, the generated code is exported into an S32 Design Studio project. The AI agent opens the project, places a breakpoint after the button press is detected on the Red LED path, prepares the debug session, and the breakpoint is reached when the corresponding button event occurs. Application code is generated and it is currently running on the target. Open the generated code in S32 Design Studio, add a breakpoint in the code right after the line where the application is checking that the button is pressed and the Red LED needs to be turned on, and start the debug session. Once the debug session is started, run the application on the board. Optional Step - Adapt the application to the hardware change The final stage demonstrates how the existing application can be adapted when the hardware changes. The RGB LED is rerouted to PTA0, PTA1, and PTA2, while the original signal names, Stateflow logic, and application behavior are preserved as the hardware configuration is updated. RGB LED pins were rerouted in the hardware. Hardware schematic has been changed and the RGB LED has been added externally to the board on the pins PTA0 - RGB_RED; PTA1 - RGB_GREEN and PTA2 - RGB_BLUE. Back up first the S32 Configuration Tools project associated with the model, then modify the S32 Configuration Tools external project to use the new LED configuration. De-initialize the previous pins for the RGB LED and initialize the new pins. Preserve the application logic and preserve the naming from the previous prompts. Why this matters: the application behavior does not change when the physical RGB routing changes. The target configuration moves the outputs to PTA0, PTA1, and PTA2 while the validated Stateflow logic and signal names remain unchanged. Verifying the Result Final check The project and dependencies are organized under C:\helloworld. The board GPIO assignments, polarity, and required logic values are captured from the hardware-analysis stage. The s32k312_rgb_led application implements the repeating Red > Green > Blue behavior. The 15-second simulation with seven button events validates the Stateflow behavior after any necessary fixes. The model uses the discovered hardware I/O and retains the signal names RGB_RED, RGB_GREEN, RGB_BLUE, and BTN_ADVANCE. A Stateflow variable counts valid button presses. The application is generated, built, and deployed to the target. The generated application is opened in S32 Design Studio for source-level debugging. After the hardware change, the previous RGB pins are de-initialized and PTA0/PTA1/PTA2 are configured while application logic is preserved. Troubleshooting Symptom What to inspect Wrong color or inverted LED behavior Recheck the hardware-analysis result and the discovered active levels used at the hardware interface. One press advances more than once Inspect the button stimulus and Stateflow press-event handling so that one valid press produces one sequence advance. Color does not turn off after one second Inspect Stateflow temporal logic and the output assignments on the transition back to the waiting state. Simulation differs from hardware Compare the deployed Dio mapping and polarity handling with the GPIO facts established during hardware analysis. Breakpoint is not visible in the Breakpoints GUI Document the observed GUI limitation and verify the intended debug location using the generated source and actual debugger behavior. Problems after rerouting the LEDs Verify that the former RGB pins were de-initialized and PTA0, PTA1, and PTA2 were initialized in the updated S32 Configuration Tools project. What This Demo Shows The application is simple, but the workflow captures a larger Model-Based Design pattern: understand the hardware, build an executable application model, validate the behavior before target integration, deploy it to real hardware, inspect generated code when needed, and absorb a late hardware change without rewriting the application logic. From prompt to hardware application using AI Agent: understand the board, model the behavior, validate the application, deploy, debug, and adapt the hardware without rewriting the application. Examples Getting Started
記事全体を表示