Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
i.MX6SLL 寄存器编程辅助工具 重要提示:如果您有任何疑问或想要报告有关 DDR 工具或支持文档的任何问题,请在i.MX 社区中创建支持工单。请注意,任何私人消息或直接邮件不会被监控,也不会收到回复。 这是针对与 MMDC 初始化相关寄存器的详细编程辅助资料。最后一张表格格式化寄存器设置以便与 ARM RealView ICE 一起使用。它还可以与 DDR 压力测试的 Windows 可执行文件一起使用。此编程辅助工具用于内部 NXP 验证板。 i.MX6 全部 i.MX6SL
記事全体を表示
スマートホーム、ビル、照明向けのNXPコネクティビティソリューションと、コンシューマ、医療、インダストリアルIoT、オートモーティブ市場向けのBLE低電力ソリューション <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このセッションでは、まず、NXPのワイヤレス・コネクティビティ・マイコン・ポートフォリオがIoT市場に対応するために含まれる製品、ソフトウェア、およびイネーブルメントの概要を説明します。次に、Thread™ネットワーキングテクノロジーと、NXPのThread StackおよびZigBee® Dotdotアプリケーションレイヤーを使用してアプリケーションを開発する方法について、より深く掘り下げてデモします。このセッションでは、最新のQN9080/83超低電力BLE WMCUおよびKW35/36車載および産業用BLE WMCUを含むNXP BLE製品ファミリも紹介し、対象とするユースケース、デバイスの機能、BLEとスタックのハイライト、およびイネーブルメントのサポートについて詳しく説明します。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このセッションでは、まず、NXPのワイヤレス・コネクティビティ・マイコン・ポートフォリオがIoT市場に対応するために含まれる製品、ソフトウェア、およびイネーブルメントの概要を説明します。次に、Thread™ネットワーキングテクノロジーと、NXPのThread StackおよびZigBee® Dotdotアプリケーションレイヤーを使用してアプリケーションを開発する方法について、より深く掘り下げてデモします。このセッションでは、最新のQN9080/83超低電力BLE WMCUおよびKW35/36車載および産業用BLE WMCUを含むNXP BLE製品ファミリも紹介し、対象とするユースケース、デバイスの機能、BLEとスタックのハイライト、およびイネーブルメントのサポートについて詳しく説明します。
記事全体を表示
New CodeWarrior for MCU V10.7 is available Greetings, CodeWarrior for MCU V10.7 is now available for download from nxp.com at CodeWarrior for Microcontrollers-Eclipse IDE|NXP   Major features Combines all the previous CodeWarrior for MCU V10.6.x downloads into a single download and installer Windows 8 and 10 support Added S12Z and S08 device support Updated P&E and Segger debug libraries Various enhancements and bug fixes See attached release notes for details.   It is available as 'offline' and 'online' version: The offline package contains all architectures supported (ColdFire, ColdFire+, S08, RS08, S12, S12/XGATE, S12Z, DSC, Qorivva, Kinetis), while the online setup executuble contains the common parts, and the selected architectures are downloaded on demand. The setup will install a 30 day temporary professional license which afterwards default to 'special' edition (code size limited) mode. CodeWarrior for MCU V10.7 is compatible with V10.6 and any existing professional V10.6 license can be used with V10.7. It is not necessary to uinstall any previous CodeWarrior version, as V10.7 can be installed side by side with existing CodeArrior versions.     NXP CodeWarrior Team General Re: New CodeWarrior for MCU V10.7 is available hi       Does this software support MPC5748G development? Re: New CodeWarrior for MCU V10.7 is available thank you very much! Re: New CodeWarrior for MCU V10.7 is available Hello, yes, the offline package contains all the architectures shown in your last screenshot. So it supports the S12Z, and *not* the normal S12 you are showing in your previous screenshot: If you want to use S12, you have to use Codewarrior (classic, not Eclipse based) 5.x. And yes, USBDM is not included in that installation, but I think you can add it (refer to the USBDM pages for this). I hope this helps, Erich Re: New CodeWarrior for MCU V10.7 is available Hi Erich Styger,This offline package contains all architectures supported (ColdFire, ColdFire+, S08, RS08, S12, S12/XGATE, S12Z, DSC, Qorivva, Kinetis)? I want to add same S12 derivatives (For example,MC9S12G48).What do I need to do?  I need to use USBDM,but CodeWarrior5.1/5.2 don't support it.
記事全体を表示
An Overview on QorIQ Trust Features for Securing Embedded Systems EUF-NET-T1742 - This session provides an overview on the security technologies NXP offers to secure a system through two complementary technologies: 1) the Trust Architecture already present in QorIQ P- and T-series including Secure Boot and 2) the TrustZone® technology introduced in the ARM®-based QorIQ LS series processors. We will outline the motivations for offering these technologies in embedded processors and show how they can be complementary for making a final system “Trustable” in the sense it does what its users and suppliers expect it to do. EUF-NET-T1742 - This session provides an overview on the security technologies NXP offers to secure a system through two complementary technologies: 1) the Trust Architecture already present in QorIQ P- and T-series including Secure Boot and 2) the TrustZone® technology introduced in the ARM®-based QorIQ LS series processors. We will outline the motivations for offering these technologies in embedded processors and show how they can be complementary for making a final system “Trustable” in the sense it does what its users and suppliers expect it to do.
記事全体を表示
MQX FlashXドライバー – FlexNVMの書き方は? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 1. FlexNVMとFlashXに関する基本的な質問と回答をいくつか紹介します。 1.1 FlexNVMとは何ですか? FlexNVMは、データフラッシュとして、エミュレートされたEEPROMの不揮発性ストレージとして、または両方のオプションの組み合わせとして使用できるフラッシュメモリの追加の個別のブロックです。このドキュメントでは、最初のオプションであるFlexNVMが単にデータフラッシュとして機能することに焦点を当てます。 FlexNVMは、部品番号の専用箇所に「X」を含むMCU部品に含まれています。例えば: MK64FX512VMD12 には、1 ブロック (512 KB) のプログラムフラッシュと 1 ブロック (128 KB) の FlexNVM が含まれています。 MK64FN1M0VMD12 には、2 ブロック (各 512 KB) のプログラムフラッシュのみが含まれています。 FlexNVMとフラッシュブロックの詳細については、MCUリファレンスマニュアルを参照してください。たとえば、「フラッシュメモリサイズ」の章です。 1.2 FlashXとは何ですか? MQX FlashXドライバは、内部フラッシュへの書き込みと内部フラッシュからの読み出し機能を提供します。残念ながら、FlexNVM メモリはデフォルト ステートでは部分的にしかサポートされておらず、一部の BSP ではエミュレートされた EEPROM の設定と機能が実装されています (flexnvm サンプル コード)。詳細については、c:\Freescale\Freescale_MQX_4_2\doc\mqx フォルダの MQX_IO_User_Guide.pdf を確認してください。 1.3 FlexNVMを搭載したマイコンを搭載した自分のボードで、FlexNVMのないマイコン用BSPを使用できますか? お勧めしません。ただし、この BSP を独自のボード BSP のベースとして使用することができます。MQX_BSP_Cloning_Wizard_Getting_Started.pdfご確認ください。ドキュメントをC:\Freescale\Freescale_MQX_4_2\docフォルダにMQX_BSP_Porting_Guide.pdfおよびMQX_BSP_Porting_Example_User_Guide.pdfします。 1.4 KSDKプロジェクトでFlashXを使用できますか? 残念ながら、FlashXドライバはKSDKに実装されていませんでした。KSDKには、C90TFS/FTFxフラッシュファミリ用の独自の標準ソフトウェアドライバ(SSD)が含まれていますが、これはFlashXドライバの場合のような高レベルの抽象化レイヤーがない低レベルのドライバです。 2. FlexNVMをサポートするためのMQX FlashXドライバーのアップデート手順。 2.1これらのファイルをバックアップしてください: user_config.h、 .h 、init_flashx.c、flash_ftfl.c と flash_ftfe.cファイル。注: user_config.h、 .h および init_flashx.cBSPコードの一部です。 2.2 user_config.h で FlashX を有効にする定義によるファイル: #define BSPCFG_ENABLE_FLASHX 1 2.3 .h の更新ファイル: 2.3.1 MCUリファレンスマニュアルを確認し、必要に応じてBSP_INTERNAL_FLASH_BASE、BSP_INTERNAL_FLASH_SIZE、BSP_INTERNAL_FLASH_SECTOR_SIZEを更新してください。通常、FlexNVMのないBSPが自身のBSPのベースとして使用された場合は、BSP_INTERNAL_FLASH_SIZEを減らす必要があります。 2.3.2メモリマップでFlexNVMを定義する新しいマクロを追加します。例えば: #define BSP_INTERNAL_FLEXNVM_BASE 0x10000000 #define BSP_FLEXNVM_SECTOR_SIZE 0x400 #define BSP_INTERNAL_FLEXNVM_SIZE 0x00008000 2.4 BSPフォルダの init_flashx.c を更新します。 2.4.1 FlexNVMファイルブロックを_bsp_flashx_file_blocks[]テーブルに追加します。例えば:     データフラッシュファイルブロック { "dflash", BSP_INTERNAL_FLEXNVM_BASE, (uint32_t) (BSP_INTERNAL_FLEXNVM_BASE+ BSP_INTERNAL_FLEXNVM_SIZE - 1) }, パラメータは{ファイルブロック名、開始アドレス、終了アドレス}です。 注:これは純粋なソフトウェアインターフェースです。アドレスの範囲は、物理フラッシュ ブロック パラメーターに合わせる必要はありません。必要に応じてファイルブロックを整理できます。 2.4.2FlexNVM BSP をベースとして非 FlexNVM BSP を使用していた場合は、KinetisX デバイスの HW ブロック マップを変更する必要があります。_bsp_flashx_init構造で_flashx_kinetisN_block_mapを_flashx_kinetisX_block_mapに変更してください。 2.5 flash_ftfl.c または flash_ftfe.c を更新するファイル: 2.5.1 お使いのMCUにFTFLまたはFTFEフラッシュメモリモジュールがあるかどうかをMCUリファレンスマニュアルを参照し、編集する適切なファイルを選択してください。 2.5.2FlexNVMメモリブロックを_flashx_kinetisX_block_map[]テーブルに追加します。例えば: { BSP_INTERNAL_FLEXNVM_SIZE / BSP_FLEXNVM_SECTOR_SIZE, (_mem_size) BSP_INTERNAL_FLEXNVM_BASE, BSP_FLEXNVM_SECTOR_SIZE }, // FlexNVMブロック パラメータは{number of sectors, start address, sector size}です。 注:これは、物理ハードウェアメモリブロックの説明です。アドレスの範囲は、物理フラッシュ ブロック パラメーターに適合する必要があります。 2.5.3次に、FlexNVMアドレスの問題を修正する必要があります。プログラムフラッシュとFlexNVMフラッシュはFTFE_FCCOBn FTFL_FCCOBnどちらも、FCCOB1..FCCOB3には、24ビット形式のアドレスが含まれています。したがって、FlexNVMアドレスを直接操作することはできません - FlexNVMベース0x10000000のため、24ビットに収まりません。 FTFL/FTFE モジュールでは、24 ビット アドレスの最上位ビット (ビット 23) がプログラム フラッシュと FlexNVM フラッシュの区別に使用されるように指定されています。たとえば、次のようなコードを使用できます。 FlexNVMフラッシュアドレスのときに23ビットを設定 IF(write_addr & BSP_INTERNAL_FLEXNVM_BASE)     { write_addr = write_addr |(1<<23);     }   そして、このコードを必要な関数に追加してから、command_array[]に書き込みます( command_array[] の内容はFTFL_FCCOBn/FTFE_FCCOBnレジスタの埋めに使用されます)。 FlashXサンプルコードの基本的な作業には、少なくともftfl_flash_erase_sector()/ftfe_flash_erase_sector()およびftfl_flash_write_sector()/ftfe_flash_write_sector()関数を更新する必要があります。 2.6.これらの変更後、flash_demo.c で FlashX のサンプルコードを使用してみてくださいデフォルトのプログラムフラッシュファイルブロックの代わりにFlexNVMファイルブロックを開くだけです。例えば: #define FLASH_NAME 「flashx:bank0」 #define FLASH_NAME「flashx:dflash」 添付ファイルには、MQX4.2.0およびMK20DX72 MCUの変更例があります。 3.フラッシュの書き換え方法 - 一般的な注意事項: フラッシュ・データは、プログラミングされる前に消去済みの状態にある必要があります。 ビットの累積的なプログラミング(より多くのゼロの追加)は許可されません。 FTFLモジュールとFTFEモジュールの両方の場合、整列されたフレーズ(通常は64ビット)でフラッシュをプログラムします。より小さなチャンク(バイト単位など)でプログラムが必要な場合、FTFLモジュールでは、推奨されていなくてもこのフレーズに書き込むことができます。ただし、FTFEモジュールは、同じフレーズに2回目の書き込みを行うとバス障害を引き起こします。したがって、すでに書き込まれたFTFEフレーズのデータを変更する方法を保存する方法は、セクター全体を消去してデータを書き換え直すだけです。そのため、FTFEモジュールにはioctlコマンドFLASH_IOCTL_ENABLE_SECTOR_CACHEを使用してください。セクタ キャッシュの割り当ては、フル セクタ書き込みと、デスティネーション領域 (フレーズに揃えられた) が空白の部分的なセクタ上書きの場合には必要ありません。 Re:MQX FlashXドライバ - FlexNVMの書き方は? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちはシュリダール、 FlexNVM の場合: flash_ftfl.cの_flashx_kinetisX_block_map[]テーブルも編集する必要がありますファイルを作成し、FlexNVMブロックの説明を追加します。 FlexRAM の場合: 電源を切る前にフラッシュ/クローズ機能を使用しましたか? FlexRAMの使用例については、c:\Freescale\Freescale_MQX_4_2\mqx\examples\flexnvmを参照してください。 EEPROM エミュレーションを有効にするまで、ターゲットの FlexRAM メモリ範囲は「標準」RAM のように機能します。 もちろん、FlexNVMメモリをデータフラッシュとして使用するか、エミュレートされたEEPROMとして使用するか、FlexNVMメモリを2つのセクションに分割して両方のオプションを使用するかを選択する必要があります(その場合、メモリ範囲はそれに応じて更新する必要があります)。 いずれにせよ、空のMCUをデフォルト設定のFlexNVMメモリはデータフラッシュとして、FlexRAMは「標準」RAMとして使用できます。エミュレートされたEEPROM(FlexRAM)を使用する場合は、FlexNVMメモリを設定する必要があります(Program PartitionコマンドおよびSet FlexRAM Functionコマンド)。flexnvm サンプルコードを参照してください...
記事全体を表示
2015年入学人数 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 如果您愿意学习新技术、使用开源软件并推广您对 Linux、物联网和嵌入式的新颖想法,那么 Linux 嵌入式挑战赛就是您让所有人惊叹的机会。 组建您的团队(1-3 名成员)并研究与物联网相关的项目构想,可以使用 Freescale Linux BSP / Android 和Udoo 平台实现。 挑战自己并通过发送电子邮件至[email protected]报名参加 Linux 嵌入式挑战赛。 电子邮件的格式为: 主题: [LEC2015] [TEAMNAME] 项目名称 团队描述 项目描述: 详细描述你的想法 包括架构图和使用的技术 提及它为物联网世界带来的改进。 请用英文提交您的投稿。 2015年Linux嵌入式挑战赛
記事全体を表示
T1040 L2Switch ソフトウェアのサポート <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このドキュメントでは、QorIQ TシリーズL2Switchソフトウェアのアーキテクチャを紹介し、L2Sとデモ・アプリケーション、SMBStax(L2Switchスタック)を使用してL2Switch対応機能を実装する方法について説明します。L2Switch対応機能は、L2スイッチ・ユーザー・スペース・ドライバが提供するAPIを呼び出します。 1. T1040 L2Switch ポート接続 2. T1040 L2 スイッチ ソフトウェア アーキテクチャ 3. L2Switchデモアプリケーションの機能と使用法 3.1 制御ポートと統計 3.2 ポートベースのVLANを構成する 3.3制御MACテーブル 4. SMBStaxのL2スイッチ機能の実装 4.1 ミラーリング SPAN 4.2 802.1 X NetWork アクセスサーバーの設定 4.3 QoS 設定 4.4 L2Switch MACアドレスのリアリングと転送 4.5 L2Switch LLDP-MED機能 QorIQ T1デバイス 日時:T1040 L2Switchソフトウェアのサポート <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、Yipingさん T1040 L2switch のポリシーサポートは dest MAC アドレスを変更しますか? それとも、T1040 DPAAはdest macの変更をサポートしていますか? どうもありがとうございます。 ジル
記事全体を表示
系统控制器固件 101 - 入门 使用评估套件时,你会获得一个包含在 BSP 中的系统控制器固件 (SCFW) 二进制文件。此 SCFW 二进制文件是为特定开发板量身定制的,你可能需要修改一些板级依赖项以适配你的特定硬件。 本文件旨在提供有关SCFW移植流程的概述,详细信息请参阅《系统控制器移植指南》(sc_fw_port.pdf)。 系统设置 SCFW 是在 Linux 主机上构建的。设置系统的步骤如下: 从 ARM 官网下载 GNU ARM 嵌入式工具链:6-2017-q2-update(2017 年 6 月 28 日版本): 选择一个目录解压该文件,例如: mkdir ~/gcc_toolchain cp ~/Downloads/gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2 ~/gcc_toolchain/ cd ~/gcc_toolchain/ tar xvjf gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 将 TOOLS 环境变量设置为包含工具链的目录,在上面的示例中为 “~/gcc_toolchain”,也可以修改 .bash_profile 来导出此环境变量: export TOOLS=~/gcc_toolchain/ 构建过程还需要 srec_cat,它通常包含在 srecord 包中,在 Ubuntu 上可以执行: sudo apt-get update sudo apt-get install srecord 现在你可以切换到移植工具包目录(例如 scfw_export_mx8qm)并构建 SCFW。 系统控制器固件移植工具包 SCFW移植套件包含源文件和目标文件,这些文件将允许您修改SCFW以使其与您的开发板兼容。 你可以从 i.MX 软件和开发网页获取最新的系统控制器固件移植工具包: 获取移植工具包后,解压它: tar xvzf imx-scfw-porting-kit-1.1.tar.gz‍ 您将看到以下的文件结构: 移植工具包包含在 packages 目录下,README 文件中包含提取移植工具包的说明,主要步骤如下: cd packages/ chmod a+x imx-scfw-porting-kit-1.1.bin ./imx-scfw-porting-kit-1.1.bin‍‍‍ 您将被提示接受最终用户许可协议: 接受协议后,移植工具包将被提取到一个新文件夹中,文件夹结构如下: 所有关于 SCFW 的文档都在 doc/pdf 目录下,也有 html 格式可供选择,建议阅读 sc_fw_port.pdf。 不同 SoC 变体(QM A0、QM B0 和 QXP B0)的移植工具包在 src 目录下,以 tar.gz 格式打包,其他所有文件都是用于不同软件包(如 Linux、QNX、FreeRTOS、U-boot、ARM 可信固件等)的 SCFW 库。 如果你要处理多个 SoC 变体(同时处理 QXP 和 QM),建议将所有移植工具包提取到一个目录中,这样你就可以从该目录为任何变体进行构建,执行以下命令: cd imx-scfw-porting-kit-1.1/ cd src/ find scfw_export_mx8*.gz -exec tar --strip-components 1 --one-top-level=scfw_export_mx8 -xzvf {} \;‍‍‍ 将创建一个 scfw_export_mx8 文件夹,从这里你可以为任何受支持的变体构建 SCFW。或者,你也可以只提取你感兴趣的变体的包并使用它。 cd scfw_export_mx8/‍ 所有构建文件夹都包含 SCFW 的构建结果,而 platform 目录则存储 SCFW 的源代码。 所有特定于开发板配置的代码都在 “platform/board/mx8 _ ” 目录下,其中 derivative 是 i.MX8 芯片系列(如 QXP 或 QM),board name 是 SCFW 包所针对的开发板名称。 将 SCFW 移植到你的开发板的第一步是为你的 i.MX8 衍生产品和开发板创建一个文件夹,你可以选取一个现有的开发板示例并重命名该文件夹,这将为你提供一个入门项目,例如: cp -r platform/board/mx8qm_val/ platform/board/mx8qm_myBoard/‍‍‍‍‍‍‍‍‍‍ 在此示例中,该开发板将被称为 “myBoard”,它适用于 i.MX8QM B0 设备。要为该开发板构建 SCFW,只需执行: make qm R=B0 B=myBoard‍‍‍‍‍‍‍‍‍‍‍‍ 如果目标是 i.MX8QXP,只需选取一个基于该设备的开发板,并将命令改为 “make qx”。 更多信息(如构建选项和详细的启动信息)可以在《SCFW 移植指南》(sc_fw_port.pdf)中找到,该文档的第 2 章是对移植过程的清晰介绍。 概述和有用信息 PMIC 配置概述和 board.c 的常见修改 需要修改的主要文件(如果不是唯一的话)是 “board.c” 文件,它位于 “platform/board/mx8X_board/” 目录下。board.c 文件包含大多数与开发板相关的信息,如 SCU UART 端口、PMIC 初始化程序、PMIC 温度报警设置,你还可以修改它来配置 LDO 电压并与 PMIC 进行总体通信。board.c 文件中的所有函数都由 SCU 本身执行,这使你能够访问用于与 PMIC 通信的 I2C 接口。 由外部电源(例如 PMIC LDO)供电的 SoC 资源(如 AP 内核和 GPU)通过 board_set_power_mode 进行开关,资源到特定 PMIC 电源的映射在 board_get_pmic_info 中进行,例如,在我们的 i.MX8QM 验证板上,使用 A53 子系统由 PF100 PMIC 卡上第三个 PMIC(PMIC_2_ADDR 地址从 PMIC_0 开始)的 SW2 供电,由 PF8100 PMIC 卡上第一个 PMIC (PMIC_0_ADDR) 的 SW5 供电。 case SC_SUBSYS_A53: pmic_init(); if (pmic_card == PF100) { pmic_id[0] = PMIC_2_ADDR; pmic_reg[0] = SW2; *num_regs = 1; } else {/* PF8100_dual Card */ pmic_id[0] = PMIC_0_ADDR; pmic_reg[0] = PF8100_SW5; *num_regs = 1; } break; ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 由外部电源(AP 内核、GPU 等)供电的 SoC 资源的电压由 board.c 文件中的 board_set_voltage 管理。资源到电源的映射如上面的示例所示,在 board_get_pmic_info 中进行。 有八个 “板载资源” (SC_R_BOARD_R0,... SC_R_BOARD_R7)b 可用,这些资源允许你定义 SCU 可以管理的开发板上的组件,例如,开发板上由某个 PMIC LDO 供电的传感器可以映射到一个板载资源,并且可以修改 board.c 文件来开关该传感器以及修改其电压。 修改板载资源的电压可以通过修改 board_trans_resource_power 处的电压来完成(见下文),或者如果需要在运行时更改电压,可以修改 board_set_control 函数,以便在对该资源进行杂项调用(详见《杂项服务 101》)时更改电压。例如,要更改 SC_R_BOARD_R7 上的电压,你可以在 board_set_control 中使用以下情况: case SC_R_BOARD_R7: if (ctrl == SC_C_VOLTAGE) { /* Example only PMIC_X_ADDR and PMIC_SUPPLY need to match an actual device */ pmic_interface.pmic_set_voltage(PMIC_X_ADDR, PMIC_SUPPLY, val, step); } else return SC_ERR_PARM; break;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 每当应用程序调用以下函数时,SCU 将执行上面的代码: sc_misc_set_control( ipc, SC_R_BOARD_R7, SC_C_VOLTAGE, voltage_val);‍‍‍‍‍‍‍‍ 板载资源的开关在 board.c 文件的 board_trans_resource_power 中进行。例如,在 NXP 的验证板上,板上的 PTN5150 通过板载资源 0 进行管理,其开关管理如下: case BRD_R_BOARD_R0 : /* PTN5150 (use SC_R_BOARD_R0) */ if (pmic_ver.device_id == PF100_DEV_ID) { if (to_mode > SC_PM_PW_MODE_OFF) { pmic_interface.pmic_set_voltage(PMIC_2_ADDR, VGEN6, 3300, SW_RUN_MODE); pmic_interface.pmic_set_mode(PMIC_2_ADDR, VGEN6, VGEN_MODE_ON); } else { pmic_interface.pmic_set_mode(PMIC_2_ADDR, VGEN6, VGEN_MODE_OFF); } } else {/* PF8100_dual Card */ if (to_mode > SC_PM_PW_MODE_OFF) { pmic_interface.pmic_set_voltage(PMIC_1_ADDR, PF8100_LDO1, 3300, REG_RUN_MODE); pmic_interface.pmic_set_mode(PMIC_1_ADDR, PF8100_LDO1, RUN_EN_STBY_EN); } else { pmic_interface.pmic_set_mode(PMIC_1_ADDR, PF8100_LDO1, RUN_OFF_STBY_OFF); } } break;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 每当从应用程序端调用以下函数时,SCU 将执行上面的代码: sc_pm_set_resource_power_mode(ipc, SC_R_BOARD_R0, SC_PM_PW_MODE_ON/OFF);‍‍‍‍‍‍‍‍ board_config_sc 用于标记 SCU 需要的资源,例如用于与 PMIC 通信的 I2C 模块和焊盘,board.c 函数工作所需的任何资源都应在此函数中标记为不可移动,例如,要保留 SCU I2C 模块,需添加以下行: rm_set_resource_movable(pt_sc, SC_R_SC_I2C, SC_R_SC_I2C, false);‍‍‍‍‍‍‍‍‍ 以下焊盘属于 SCU,应用程序无法访问它们: - SC_P_SCU_PMIC_MEMC_ON - SC_P_SCU_WDOG_OUT - SC_P_PMIC_EARLY_WARNING - SC_P_PMIC_INT_B - SC_P_SCU_BOOT_MODE0 到 SC_P_SCU_BOOT_MODE5 board_system_config 是早期资源管理发生的地方,该函数仅在图像中设置了 alt_config 标志时被调用,并且它可以创建分区并为其分配资源。更多详细信息可在资源管理服务 101 中找到。 board_get_pcie_clk_src 定义了 PCIe 使用的时钟,它可以是 BOARD_PCIE_PLL_EXTERNAL 或 BOARD_PCIE_PLL_INTERNAL。 board_print 对于调试你的更改非常有用,其语法如下: board_print(3, "Debug printout %d\n", val);‍‍‍‍‍‍‍ 其中第一个参数是调试级别,从那里开始它的工作方式与标准 printf 相同。只有当 SCU 是在相应的调试级别下构建时,输出才会在 SCU 调试输出上可见,在上面的示例中,需要按以下方式构建 SCFW 才能看到输出: make qm B=myBoard‍‍‍‍ DL=3 or higher (debug level goes from 0 to 5)‍‍‍‍‍‍‍ 用法示例 以下工具展示了如何发出系统控制器固件请求,并提供了一种通过 QNX 和 Linux 上的命令行界面发出此类请求的方法 适用于 Linux 和 QNX 的系统控制器固件命令行工具 系统控制器固件 101 i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus
記事全体を表示
S32DS - HOWTO 列表 安装和激活 如何下载、安装、激活并使用 S32 Design Studio 3.6 操作指南:激活 S32 Design Studio 操作指南:S32 Design Studio 扩展与更新的离线安装 S32DS 扩展与更新:功能说明及使用指南 操作指南:将 Lauterbach TRACE32 调试器插件安装至 S32 Design Studio 操作指南:安装 GHS 编译器插件 入门指南 S32 Design Studio 3.6 中的最新动态 S32DS 快速入门指南 S32 Design Studio 3.5 使用技巧和窍门 操作指南:S32 Design Studio - 基于示例创建新的 S32DS 项目 操作指南:S32 Design Studio - 创建新的应用程序项目 HOWTO:使用S32K1xx RTD与AUTOSAR创建一个闪烁LED示例项目 操作指南:在没有 AUTOSAR 的情况下使用 S32K1xx RTD 创建一个闪烁 LED 的示例项目 操作指南:使用不带 AUTOSAR 的 S32 RTD 为 S32G 创建 LED 闪烁应用项目 操作指南:使用带 AUTOSAR 的 S32 RTD 为 S32G 创建 LED 闪烁应用项目 操作指南:使用支持 AUTOSAR 的 S32 RTD 创建 S32M2xx LED 闪烁工程 操作指南:使用不支持 AUTOSAR 的 S32 RTD 创建 S32M2xx LED 闪烁工程 操作指南:使用不支持 AUTOSAR 的 S32 RTD 创建 S32R45 LED 闪烁工程 HOWTO:使用S32 RTD和AUTOSAR为S32R45创建一个闪烁LED应用程序项目 操作指南:使用不支持 AUTOSAR 的 S32 RTD 创建 S32R41 LED 闪烁工程  操作指南:使用 S32 RTD(支持 AUTOSAR)创建 S32R41 LED 闪烁应用工程 操作指南:使用 S32 配置工具创建 S32V2xx 简易 LED 闪烁工程 操作指南:使用不支持 AUTOSAR 的 S32 RTD 创建 S32Z27x LED 闪烁工程 操作指南:在 S32DS 中基于示例创建 APEX2 工程 操作指南:在 S32DS 中基于示例创建 S32 平台的 ISP 工程 操作指南:基于 'RSDK_S32DS_template' 示例创建新工程  构建工具和标准库 如何:将静态库文件添加到 S32 Design Studio GCC 项目中 操作指南:使用 GNU 构建工具将二进制文件链接到应用程序工程   操作指南:在构建结束时显示内存使用百分比  调试与闪存编程 操作指南:配置 S32V234 EVB 以支持 S32DS Vision 和 Linux BSP 调试 在 Eclipse GDB 控制台中使用 GDB Server Monitor 命令 操作指南:使用 GDB PEMicro 调试接口构建工程并配置调试环境 操作指南:为 S32 调试探头配置静态 IP 地址 如何:从 S32G274A EVB 上的 S32 Design Studio 启动 S32 调试器 操作指南:在 S32R45 评估板上从 S32 Design Studio 启动 S32 调试器 操作指南:在 S32R41 评估板上从 S32 Design Studio 启动 S32 调试器 操作指南:使用 S32 调试探头对 S32G2xx 进行命令行 GDB 调试 操作指南:使用 S32 调试探头对 S32R45 进行命令行 GDB 调试  如何:使用 S32 调试探针进行 S32R41 命令行 GDB 调试 HOWTO:使用 S32 调试器和 S32 调试探针对 S32G274A EVB 进行 JTAG Flash 编程 操作指南:使用 S32 调试器和调试探头对 S32R45 评估板进行 JTAG 闪存编程  操作指南:使用 S32 调试器和调试探头对 S32R41 评估板进行 JTAG 闪存编程 操作指南:通过 S32DS IDE 实现安全调试(使用 S32 调试器和调试探头) 操作指南:在 S32G2xx 上使用 S32 调试器和 S32 调试探针启动跟踪 操作指南:在 S32R45 上使用 S32 调试器和调试探头启动跟踪功能 操作指南:在 S32V2xx 上使用 S32 调试器和调试探头启动跟踪功能 与 Eclipse 共享调试配置 使使用 Eclipse 和 GDB 调试启动代码 操作指南:为现有项目添加新的调试器配置 操作指南:在 S32G274A 评估板上使用 S32 调试探针进行命令行 JTAG 闪存编程 操作指南:在 S32R45 评估板上使用 S32 调试探头进行命令行 JTAG 闪存编程 操作指南:在 S32R41 评估板上使用 S32 调试探头进行命令行 JTAG 闪存编程 操作指南:使用 FlashSDK 为 S32 Flash Tool 添加 QuadSPI 闪存设备支持 操作指南:使用 S32 调试探头编程串行 RCON S32K3 安全调试支持 | PEmicro 操作指南:使用 S32 调试器调试 S32R45 的 LAX 操作指南:使用 S32 调试器调试 S32R45 的 SPT HOWTO:使用 S32 调试器在 S32R45 上调试 BBE32 DSP 操作指南:使用 S32 调试器调试 S32R41 的 SPT S32 调试器 Zephyr 线程感知功能用户手册 S32 配置工具 操作指南:使用 DCD 工具创建设备配置数据镜像  如何使用 IVT 工具创建 Blob 图像 操作指南:使用 IVT 工具创建 Blob 图像 S32G274A 操作指南:使用 IVT 工具创建 S32R45 的 Blob 镜像  实时驱动程序 (RTD)、S32 SDK 和其他 SDK 如何下载 RTD 5.0.0 并在 S32 Design Studio 3.6 中安装 操作指南:使用 AMMCLib SDK 操作指南:将自定义 SDK 添加到现有项目 操作指南:将 S32K1xx SDK 项目从 v4.0.1 迁移至 v4.0.2  操作指南:在 S32 调试器和 PEMicro 中使用 FreeRTOS 操作系统感知功能 在 ARM Cortex-M 上实现 FreeRTOS 性能计数器 | MCU on Eclipse 如何:将 FreeRTOS 堆移入 DTCM 内存 - S32K3xx + RTD 通用用法 操作指南:S32 Design Studio 命令行界面 操作指南:生成 S-Record/Intel HEX/二进制文件 操作指南:将应用项目从 S32DS for Vision 2018.R1 迁移至 S32DS 3.x  操作指南:将用户示例添加到 S32DS 故障排除 故障排除:启动 S32 Flash Tool v2.1 时出现 JVM 不兼容错误 故障排除:PEmicro 调试连接 - 目标通信速度 故障排除:头文件索引器错误 故障排除:PEMicro 调试 - 进入调试模式时 PIT 和 STM 模块无法计数 故障排除:PEMicro 调试 - 从 vTaskDelay 断点恢复时出现问题 故障排除:问题视图中的快速修复选项 故障排除:S32 Design Studio 意外退出或安装程序在输入激活码后立即回滚  故障排除:激活失败并显示错误信息 FNP ERROR 0 故障排除:在 S32DS 扩展和更新中找不到 S32K3 的 AMMCLib 故障排除:从命令行使用配置工具时出现 Java 错误
記事全体を表示
用于 PHY 寄存器操作的以太网工具 大多数以太网 PHY 支持多功能,并提供更灵活的配置能力,通过配置其寄存器可对时序进行微调或启用功能。以太网 PHY 寄存器工具提供了一种通过 MDC/MDIO 接口简单读写 PHY 寄存器的方法。这有助于开发或问题调试。  工业控制
記事全体を表示
S32K389 AES_ACCEL 在加密 64KB 数据时会挂起/冻结 您好,NXP团队: 我正在使用S32K389并测试AES_ACCEL (ACE/MSC)模块。我在处理大型数据缓冲区时遇到了稳定性问题。 测试设置: 模式: AES-密码块链接(CBC) 案例 1(通过):加密4KB数据工作正常。 企业微信截图_17834738161180.png 案例 2(失败):加密64KB数据会导致芯片在执行 AES 服务时立即崩溃/挂起。 观察到的行为: S32DS(S32 设计工作室)在执行 AES 服务期间冻结。 尝试通过调试器连接到 S32K389 完全失败。 企业微信截图_17834744241242.png 问题: 对于每个 AES_ACCEL 事务的最大数据长度,是否存在任何已知的限制? 此致, 显龙 Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 嗨@wuxianlong 让我查一下。我会尽快回复您。 此致, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 很抱歉耽搁了,我遇到了一些内部资源访问权限方面的问题,解决起来比预期要花更多时间。我会尽快回复。感谢您的耐心等待。 此致, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 嗨@wuxianlong CMAC生成验证服务存在以下限制: lukaszadrapa_2-1784041947940.png 我还在确认加密方面是否存在限制。我稍后会通知你。 此致, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 你好, @lukaszadrapa 非常感谢您的解释。加密和 CMAC 验证可能面临同样的局限性。 此致, 显龙 Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 我了解到大小限制为 512KB - LEN 位域的大小为 19 位。 有趣的是,程序执行完全崩溃了。我预计 AES_ACCEL 在参数无效的情况下会返回一些错误代码。 那不是XRDC引起的吗?XRDC 是否已启用?您能否尝试将其禁用以进行测试? 此致, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 你好, @lukaszadrapa 使用 64KB 进行测试仍然失败。启用 AEC 错误检测后发现,IP 驱动程序宏将限制设置为(1 << 19) - 1​ 位 < 64 KB。 image.png 此致, 显龙
記事全体を表示
Ara Vision Examples Multi-Stream YOLOv8 Object Detection  This post shows a walkthrough of the ARA2 Vision Examples package and its multi-stream YOLOv8 object detection application. The ara2-vision-examples package provides vision AI examples for NXP i.MX platforms using Ara240 DNPU acceleration. It demonstrates real-time video processing with AI/ML inference capabilities such as object detection, classification, pose estimation, and semantic segmentation. This walkthrough focuses on the multistream_yolov8 application, which uses GStreamer to process up to eight simultaneous video streams, run YOLOv8 object detection on each stream, and display the results in a single mosaic view.   Key Features Multi-stream video processing from 1 to 8 streams YOLOv8 object detection accelerated by Ara240 DNPU Support for YOLOv8n, YOLOv8s, YOLOv8m, YOLOv8l, and YOLOv8x models GStreamer-based video pipeline Mosaic display output with bounding boxes Runtime options for stream count, model selection, synchronization, and endpoint selection FPS and IPS performance overlay per stream   Running the Demo Run the application with the default settings: multistream_yolov8 Run with a specific number of streams: multistream_yolov8 -s 4 Select a different YOLOv8 model: multistream_yolov8 -s 4 --model yolov8s Run eight streams for maximum throughput: multistream_yolov8 -s 8 --sync false Enable synchronized playback: multistream_yolov8 -s 4 --sync true   Walkthrough Video In the attached video, it is shown how to launch the application, configure the number of streams, select different YOLOv8 models, and view the object detection results in the mosaic display. (function() { var wrapper = document.getElementById('lia-vid-6396597350112w960h540r634'); 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)   Links ARA2 Vision Examples repository: https://github.com/nxp-imx-support/ara2-vision-examples Multi-stream YOLOv8 README: https://github.com/nxp-imx-support/ara2-vision-examples/blob/main/tasks/object-detection/yolov8n/multistream-gstreamer/README.md ARA2-M2-16G-GT ARA240 Hands-On Training
記事全体を表示
S32K344 Mini-EVB 上的以太网引脚冲突 您好,团队、 我正在使用S32K344 Mini-EVB进行以太网连接活动。从用户手册中我可以看到,PTD16 引脚用于 MDC,PTD17 引脚用于 MDIO。但当我在 S32DS 中进行以太网引脚配置时,我看到 PTD16 只能路由到 MDIO,而 PTD17 则路由到 MDC,而且我还从 S32K344_IOMUX 中验证了这一点,从该 excel 中我还可以看到 PTD16 --> MDIO 和 PTD17 --> MDC。 那么,用户手册文件中是否有错误,如果有,是否会影响以太网通信。 Re: Ethernet Pin Conflict on S32K344 Mini-EVB 你好@MySterio_1、 是的,你说得对。引脚 MDC 和 MDIO 对调。我已经报告过——它将在下一个版本的 UM12406 中修复——发布日期尚不清楚。 请随时参考我与此主板相关的 LwIP 示例:示例 S32K344 EMAC LWIP Fre eRTOS miniEVB S32DS 3.6.1 RTD 6.0.0   顺祝商祺! 帕维尔
記事全体を表示
iMX8MP MIPI DSI 至 HDMI 转换器(LT9611UXD)调出 您好, 我们设计了一款基于 imx8MP 的主板,用于使用 LT9611UXD 将 MIPI DSI 转换为 HDMI,但该芯片不断报告错误,例如 MIPI DSI 时钟不稳定和无法同步。 我们试图用 LT9611UXC 替换同一块主板上的 LT9611UXD,HDMI 有输出,但是换回来后 LT9611UXD 仍然无法工作。 能否请您指点一二? 1。恩智浦是否有 LT9611UXD 的解决方案或演示板? 2.恩智浦是否遇到过 MIPI DSI 时钟不稳定的问题?是如何解决的?    Re: iMX8MP MIPI DSI to HDMI Convertor(LT9611UXD) Bring Up 你好@杨志荣 希望你一切都好。 实际上,我们在 i.MX95 15mm x 15mm EVK DTSO 中使用了 LT9611UXC。 请看一看: https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/arch/arm64/boot/dts/freescale/imx95-15x15-evk-lt9611uxc.dtso 对于 i.MX8MP,我们没有任何示例。 此外,您还可以使用 i.MX8MP 的原生 HDMI 来代替 LT9611UXD。 顺祝商祺! 萨拉斯
記事全体を表示
NXP FS45 SBC RTD Requese 我目前正在使用 SBC FS45 开发汽车控制软件,主控芯片是 S32K342。我想知道是否有基于 EB Tresos 配置的 FS45 RTD 软件包? Re: NXP FS45 SBC RTD requese 我们只有带示例的 FS6500/FS4500 通用 SW 驱动程序 嵌入式软件:FS65/FS45 软件驱动程序 | 恩智浦半导体
記事全体を表示
MCUXPRESSOでc11を選択しても機能しません。 MCUXPRESSO c11にチェックを入れても、FRDM MCXA156ではstatic_assertが動作しません。プロジェクト全体は添付ファイルにあります。       MCXA Re: MCUXPRESSO钩选c11不起作用 プロジェクトはこちらです Re: MCUXPRESSO钩选c11不起作用 こんにちは、 @bigz static_assert を変更してみてください。 _Static_assert。     BR アリス Re: MCUXPRESSO钩选c11不起作用 Keilプラットフォームに移行しました。
記事全体を表示
[RTD600 MCAL] S32K3X4EVB-T172 FlexCAN Wake-up This example project will show user how to use and configure the basic functionalities of ICU (WKPU) + CAN.   ------------------------------------------------------------------------------ * Test HW: S32K3X4EVB-T172 (SCH-53148 REV B2) * MCU: S32K344 * IDE: S32DS3.5 & S32DS v3.6.x * SDK release: RTD 6.0.0 * Debugger: PE Micro * Target: internal_FLASH  ------------------------------------------------------------------------------ This project configures both Can_43_FLEXCAN and CanIf modules for CAN communication, along with the ICU (WKPU) module for wake-up. Transmission is done via POLLING, while reception is configured via INTERRUPT.  Tx MB is set to STD ID 123h. Acceptance mask is set to 0x0 (accept all IDs). CAN messages are sent using Can_43_FLEXCAN_Write() and received using the CanIf_RxIndication() callback. After CanIf_bRxFlag is set, an ACK message is sent back. If TJA1153 transceiver is used, macro TJA1153_EVB_TRCV must be used. If not, use TJA1043_EVB_TRCV for standard transceiver initialization (CAN0_STB & CAN0_EN pins set to HIGH).  FlexCAN bitrate is calculated with: CAN bit timing calculator sheet. CAN classic (non-FD) 24Mhz clock 500Kbps 81.3% Sample Point Main routine: Waits for SW5 to be pressed, or for FlexCAN Rx interrupt. If SW5 is pressed, turns off green LED, disables FlexCAN and switches CORE_CLK to FIRC. It then configures PTA6 (CAN0_RX) for wakeup. If a CAN message is received (edge detect on PTA6), MCU wakes up and will enter main routine again. If a CAN frame is received, MCU will wake-up and wait for SW5 to be pressed again. Note: The first CAN frame may not be fully received since there will be some time for the MCU to warm up from STANDBY mode back to RUN mode, so the application may need to ignore the first CAN frame. Note 2: In order to test this example, another CAN node must be connected to CAN0_OUT. This example is provided as is with no guarantees and no support.
記事全体を表示
NXP FRDM Lab at Embedded World 2026 NXP FRDM Lab - Embedded World 2026 Learn. Build. Explore—On Your Own Time. The NXP FRDM Lab at Embedded World 2026 is your hands-on destination to explore embedded development—from Edge AI and Zephyr RTOS to motor control, security, connectivity, and GUIs. Whether you attend live or want to continue learning after the show, all training sessions and demo materials will be available for self‑guided exploration. That means you won’t miss out—before, during, or after the event. 🎓 FRDM Lab Training Sessions Each training session is designed to be practical, reusable, and self‑paced, using the same materials showcased during the event. 🔐 Building Cyber‑Resilient Embedded Systems: CRA Compliance Learn how NXP portfolio help achieve CRA compliance through integrated security features and practical implementation. Download presentation attached in this post:  Cyber Resilience Act (CRA) - A paradigm shift CRA: Step 1 Risk Assessment & Threat Analysis CRA: Step 2 Security by Design CRA: Step 3 Proving Compliance CRA: Step 4 Maintaining Conformity Across the Product Lifecycle ⚙️ Building with Zephyr RTOS: Simplified Development on FRDM Platform Learn about Zephyr RTOS portability and start building with FRDM boards with simplified setup, resources, and demos included. Hands-On Training material. Embedded AI with NXP Edge Processors: Intelligence at the Edge Learn AI/ML fundamentals for embedded systems, explore key use cases, and discover NXP’s ML portfolio and tools for AI development on the edge.  Hands-On Training Material 🎨 Designing Embedded GUIs: GUI Guider in Action Learn how to design and implement graphical user interfaces using LVGL and NXP GUI Guider on FRDM boards Hands-On Training Material MCUXpresso for VS Code: Build Your Embedded Development Environment Discover the benefits of the MCUXpresso extension, turning VS Code into a flexible, unified development environment for any embedded project. Download presentation attached: MCUXpresso for VS Code Build Your Embedded Development Environment Hands-On Training Material 📌 Good to know: Attendees at EW 2026 will use the same training materials live Materials will also be available for self-guided learning, so you can revisit or explore sessions at your own pace 🔬Demos at FRDM Lab  Below is a curated list of demos you’ll find in the FRDM Lab. Each demo highlights a real-world use case, with hardware and software you can explore in detail. Hands‑On Experience: Build the Demo Yourself at the FRDM Lab A set of selected demos will be available as guided hands‑on demo inside the FRDM Lab. With support from NXP experts, visitors can re‑create the full demo flow—from loading the project in MCUXpresso for VS Code, to connecting FRDM boards and expansion modules, to running real firmware on hardware.  Everything customers touch during the demo is fully reproducible at home, using the same boards and open resources. Demo Overview Demo Title Description / Key Highlights Featured Boards   Real‑Time Interactive Control with DOOM Experience responsive real‑time control using MCX MCUs running a fully playable DOOM port. FRDM-MCXN947 doom_mcx.jpg Edge AI Vision on Zephyr Showcasing Zephyr OS code abstraction that enables seamless portability across NXP MCUs with different architectures. FRDM-MCXN947 FRDM-RW612 FD_Boards.png Offline Edge AI Image Analysis Capture or upload images and ask questions that the i.MX processor answers entirely offline using VLM acceleration on Ara‑2. FRDM-IMX8MPLUS Bluetooth® Channel Sounding Measure distance between devices in centimeters or feet using advanced Bluetooth wireless channel sounding technology. FRDM-MCXW72 Channel Sounding.png Interactive Smart Nodes OLED B Click OLED C Click Knob G Click Ping pong Game     Demonstrates the versatility of FRDM boards for building smart sensors, games, PC accessories, industrial controls, and more using displays, knobs, joysticks and additional peripherals. FRDM-MCXC041 FRDM-MCXC242 FRDM-MCXA156 FRDM-MCXN947 Ping pong image.png Smart nodes image.png Dual PMSM FOC Motor Control One MCU efficiently drives two 3‑phase motors using an integrated motor control subsystem, reducing external components and system cost. FRDM-MCXA346 Dual Motor image.png 3-Phase PMSM FOC Motor Control Motor control running on a 5‑V‑tolerant MCU combined with GUI Guider and FreeMASTER visualization for tuning and real‑time phase inspection. FRDM-MCXE31B FRDM-MCXE31B.jfif Wireless Co-Processor Enabled Control FRDM-RW612 acts as a Wi‑Fi co‑processor, enabling remote command transmission from a tablet to control a main MCU‑driven motor system. FRDM-MCXA156 FRDM-RW612 WI-Fi Co-processor image.png GoPoint i.MX Demo Experience The i.MX93 showcases the full GoPoint experience with available demos integrated into the out‑of‑box environment. FRDM-IMX93 Video Analysis Analyze multiple video streams simultaneously using advanced, edge‑optimized object detection. FRDM-IMX95-PRO NAFE13388 universal analog sensing module with wired connectivity   NAFE13388 analog front end pairs with the FRDM‑MCXN947 to deliver precise, software‑configurable analog sensing. This enables the board to handle demanding industrial automation, smart agriculture, and lab instrumentation use cases where high‑accuracy analog capture, noise robustness, and flexible sensor conditioning are essential FRDM-MCXN947 Learn Beyond the Booth For many demos, collateral material will be available, including: Software and hardware overviews Block diagrams and system architecture Key features and advantages Links to App Code Hub projects This ensures you can replicate, extend, or adapt what you see in the lab—long after Embedded World ends. Explore FRDM and keep learning at FRDM Training Hub #FRDM-Training #Hands-On Training #EW #Embedded World Discover the NXP FRDM Lab at Embedded World 2026 Hands‑on training and real demos across Edge AI, Zephyr, motor control, security, and GUIs Learn live—or later with self‑guided FRDM Lab content FRDM-MCXA FRDM-MCXN FRDM-RW612 FRDM-Training Hands-On Training i.MX Application Processors MCU Wireless
記事全体を表示
DDR4 calibration issues on LS1046 custom board Good day! We are trying to bring up our custom LS1046-based board up and stucked with DDR4 calibration procedure. SPD data of the modules is red successfully, calibration process starts successfully too, but after that it fails with this reason(log from CodeWarrior 😞  ############################### Run 1 Result for: wrlvl_searcher  ###################################### Test result: [ ============================================================ Updated: WRLVL_CNTL = 0x8655F605, WRLVL_CNTL_2 = 0x00000000, WRLVL_CNTL_3 = 0x00000000, SDRAM_CLK_CNTL = 0x02800000 ============================================================ Updated: WRLVL_CNTL = 0x8655F60A, WRLVL_CNTL_2 = 0x0B0B0C0F, WRLVL_CNTL_3 = 0x0F10110D, SDRAM_CLK_CNTL = 0x02800000 ============================================================ Updated: WRLVL_CNTL = 0x8655F60A, WRLVL_CNTL_2 = 0x0B0B0C0F, WRLVL_CNTL_3 = 0x0F101115, SDRAM_CLK_CNTL = 0x02800000 ============================================================ Updated: WRLVL_CNTL = 0x8655F60A, WRLVL_CNTL_2 = 0x0B0B0C0F, WRLVL_CNTL_3 = 0x0F10111D, SDRAM_CLK_CNTL = 0x02800000 Write Leveling start values are correct and require no further modification, but the test failed due to other issues. Most common failure causes: -incorrect values configured in DDR4 DQn_MAP registers -incorrect ODT values -incorrect driver strength selected -incorrect timing values selected for Timing Configuration 0 properties (TIMING_CFG_0 register) < > {{Write Leveling start values are correct and require no further modification, but the test failed due to other issues.}} Err. capture registers: 0xE20, 0xDEADBEEF 0xE24, 0xDEADBEEF 0xE28, 0x00000000 0xE40, 0x00000000 0xE44, 0x00000000 0xE48, 0x0000001D 0xE4C, 0x60FF2001 0xE50, 0x00001FC0 0xE54, 0x00000000 0xE58, 0x00010000  ############################################ DQ mapping seems to be OK - we have 1:1 mapping from CPU to DDR slot, so we use DQ mappings from DDR module SPD without changing. What can be the problem?  Re: DDR4 calibration issues on LS1046 custom board Is there available RCW on the customer board? Has the ASLEEP led turned on and off? What's the frequency of the DDR clock? Thanks Re: DDR4 calibration issues on LS1046 custom board DDR calibration is performed using a hardcoded RCW. System clock - 100 MHz  DDR bus clock - 800 MHz, DDR data rate - 1600 mt/s Memory module - non-ECC. One interesting thing - from timer to time the 1 st stage of calibration (wrtlvl search) is successfully passed. For example: Test result: [ ================================================= Updated: WRLVL_CNTL = 0x8655F605, WRLVL_CNTL_2 = 0x00000000, WRLVL_CNTL_3 = 0x00000000, SDRAM_CLK_CNTL = 0x02800000 ============================================================ Updated: WRLVL_CNTL = 0x8655F609, WRLVL_CNTL_2 = 0x0A0B0C0E, WRLVL_CNTL_3 = 0x0F10110D, SDRAM_CLK_CNTL = 0x02800000 ============================================================ Updated: WRLVL_CNTL = 0x8655F609, WRLVL_CNTL_2 = 0x0A0B0C0E, WRLVL_CNTL_3 = 0x0F101115, SDRAM_CLK_CNTL = 0x02800000 ============================================================ Updated: WRLVL_CNTL = 0x8655F609, WRLVL_CNTL_2 = 0x0A0B0C0F, WRLVL_CNTL_3 = 0x0F10111D, SDRAM_CLK_CNTL = 0x02800000 < > Err.capture registers: 0xE20, 0x00000000 0xE24, 0x00000000 0xE28,0x00000000 0xE40,0x00000000 0xE44,0x00000000 0xE48, 0x0000001D 0xE4C, 0x00000000 0xE50,0x00000000 0xE54,0x00000000 0xE58, 0x00010000 Dump: 0xF00,0x00000000 0xF04, 0x00000002 0xF08, 0x0000000F 0xF0C,0x14000C20 0xF10, 0x00000000 0xF14, 0x00000000 0xF18, 0x00000000 0xF1C, 0x00000000 0xF20, 0x00000000 0xF24, 0x2F003000 0xF28, 0x32003400 0xF2C, 0x39003B00 0xF30, 0x3C003E00 0xF34, 0x00005000 0xF38, 0x00000000 0xF3C, 0x00000000 0xF40, 0x00000000 0xF44, 0x00000000 0xF48, 0x00000001 0xF4C, 0xD4000000 0xF50, 0x13001500 0xF54, 0x17001900 0xF58, 0x1D001F00 0xF5C, 0x21002200 0xF60, 0x3A000000 0xF64, 0x00009000 0xF68, 0x00000020 0xF6C, 0x00000000 0xF70, 0x0070006F 0xF74, 0x00000000 0xF78, 0x00000000 0xF7C, 0x00000000 0xF80, 0x00000000 0xF84, 0x00000000 0xF88, 0x00000000 0xF8C, 0x00000000 0xF90, 0x00000000 0xF94, 0x80000000 0xF98, 0x00000000 0xF9C, 0x34043104 0xFA0, 0x35043304 0xFA4, 0x31043304 0xFA8, 0x2F043104 0xFAC, 0x04040000 0xFB0, 0x00000003 0xFB4, 0x1F1E1F21 0xFB8, 0x1E1C1F1D 0xFBC, 0x1F1B1D1E 0xFC0, 0x1C1B1C1C 0xFC4, 0x1F1E1F22 0xFC8, 0x1F1F2120 0xFCC, 0x1F1E1F20 0xFD0, 0x1C1D201F 0xFD4, 0x1F1B1B1E 0xFD8, 0x1F1D1E1C 0xFDC, 0x1F1F1D1F 0xFE0, 0x1F1D1E1C 0xFE4, 0x1F1C191A 0xFE8, 0x1C1D1C1A 0xFEC, 0x1F1E1C1E 0xFF0, 0x1E1F1E1A 0xFF4, 0x1F1F1F1F 0xFF8, 0x1F1F1F1F 0xFFC, 0x1F000000 Data: 0x00000009 0x0000000a 0x0000000b 0x0000000c 0x0000000f 0x0000000f 0x00000010 0x00000011 0x0000001d   Just after that I start calibration process again(without any changes in settings) and get a fail: ########## Result for: wrlvl_searcher ######  Test result: [ Updated: WRLVL_CNTL = 0x8655F605, WRLVL_CNTL_2 = 0x00000000, WRLVL_CNTL_3 = 0x00000000, SDRAM_CLK_CNTL = 0x02800000 ============================================================ Updated: WRLVL_CNTL = 0x8655F609, WRLVL_CNTL_2 = 0x0A0B0C0E, WRLVL_CNTL_3 = 0x0F10110D, SDRAM_CLK_CNTL = 0x02800000 ============================================================ Updated: WRLVL_CNTL = 0x8655F609, WRLVL_CNTL_2 = 0x0A0B0C0E, WRLVL_CNTL_3 = 0x0F101115, SDRAM_CLK_CNTL = 0x02800000 ============================================================ Updated: WRLVL_CNTL = 0x8655F609, WRLVL_CNTL_2 = 0x0A0B0C0E, WRLVL_CNTL_3 = 0x0F10111D, SDRAM_CLK_CNTL = 0x02800000 Write Leveling start values are correct and require no further modification, but the test failed due to other issues. Most common failure causes:   - incorrect values configured in DDR4 DQn_MAP registers  - incorrect ODT values  - incorrect driver strength selected  - incorrect timing values selected for Timing Configuration 0 properties (TIMING_CFG_0 register) < > {{Write Leveling start values are correct and require no further modification, but the test failed due to other issues.}} Err. capture registers: 0xE20, 0xDEADBEEF     0xE24, 0xDEADBEEF     0xE28, 0x00000000     0xE40, 0x00000000      0xE44, 0x00000000     0xE48, 0x0000001D     0xE4C, 0x60FF2001     0xE50, 0x00001FC0      0xE54, 0x00000000     0xE58, 0x00010000      Dump: 0xF00, 0x00000000     0xF04, 0x00000002     0xF08, 0x0000000E     0xF0C, 0x14000C20      0xF10, 0x00000000     0xF14, 0x00000000     0xF18, 0x00000000     0xF1C, 0x00000000      0xF20, 0x00000000     0xF24, 0x2F003100     0xF28, 0x33003400     0xF2C, 0x3A003A00      0xF30, 0x3C003E00     0xF34, 0x00005000     0xF38, 0x00000000     0xF3C, 0x00000000      0xF40, 0x00000000     0xF44, 0x00000000     0xF48, 0x00000001     0xF4C, 0xD4000000      0xF50, 0x13001500     0xF54, 0x17001900     0xF58, 0x1D001F00     0xF5C, 0x21002200      0xF60, 0x3A000000     0xF64, 0x00009000     0xF68, 0x00000020     0xF6C, 0x00000000      0xF70, 0x0070006F     0xF74, 0x00000000     0xF78, 0x00000000     0xF7C, 0x00000000      0xF80, 0x00000000     0xF84, 0x00000000     0xF88, 0x00000000     0xF8C, 0x00000000      0xF90, 0x00000000     0xF94, 0x80000000     0xF98, 0x00000000     0xF9C, 0x31022F02      0xFA0, 0x33023102     0xFA4, 0x30023102     0xFA8, 0x2E022F02     0xFAC, 0x02020000      0xFB0, 0x10000003     0xFB4, 0x46444650     0xFB8, 0x45445142     0xFBC, 0x51445052      0xFC0, 0x46454544     0xFC4, 0x45434651     0xFC8, 0x44455045     0xFCC, 0x46455051      0xFD0, 0x45455146     0xFD4, 0x52505052     0xFD8, 0x52505246     0xFDC, 0x50464546      0xFE0, 0x51465042     0xFE4, 0x53464650     0xFE8, 0x52515145     0xFEC, 0x50454546      0xFF0, 0x45505142     0xFF4, 0x46464646     0xFF8, 0x52515350     0xFFC, 0x00000000        Data:  0x00000009 0x0000000a 0x0000000b 0x0000000c 0x0000000e 0x0000000f 0x00000010 0x00000011 0x00000025  ######################################################## Also I' ve noticed that Lane 8 is probed during calibration process, despite to that fact that ddr module is non-ecc and ecc is disabled in project settings.   Re: DDR4 calibration issues on LS1046 custom board 1.The QCVS does not support hardcoded RCW official, valid RCW has to be presented in the RCW source flash or SD card. Would you kindly program the RCW into the flash first, and then do the QCVS DDR validation. 2.Run the command below in the CCS: (bin) 42 % delete all (bin) 43 % config cc cwtap (bin) 44 % show cc (bin) 45 % ccs::config_chain {ls1043a dap sap2} (bin) 46 % display ::ccs::get_config_chain (bin) 47 % ccs::reset_to_debug Send the logs to me. 3.would you kindly share the schematics and confirm the layout follow the AN5097, Hardware and Layout Design Considerations for DDR4 SDRAM Memory Interfaces Thanks Re: DDR4 calibration issues on LS1046 custom board The problem was solved by updating to new version of QCVS(4.27.0)
記事全体を表示
ベアメタル用のOSタイマーインターフェース Arm 用の S32DS で動作していた古いドライバ モデルには、ベア メタル実装をサポートするタイマー遅延用の API がありました。新しいリアルタイム・ドライバ モデルでは、同等のものが見つかりません。これを実行しようとするとエラーが発生します。添付のスクリーンショットを参照してください。 それを行う方法はありますか? プロジェクトの詳細: MCU: 144ピン構成のS32K148 システムOS: ベアメタル RTD バージョン: 3.0.0 ドライバー構成: 低レベル (非 Autosar)。スクリーンショットを参照してください。 durga_choudhury_0-1769130089734.png Re: OS Timer interface for bare metal こんにちは@danielmartynek 更新ありがとうございます。これは私が発見したものと一致しています。いくつかフォローアップがあります: 1.SO、リアルタイム・ドライバには OSIf_TimeDelay() に相当するものはないのでしょうか?ドライバー API の他の部分にも同様のギャップが見られ、既存のコードの移植がやや困難になっています。 2. これらの API はすべての MCAL 実装で統一されていますか?言い換えれば、MCAL 準拠を主張する別のベンダーのハードウェアと MCAL 実装を使用する場合、これらすべての API がそのドライバ実装で利用できると期待できますか?(これを逆に読むこともできます。MCAL 準拠を主張する別のベンダーから NXP に移行する場合、NXP ドライバが他のベンダーのドライバが提供するすべての API を提供すると期待できますか?) よろしくお願いいたします。 ドゥルガー・チョードリー Re: OS Timer interface for bare metal こんにちは、 @durga_choudhuryさん、 OsIf.hを参照してください。以下の機能があります: OsIf_Init()、 OsIf_GetCounter()、 OsIf_MicrosToTicks()、 OsIf_GetElapsed()、 BR、ダニエル Re: OS Timer interface for bare metal こんにちは@durga_choudhuryさん、 1. いいえ、そのような関数はありません。個々のドライバは OsIf API を使用します。たとえば、次のようになります。 danielmartynek_0-1769519939394.png 2. RTD には以下が含まれます。 AUTOSAR MCALドライバ 低レベルのIPレベルドライバ MCAL の最上位層 (AUTOSAR) のみがポータブルです。 たとえば、Adc_Init()。 しかし、OsIf_GetElapsed() は AUTOSAR API ではなく、NXP 固有のものです。 よろしくお願いいたします。 ダニエル
記事全体を表示