Multi Source Translation Content

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multi Source Translation Content

Discussions

Sort by:
如何通过 UART 接收不同长度的数据? 嘿 ! 我使用的是 s32k144 评估板,我使用 UART_PAL 库使用 MODBUS 协议通过 UART 接收数据。我在 while 循环中使用了 thenon 阻塞 uart_receivedata() API,并使用回调检查接收事件和接收数据。 在我确定要接收的数据长度之前,一切都很正常,但当要接收的数据长度不固定,而且每次都不一样时,我该怎么办呢? 我看到了许多相同的主题,但没有一个主题提供了绝对的解决方案,我请求您指导我一个正确的解决方案,如果可能的话,请提供相同的代码/屏幕截图。 我附上了一张截图,在开关语句中,不同情况下接收数据的长度是不确定的。 请@Robin_Shen为我们提供解决方案。 此致, 阿达尔什 Re: How to receive data of varying length over UART? 你好,我想问一下你们是否解决了在 485 上接收变长数据的问题。我目前也遇到了同样的问题,但一直无法解决。 Re: How to receive data of varying length over UART? 本指南中还缺少一样东西,但@Robin_Shen发送的链接中却有。我也会把它写在这里。 6.在 LPUART_DRV_StartReceiveDataUsingInt() 函数中,启用 CTRL[IDLE]。 非常感谢@Adarshnanda制作这份指南! Re: How to receive data of varying length over UART? HI 我正在尝试通过 LPC804 的 UART 接收数据,并使用 mcuxpresso ide,请问谁能提供代码并告诉我接收数据的步骤。 Re: How to receive data of varying length over UART? 嘿,@Robin_Shen、 我查看了该主题,它对我很有效。唯一令人困惑的是,该主题中有些答案与通过 DMA 接收数据有关,有些则与通过中断接收数据有关。 如果想使用 INTERRUPTS 实现 UART_IDLE_LINE_RECEIVE,让我总结一下需要遵循的步骤。 请注意,我们需要添加 LPUART 驱动程序。 1.在 LPUART_DRV_INIT 函数中,必须配置外设寄存器,以启用 IDLE LINE INTERRUPT& 设置 IDLE 标志设置前接收的空闲字符数。你应该看看参考手册。我已将其配置为 8 个空闲字符& ,在此附上截图。 2.在 LPUART_DRV_IRQHandler 中,必须检查 IDLE_LINE_DETECT 标志是否设置& ,如果设置了,则调用 LPUART_DRV_RxIdleCallback 函数(默认情况下没有,用户需要定义)。请注意 - 需要在启动 IRQ_Handler 时调用此函数。 3.在文件 - (callbacks.h) 的枚举 - uart_event_t 中,定义一个事件 UART_EVENT_IDLE_DETECT。 4.定义 LPUART_DRV_RxIdleCallback& 并提供其函数原型。 5.之后,您就可以在应用程序中使用它了。 谢谢@Robin_Shen & 我希望这对其他人有所帮助。 此致, 阿达尔什 Re: How to receive data of varying length over UART? 你好,阿达什、 很抱歉,最近的 S32K1 SDK/RTD 驱动程序没有实现空闲检测功能。您是否参考过S32K144 LPUART IDLE 线路中断配置中的讨论? 您需要更改 SDK 驱动程序,才能获得 LPUART 空闲线中断。 祝好, Robin ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"Mark Correct" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请另开新主题,并参考已关闭的主题。 ------------------------------------------------------------------------------- Re: How to receive data of varying length over UART? 7。调用 LPUART_DRV_GetReceiveStatus 函数来计算接收的长度,调用 LPUART_DRV_AbortReceivingData 函数以在处理第一帧后重新开始接收数据,这样接收缓冲区从 0 开始。 这是我添加的内容。现在调试成功了。感谢专家们分享之前的内容。谢谢大家。
View full article
ENEDC(S32K3)に関する質問 こんにちはチーム K3のENEDCについてお伺いしてもよろしいでしょうか? 顧客は RTD 付きの MCAL を使用します。 しかし、ENEDC に関する RTD の情報は見つかりませんでした。 MSCM からは、ISR コア割り当て構成のみが表示されます。 RTD(MCAL) を使用して ENEDC を有効にする方法を教えてください。 ありがとう。 SAFETY_SW 出典: 直接顧客 出典: NXP社内 Re: Question about ENEDC(S32K3) ご説明ありがとうございます! Re: Question about ENEDC(S32K3) こんにちは@Luke_Chun 、 RM の説明から私が理解したところによると、ガスケットから FCCU へのレポート パスをアクティブにしたい場合は、これらのビットを有効にする必要があります。 このため、sCheck はこれらのビットを有効にします。そうしないと、レポート パスをテストできなくなります。 これは必須の設定であること、そしておそらく多くの K3 お客様がこの設定に気付いていない (関連する FCCU チャネルを有効にするだけで、これらのビットは有効にしない) ことには同意します。 敬具、 ラドスラフ Re: Question about ENEDC(S32K3) こんにちは@RadoslavB ご説明ありがとうございます。しかし、ENEDC の提案についてはよく分かりません。 私の理解を確認していただけますか? ENEDC では「TEST」のみを使用する必要がありますか? または セーフティアプリケーションを有効にする必要はありますか?(たとえば、ユーザーが eDMA 読み取りのチェックを使用したい場合は、ENEDC のビット 2 を FCCU 構成で手動で「設定」します。) ありがとう。 Re: Question about ENEDC(S32K3) こんにちは@Luke_Chun 、 SAF で MSCM ペリフェラルレジスタを構成する要求はありません。 sCheck テストは、関連する EDC ガスケットの潜在的な障害をテストするときにこれらのレジスタを内部的に有効にしますが、アプリケーションに対してこれらのビットを有効にすることはどの NXP SW でもカバーされていません。 したがって、お客様はこれらのレジスタを手動で有効にする必要があります。 S32K5 の場合、これらのレジスタをイネーブルメントの sBoot チェックが定義されていますが、繰り返しますが、私の知る限り、構成はどの NXP SW の範囲にも含まれていません。 敬具、 ラドスラフ Re: Question about ENEDC(S32K3) こんにちは@Luke_Chun 、 セーフティドライバーに関連する問題はサポートしていません。彼らにサポートを依頼するには、投稿で「RTD」ラベルを削除し、「Safety_SW」ラベルのみを残す必要があります。または、Safety_SW のみに新しい投稿を作成することもできます。 よろしくお願いいたします。 ダン Re: Question about ENEDC(S32K3) こんにちは@DanNguyenDuy 更新情報をありがとうございます。 セーフティドライブも確認しましたが、どれがENEDCに関係するのかわかりませんでした... どうやって確認すればいいのでしょうか? よろしくお願いします。 Re: Question about ENEDC(S32K3) こんにちは@Luke_Chun 、 RTD ドライバーは ENEDC の構成ではサポートされていません。私の観点からすると、このレジスタは FCCU に関連しているため、セーフティドライバのモジュールでこの機能を確認する必要があります。 よろしくお願いいたします。 ダン Re: Question about ENEDC(S32K3) K3 HW セーフティマニュアルからの抜粋を追加します: したがって、現時点ではこの AoU に従うかどうかはお客様の責任です。構成とチェックは現時点では NXP ではサポートされていません。 敬具、 ラドスラフ Re: Question about ENEDC(S32K3) こんにちは@Luke_Chun 、 INTM ペリフェラルの構成がサポートされており、RTD プラットフォーム プラグイン - 割り込みモニターで見つけることができます。 SAF 側では、sCheck は INTM 潜在的障害テストを備えていますが、sBoot は INTM 構成レジスタをチェックしません。私の意見では、割り込みがセーフティ関連の障害の検出/反応メカニズムである場合、SM1.INT_MON はアクティブである必要があり、顧客は SM4.INT_CHK を満たす必要があり、sBoot はそのような構成を再確認する必要があります。 敬具、 ラドスラフ Re: Question about ENEDC(S32K3) こんにちは@RadoslavB もう1つ質問してもよろしいでしょうか? INTM_MMはどうでしょうか? これは ENEDC でも同じですか? (RTD または SAF は INTM_MM 有効構成をサポートしていません。ユーザーはユーザー コードによって INTM_MM の構成を行う必要があります。 ありがとう。  
View full article
Cortex-M33 上的 i.mx93 LPSPI + eDMA 问题 我使用的是 Tria i.MX9332(B1 硅)SMARC 模块,并尝试在 Cortex-M33 上使用带有 eDMA 的 LPSPI6,但无法正常工作。 开发环境 VS 代码 1.109.0 用于 VS 代码扩展的 MCUXpresso 26.1.56 SDK 25.09.00 硬件 在定制载板上试用 SM2S-IMX93 通过 SPI(LPSPI6)连接带有ILI9341控制器的 LCD 现状 使用不带 DMA 的 LPSPI6 时,显示正常。 我试图切换到LPSPI6 + eDMA以提高吞吐量,但无法收到完成通知。 问题 基于 DMA 的传输似乎开始了,但我从未在传输结束时收到 LPSPI DMA 完成回调。 详细信息和相关代码/配置见附件。 有人能指出我可能遗漏了什么,或者为什么没有触发信号吗? Re: i.mx93 LPSPI + eDMA problem on Cortex-M33 感谢您提供的示例代码。回顾范例让我明白了这一点。 Re: i.mx93 LPSPI + eDMA problem on Cortex-M33 你好@albi84 请参考附件中的补丁文件配置 LPDPI 与 EDMA B.R Re: i.mx93 LPSPI + eDMA problem on Cortex-M33 你好 能否请您分享带有 eDMA 的 LPSPI 的骨架? 谢谢。 Re: i.mx93 LPSPI + eDMA problem on Cortex-M33 这不是一个骨架,而是我使用的实际代码。这有帮助吗?
View full article
PN7642 模块 FCC ID 我们已经设计了基于 PN7642 的 NFC 模块,是否有关于满足 FCC 要求才能将其列为模块的应用笔记? Re: PN7642 Module FCC ID 谢谢 Eduardo,我已经按照指南进行了操作,设备也通过了测试。联邦通信委员会有特殊的要求,例如在宝塔参考设计中使用了强制性的屏幕罐,我以此为起点。除此之外,主要是文书工作! Re: PN7642 Module FCC ID 你好@gredpath 希望你一切顺利。 很抱歉,没有关于 FCC 合规性的具体文件。我建议您确认已遵守 PN76 系列天线设计指南中包含的指导方针,该指南描述了 NFC 天线的设计和调谐、DPC 功能和布局建议;另外,请查看 PN7642 的设计建议。 此外,我还推荐您参加NFC 天线设计系列培训,因为其中介绍了天线、调试、测试和鉴定以及电磁兼容性相关设计的主要方面。 Eduardo。
View full article
如何:根据 S32DS 中的示例为 S32 平台创建 APEX2 项目 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> S32DS 包含许多示例项目,您可以从中了解如何在 Vision SDK 的帮助下使用 S32 开发视觉应用程序。示例项目包含生成的和手写的代码,利用 Vision SDK 演示使用 S32DS 的工作流程。本文档详细介绍了从提供的 APEX2 示例之一创建项目到在 EVB 上执行的过程。 本教程使用 S32DS 版本 3.2 和 VSDK 版本 1.5.0 制作。 1)启动S32DS 2)选择“文件->新建->来自示例的S32DS项目” 3)选择apex2_rotate_180项目 4)点击“完成” 5) 如果不在 C/C++ 视角中,请点击下面显示的图标进行切换(将鼠标悬停在正确的图标上应该显示“C/C++”)。当前视角显示在顶部栏上。 6)在Project Explorer面板中选择apex2_rotate_180:A53 。使用构建配置“TEST_A53”构建项目。 7)使用“操作方法:在 S32DS 中为 Vision 创建 A53 Linux 项目”中描述的方法启动调试会话,从步骤 9 开始。 8)点击“继续” 该程序获取位于 Linux BSP 上的 /home/root/vsdk/data/common 文件夹中的输入图像 in_grey_256x256.png,并将其旋转 180 度 输出图像 out.png 位于 /home/root/vsdk 文件夹内 9) 要查看输出,请从远程系统视图访问该设备。如果尚未设置,请完成“操作方法:从 S32DS for Vision 访问 S32V234-EVB 上的 Linux BSP 文件系统”中描述的步骤。 10) 从远程系统视图打开输入和输出文件,以验证程序是否正确运行。 新建项目向导 - 项目管理和设置 SDK
View full article
i.MX 8/8X 系列 DDR 工具发布 重要提示:如果您对 DDR 工具或支持文档有任何疑问,或想报告相关问题,请在 i.MX 社区创建支持工单。请注意,任何私人消息或直接电子邮件均不会被监控,也不会收到回复。 i.MX 8/8X DDR 工具概览 此页面包含 i.MX 8/8X DDR 工具的最新发布版本。本页面所述工具适用于以下配备系统控制器单元(SCU)的 i.MX 8/8X 系列 SoC: i.MX 8QuadMax 及其衍生产品 i.MX 8QuadPlus i.MX 8QuadXPlus 及其衍生产品 i.MX 8DualXPlus 和 i.MX 8DualX i.MX 8DXL (i.MX 8XLite) 及其衍生产品 i.MX 8SXL 注意:有关 i.MX 8M 系列的 DDR 工具,请参考:i.MX 8M 系列 DDR 工具发布说明                          i.MX 8/8X DDR 工具的用途是让用户能够根据其设备配置(密度、片选数量等)和电路板布局(数据总线位交换等)生成并测试自定义的 DRAM 初始化程序。此过程使用户能够继续进行引导加载程序和操作系统的启动工作。操作系统启动后,建议运行基于操作系统的内存测试(如 Linux memtester),以进一步验证和测试 DDR 内存接口。 i.MX 8/8X DDR 工具包括: DDR 寄存器编程辅助工具 (RPA) DDR 压力测试 有关这些 DDR 工具及其用法的更多详细信息,请参阅本页附带的 MX8X_DDR_Tools_quickstart_guide.pdf。 i.MX 8/8X DDR 寄存器编程辅助工具 (RPA) i.MX 8/8X DDR RPA(简称 RPA)是一个 Excel 电子表格工具,用于根据用户特定的 DDR 配置(DDR 设备类型、密度等)开发 DDR 初始化程序。RPA 以两种格式生成 DDR 初始化程序(在单独的 Excel 工作表标签中): DDR 压力测试脚本:此格式专门用于 DDR 压力测试,方法是先复制此工作表标签中的内容,然后将其粘贴到文本文件中,并将该文档命名为带有 “.ds” 文件扩展名的文件。用户在执行 DDR 压力测试时将选择此文件。 DCD CFG 文件:此格式是系统控制器单元固件 (SCFW) 专门使用的配置文件。在这种情况下,用户复制此工作表标签中的内容,将其粘贴到文本文件中,将该文档命名为带有 “.cfg” 文件扩展名的文件,并将此文件放置在适当的 SCFW 板文件目录中。 i.MX 8/8X DDR 寄存器编程辅助工具 (RPA):当前版本 注意:在所有情况下,RPA 版本都与最低 SCFW 版本对齐,如下表所示。在某些情况下,提供 BSP 对齐作为额外细节,但是,RPA 工具专门与最低 SCFW 版本及更高版本对齐。 要获取最新的 RPA,请参考以下链接(注意,现有的 RPA 已从本主页面移除,并移至下方特定于 SoC)的链接中): i.MX8QM: https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX8QM-DDR-Register-Programming-Aid-RPA/ta-p/1166307 i.MX8QXP/QXP/DX: https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX8QXP-DXP-DX-DDR-Register-Programming-Aid-RPA/ta-p/1166302 i.MX8DXL/SXL: https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX8DXL-DDR-Register-Programming-Aid-RPA/ta-p/1602262 处理器 掩模版本 支持的存储器 最新 RPA 版本 * 说明 i.MX 8QM B0 LPDDR4 版本 23*** 启示录 22** 版本 21** 版本 20** 版本 19** 版本 23:重要提示:此版本与 SCFWv1.7.0(及更高版本的 SCFW)对齐。使用 SCFWv1.7.0(及更高版本的 SCFW)时,必须使用此版本或更高版本的 RPA,不能使用早期版本的 RPA。请参见表格末尾的注释。 版本 22:以下更改对 DDR IO 接口没有影响。此更新设置主要是在 DCD 文件中添加了一个由 RPA 配置的总 DDR 密度的定义。该定义由 SCFW 使用。 版本 21:修复了 1 个 DRC 操作,将对 VREF 训练的调用注释掉以用于 DRC1,并添加了 DDRC_SCHED 寄存器编程,以与最新的 SCFW 编程对齐(有关更多详细信息,请参考 RPA 修订历史)。 Rev 20:与 SCFW 1.4.0 和 NXP BSP GA 版本 L5.4.3_2_0_0 及更高版本一起使用(以支持 SW VREF 训练规避命令) 版本 19:与 SCFW 1.3.1 和 NXP BSP GA 版本 L5.4.3_1_0_0 一起使用 i.MX 8QXP C0、B0 LPDDR4 版本 16*** 版本 15** 版本 14** 版本 13** 版本 16:重要提示:此版本与 SCFWv1.7.0(及更高版本的 SCFW)对齐。使用 SCFWv1.7.0(及更高版本的 SCFW)时,必须使用此版本或更高版本的 RPA,不能使用早期版本的 RPA。请参见表格末尾的注释。 版本 15:以下更改对 DDR IO 接口没有影响。此更新设置主要是在 DCD 文件中添加了一个由 RPA 配置的总 DDR 密度的定义。该定义由 SCFW 使用。 版本 14:与 SCFW 1.4.0 和 NXP BSP GA 版本 L5.4.3_2_0_0 及更高版本一起使用(以支持 SW VREF 训练变通命令) 版本 13:与 SCFW 1.3.1 和 NXP BSP GA 版本 L5.4.3_1_0_0 一起使用 i.MX 8QXP C0、B0 DDR3L 启示录 23 版本 22*** 版本 21 版本 20 版本 23: -修正了寄存器配置 DDR_PHY_PTR4.tDINIT1 位域编程。以前,计算仅基于 tRFC,但是,计算应该基于 “tRFC + 10ns”。此问题已得到纠正。 -将 DDRC_INIT4、DDR3 MR2.ASR = 1 设置为默认设置,以允许 DRAM 根据其外壳温度自动选择自刷新速率(但用户可以通过下拉菜单选择禁用)。此外,删除了 DTCR0.DTRDBITR 的条件设置,因为 DDR3 不支持 DBI,所以不需要该设置。此设置的默认值为零,并将保持不变。 -为用户提供了根据 DDR3L 设备的预期最高温度(1X、2X、4X)选择自动刷新速率的选项。用户应参考 DDR3L 数据表以了解支持的温度范围和相关的刷新速率。 版本 22:重要提示:此版本与 SCFWv1.7.0(及更高版本的 SCFW)对齐。使用 SCFWv1.7.0(及更高版本的 SCFW)时,必须使用此版本或更高版本的 RPA,不能使用早期版本的 RPA。请参见表格末尾的注释。 版本 21:以下更改对 DDR IO 接口没有影响。此更新设置主要是在 DCD 文件中添加了一个由 RPA 配置的总 DDR 密度的定义。该定义由 SCFW 使用。 - 与 SCFW 1.1.10 及更高版本兼容 -此版本所做的更改不会影响基于 v19 的 DCD CFG 文件输出 -在 DDR 压力测试脚本中发现问题,即某些命令没有根据寄存器配置工作表中的 ECC 设置进行正确配置;此问题已得到解决(单元格 A84、A87、A90、A93) -此外,在 DCD CFG 和 DDR 压力测试脚本工作表中,所有依赖于 ECC 配置的命令都已更新,以包括与数据总线是否配置为 16 位的 “或” 运算(ECC 仅支持全 32 位数据总线宽度配置) i.MX 8DualX C0、B0 LPDDR4 版本 16*** 版本 15* 版本 14** 版本 13** 版本 16:重要提示:此版本与 SCFWv1.7.0(及更高版本的 SCFW)对齐。使用 SCFWv1.7.0(及更高版本的 SCFW)时,必须使用此版本或更高版本的 RPA,不能使用早期版本的 RPA。请参见表格末尾的注释。 版本 15:以下更改对 DDR IO 接口没有影响。此更新设置主要是在 DCD 文件中添加了一个由 RPA 配置的总 DDR 密度的定义。该定义由 SCFW 使用。 版本 14:与 SCFW 1.4.0 和 NXP BSP GA 版本 L5.4.3_2_0_0 及更高版本一起使用(以支持 SW VREF 训练变通命令) 版本 13:与 SCFW 1.3.1 和 NXP BSP GA 版本 L5.4.3_1_0_0 一起使用 i.MX 8DualX C0、B0 DDR3L 版本 21 版本 20*** 版本 19 版本 18 版本 21: -修正了寄存器配置 DDR_PHY_PTR4.tDINIT1 位域编程。以前,计算仅基于 tRFC,但是,计算应该基于 “tRFC + 10ns”。此问题已得到纠正。 -将 DDRC_INIT4、DDR3 MR2.ASR = 1 设置为默认设置,以允许 DRAM 根据其外壳温度自动选择自刷新速率(但用户可以通过下拉菜单选择禁用)。此外,删除了 DTCR0.DTRDBITR 的条件设置,因为 DDR3 不支持 DBI,所以不需要该设置。此设置的默认值为零,并将保持不变。 -为用户提供了根据 DDR3L 设备的预期最高温度(1X、2X、4X)选择自动刷新速率的选项。用户应参考 DDR3L 数据表以了解支持的温度范围和相关的刷新速率。 版本 20:重要提示:此版本与 SCFWv1.7.0(及更高版本的 SCFW)对齐。使用 SCFWv1.7.0(及更高版本的 SCFW)时,必须使用此版本或更高版本的 RPA,不能使用早期版本的 RPA。请参见表格末尾的注释。 版本 19:以下更改对 DDR IO 接口没有影响。此更新设置主要是在 DCD 文件中添加了一个由 RPA 配置的总 DDR 密度的定义。该定义由 SCFW 使用。 - 与 SCFW 1.1.10 及更高版本兼容 *有关 RPA 以前版本的历史记录,请参考相应 RPA 的 “修订历史” 标签。 ** 一般来说,即使使用预发布的 BSP,也建议使用最新的 RPA 工具,因为它确保您使用最新的修复程序和功能进行测试。可能会提供较旧版本的 RPA 以支持 BSP 的现有/已发布版本。这仅适用于那些与预发布 BSP 兼容但可能与 BSP 的已发布版本不兼容的 RPA 工具。 ***重要提示:如表格上方所述,对于所注明的 RPA 版本,它与 SCFWv1.7.0(及更高版本的 SCFW)对齐。旧版本的 RPA 与 SCFWv1.7.0(及更高版本的 SCFW)不对齐。如果尝试将旧版本的 RPA 与 SCFWv1.7.0(及更高版本的 SCFW)一起使用,将导致 SCFW 无法启动。DCD 输出中的问题行如下: 对于 MX8QXP/DualX: 数据 4 0xff190000 0x00000CC8 /* DRC0 启动 */ 对于 MX8QM: 数据 4 0xff148000 0x00000885 /* DRC0 启动 */ 数据 4 0xff1a0000 0x00000885 /* DRC1 启动 */ 如果用户希望使用带有 SCFW 1.7.0(及后续版本)的较旧 RPA(不推荐),则必须从较旧 RPA DCD 文件输出中删除上述行。此外,这些行被以下预处理命令包裹:"#ifndef SCFW_DCD"、"#else" 和 "#endif"。这些也应该被移除。例如 MX8QXP: [移除] ifndef SCFW_DCD [移除] /* 对于 1200MHz DDR,DRC 600MHz 操作 */ [移除] DATA 4 0xff190000 0x00000CC8 /* DRC0 启动 */ [移除] #else [移除] #endif 注意:当提到 “SCFWv1.7.0(及更高版本的 SCFW)” 时,它指的是 SCFWv1.7.0、1.7.1、1.7.2……1.8.0、1.9.0、1.10.0…… 等,其中 “……” 是次要版本 / 补丁,因此当您看到 1.7.2…… 时,它指的是 1.7.3、1.7.4 等)。除非另有说明,表格上方所示的最新 RPA 与最新的 SCFW 版本对齐。 i.MX 8/8X DDR 压力测试 i.MX 8/8X DDR 压力测试工具是一个基于 Windows 的软件工具,用于在构建用于 u-boot 和操作系统启动的 SCFW 之前,验证 DDR 初始化程序是否可运行。DDR 压力测试使用从 RPA 工具生成的 .ds DDR 压力测试脚本以及 SCFW 的特殊构建版本,该版本使用以下选项构建: DDR_CON=ddr_stress_test_parser 或者在 i.MX 8QuadMax 的情况下使用一个 DDR 控制器: DDR_CON=ddr_stress_test_parser_DRC0_only DDR 压力测试提供了一个 “Target” 选项,用于指定正在测试的 SoC。以下是可供选择的目标选项: MX8QM – 用于测试 i.MX 8QuadMax 及其衍生产品 i.MX 8QuadPlus MX8QX – 用于测试 i.MX 8QuadXPlus 及其衍生产品 i.MX 8DualXPlus/DualX MX8DXL – 用于测试 i.MX 8DXL 及其衍生产品 i.MX8 SXL   要安装 DDR 压力测试工具,请保存并解压 zip 文件 mx8_ddr_stress_test_ERxx_installation.zip(其中 “xx” 是当前版本号),然后按照屏幕上的安装说明进行操作。 注意,解压 DDR 压力测试工具 .zip 文件时,建议执行 “在此处解压” 操作。某些系统不允许从另一个文件夹运行解压后的安装可执行文件,只有从与原始下载的 zip 文件相同的位置执行时才能工作。 有关 DDR 压力测试使用方法的更多详细信息,请参考 DDR 压力测试工具交付内容中的 MX8_DDR_Tool_User_Guide。 注意:在新的自定义板上使用 DDR 工具之前,用户应正确地将系统控制器单元固件(SCFW)移植到此新板上。没有正确移植且可工作的 SCFW,DDR 工具将无法运行。          i.MX 8/8X DDR 压力测试 要求 该工具需要访问Windows注册表,因此用户必须以管理员模式运行它。 该工具不能在需要由客户签名的镜像的 OEM 封闭设备上运行。 当用户设计新的 i.MX 8/8X 板时,请确保遵循相应的硬件开发指南和 MX8_DDR_Tool_User_Guide 中概述的规则,这可以帮助用户在其各自的 i.MX 8/8X 板上启动 DDR 设备。   i.MX 8/8X DDR 压力测试 SECO 固件 通常不建议更新 DDR 压力测试默认附带的 SECO (ahab) 固件。不建议这样做是因为 DDR 压力测试的目的是测试 DDR 内存接口,而非整个 SCFW 到 SECO 固件的操作,即便较新版本的 SCFW 可能会提示 SECO 固件版本不是最新的。DDR 压力测试附带的 SECO 固件版本在 DDR 压力测试发布前已通过工厂测试并证实可用;将 SECO 固件更新为其他版本可能会导致意外后果,使 DDR 压力测试无法运行。在大多数情况下,仅更新 SCFW 而不更新 SECO 固件是允许的。 如果用户希望更新 DDR 压力测试中的 SECO 固件版本,则需要重命名该固件,去掉芯片版本(例如,更新 MX8QM SECO 固件时,用户需要将 mx8qmb0-ahab-container.img 重命名为 mx8qm-ahab-container.img,主要是去掉 “b0”)。MX8QXP 是个例外,如果更新 C0 芯片版本的 SECO 固件,用户应保留 C0 这一命名。 如果用户发现更新后的 SECO 固件导致 DDR 压力测试无法运行,建议恢复为 DDR 压力测试发布时附带的默认 SECO 固件版本。 i.MX 8/8X DDR压力测试用户指南 i.MX 8/8X DDR 压力测试工具包含文档:MX8_DDR_Tool_User_Guide.pdf 注意:使用本工具前,请仔细阅读包内的 MX8_DDR_Tool_User_Guide。 DDR 压力测试修订历史 版本 主要变更(功能) NXP BSP软件版本 ER 14 已更新以支持解析 DDR 压力测试脚本中的 VREF 训练命令 此版本与 NXP BSP GA 版本 L5.4.3_2_0_0 及更高版本对齐。 ER15 - 支持 i.MX 8Lite(又名 DXL) - 在数据训练失败时提供更详细的输出,特别是指出哪些字节通道失败 - 有助于调试电路板布局问题 此版本与 NXP BSP GA 版本 Linux 5.15.71_2.2.0 及更高版本保持一致。  相关资源链接: i.MX 8ULP DDR 工具:i.MX 软件和开发工具 | NXP Semiconductors 向下滚动到“其他资源 --> 工具 --> DDR 工具” i.MX 8M 系列 DDR 工具发布 i.MX 6/7 DDR 压力测试 GUI 工具 i.MX 8QM RPA: https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX8QM-DDR-Register-Programming-Aid-RPA/ta-p/1166307 i.MX 8QXP/DXP/DX RPA: https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX8QXP-DXP-DX-DDR-Register-Programming-Aid-RPA/ta-p/1166302 i.MX 8DXL (i.MX 8XLite) RPA: https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX8DXL-DDR-Register-Programming-Aid-RPA/ta-p/1602262 常见问题: 问:DDR 压力测试运行时,会显示先测试区域 1,然后测试区域 2。什么是区域 1 和区域 2? 答:i.MX8X 系列中有两个不同的 DDR 内存区域,这是由于 Cortex A 内核的架构以及 i.MX8X 相关的内存映射所致。 区域 1 是 32 位区域,起始地址为 0x080000000,结束地址为 0x0FFFFFFFF(共 2GB) 区域 2 是 64 位区域(针对 Cortex A 内核架构),起始地址为 0x880000000,结束地址取决于剩余密度: •对于板载总密度为 4GB 的情况,区域 1 为 2GB,区域 2 为 2GB,因此区域 2 的结束地址为 0x8FFFFFFFF(0x900000000 减 1) •对于总密度为 6GB(NXP 板卡密度)的情况,区域 1 为 2GB,区域 2 为 4GB,因此区域 2 的结束地址为 0x97FFFFFFF(0x980000000 减 1) •对于总密度为 8GB 的情况,区域 1 为 2GB,区域 2 为 6GB,因此区域 2 的结束地址为 0x9FFFFFFFF(0xA00000000 减 1) 因此,区域 1 和区域 2 之间的内存映射存在一个 “空洞”。因此,DDR 压力测试首先测试较低的区域(区域 1),直到该区域测试完毕(最多 2GB),如果 DDR 密度超过 2GB,测试将在区域 2 中测试剩余密度。 问:i.MX8X 系列片上系统是否支持具有 17 个行地址 (R [16:0]) 的 LPDDR4 存储器? 答:i.MX8QM、i.MX8QXP 和 i.MX8DXP 片上系统及其衍生产品不支持较新的 17 行地址 LPDDR4 存储器。这意味着,为了支持最大 4GB(32Gb)的 LPDDR4 密度,配置必须为 16 行、2 秩(而非不支持的 17 行、1 秩)。即将推出的 i.MX8DXL 计划支持 17 行地址的 LPDDR4 设备。 问:运行 DDR 压力测试时,我可以选择不同的 i.MX8X AP UART 端口吗? 答:强烈建议遵循 NXP 板卡设计,包括选择相同的 UART 端口;这将减轻用户的软件移植工作,并最大限度地减少不必要的调试问题。DDR 压力测试需要使用 USB OTG 端口和 AP UART 端口(强烈建议连接 SCFW UART 端口以获取 SCFW 调试信息)。到目前为止,工厂认为用户没有理由选择与 NXP 板卡上使用的不同的 AP UART 端口。选择相同的 AP UART 端口可确保 DDR 压力测试更快启动,而不是不必要地调试为什么不同的 UART 端口无法工作。 无论如何,有些人出于某种原因希望使用不同的 UART 端口,因此,NXP 提供了变通方法以允许选择不同的 UART 端口。要选择不同的 UART 端口(0、1 或 2),用户只需在 DDR 压力测试 DDR 初始化(.ds)脚本的末尾添加以下行: memory set  0x5C01042C 32   内存设置 0x5C01042C 32 0x00000000 # UART0 端口选择用于 AP UART(默认) 内存设置 0x5C01042C 32 0x00000001 # UART1端口选择用于AP UART 内存设置 0x5C01042C 32 0x00000002 # UART2端口选择用于AP UART 请注意,UART 端口 0、1 和 2 具有作为默认 UART 引脚的焊盘名称(IOMUX ALT0 配置)。到目前为止,DDR 工具不支持在其他非默认 UART 引脚上多路复用的其他 UART 端口。不过,i.MX8QXP/DXP 和即将推出的 i.MX8DXL 是个例外,它们可以使用在 FLEXCAN2 上多路复用的 UART3。要选择此端口,请在 .ds 文件的末尾添加以下内容: 内存设置 0x5C01042C 32 0x00000003 # UART3 端口选择用于 AP UART(i.MX8QXP/DXP 和 i.MX8DXL 除外) 有些 RPA 内置了支持(通过下拉菜单)来选择 UART 端口。对于那些没有此功能的 RPA,这是因为这些 RPA(恩智浦板卡)未使用不同的 UART 端口进行测试,因为板卡需要切割线路并重新连接 UART 信号,而且有些板卡可能没有现成的这些 UART 线路。不过,用户仍然可以手动添加此 UART 端口选择。参考以下 RPA 以查看 UART 端口选择选项: MX8QXP DDR3 MX8DXP DDR3 问:测试 [8GB(64Gb)的 MX8QM 或 4GB(32Gb)的 MX8QXP] 的 LPDDR4 内存时,DDR 压力测试为何似乎挂起? 答:此问题并非由 DDR 压力测试本身引起,而是由所使用的 SCFW 版本导致。默认版本的 SCFW 二进制文件早于 SCFW 所做的一项更改,即当检测到 DDR 压力测试正在运行时忽略 DRAM 密度限制。与 DDR 压力测试 ER14 相关联的此版本 SCFW 将可测试的 DRAM 密度限制为 [MX8QM:6GB,MX8QXP:3GB],因为此版本的 SCFW 配置为在恩智浦板卡上运行作为基础。如 DDR 压力测试用户指南中所述,建议用户在使用 DDR 压力测试之前,先将最新的 SCFW 移植到其板卡上,以考虑恩智浦板卡与其板卡之间的差异。此外,用户有以下选项可启用超出 [MX8QM:6GB,MX8QXP:3GB] 的测试;请注意,在运行 DDR 压力测试之前,用户有责任确保 SCFW 有一个正常工作的移植版本。 1.最新的 SCFW 应包含一项更新,即如果检测到 SCFW 是为与 DDR 工具一起使用而构建的,则设置无密度限制 —— 用户可以尝试获取最新的移植工具包并构建新的固件。这是推荐的更改。 2. 如果使用早于此更改的现有/较旧版本的 SCFW,在 board.c 的 board_system_config () 函数中,有以下代码块(显示 MX8QM 示例): /* Board has 6GB memory so fragment upper region and retain 4GB */         BRD_ERR(rm_memreg_frag(pt_boot, &mr_temp, 0x980000000ULL,             0xFFFFFFFFFULL)); 用户可以按如下方式进行修改:     if (ddrtest == SC_FALSE)     {         sc_rm_mr_t mr_temp;         /* Board has 6GB memory so fragment upper region and retain 4GB */         BRD_ERR(rm_memreg_frag(pt_boot, &mr_temp, 0x980000000ULL,             0xFFFFFFFFFULL));         BRD_ERR(rm_memreg_free(pt_boot, mr_temp));     } 如果 SCFW 是为 DDR 工具构建的,这将禁用此部分代码的执行(与 1 相同,但使用较早的固件版本时需要用户手动完成)。 3. 在上述代码块中,将 0x980000000 更改为 0xA00000000。这应该允许上述 MX8QM 示例支持 8GB 密度(对于 MX8QXP,将 0x8C0000000ULL 更改为 0x900000000ULL 以支持 4GB 密度)。 i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus
View full article
FRDM-KL25Z 错过 U7 MMA8451Q 新版 FRDM-KL25Z 缺少 U7 MMA8451Q 芯片。这个芯片是这个板的重要元器件,但我不明白为什么它被拆除了。因此,我无法使用板,但是尽管芯片已被移除,价格还是上涨了。我需要那块旧板。请检查一下,你移除了芯片但没有更改板型号,所以当我订购时,我本来想要的是旧板,但我收到了新的。 Re: FRDM-KL25Z miss U7 MMA8451Q 几年前,恩智浦将大部分 Accel/Gyros 的现有库存全部卖给了罗彻斯特电子公司。如今,意法半导体或模拟设备是寻找微机电的更好去处。 如果您要开始新的设计,Kinetis 产品线并不适合。 https://www.rocelec.com/global-search/MMA8451Q Re: FRDM-KL25Z miss U7 MMA8451Q 你好@王建兵 感谢您与我们联系。很抱歉,我们只提供新版本(Rev.I),旧版本将不再生产。正如 FRDM-KL25Z 主页上所指出的那样:"新设计不再推荐使用 MMA8451Q 加速计。 你可以尝试联系代理商或其他第三方平台,检查他们是否还有先前版本的库存。 感谢您的理解。 BR 爱丽丝 Re: FRDM-KL25Z miss U7 MMA8451Q 好吧,我明白了。我遇到了一个问题,请查看如何解决。此版本更改只删除了 U7?如果我把这个 U7 MMA8451Q 焊接到板上。是否可以像旧版本一样使用?现在我需要一个解决方案来处理它。谢谢!
View full article
MCXN947 I3C IBI 有效载荷问题 您好, 我遇到了一些关于 I3C 接收 IBI 有效载荷的问题。希望你们能提供帮助。欣赏。 当我使用 NXP974 作为 I3C 主站时,我们能收到多少个包含 MDB 的有效载荷数据?在我的测试中,似乎最大值为8字节。(一个 MDB 和七个有效载荷数据)。但是从规范来看,它表明支持 9 字节的支持包括 MDB。您能帮忙确认一下吗? 规格:控制器在 9 字节(包括必填数据字节)后自动停止 IBI 数据。 我遇到的另一个问题是,当我将有效载荷设置为8字节时,我确实收到了来自fifo的8字节,但是即使我们没有从i3c目标发送新的IBI,它也会再次进入IBI并导致系统卡住。当有效载荷大小于 8 字节时,它运行良好。 我检查了 SDATACTRL 的 RX FIFO 计数,是 8。我认为这是正确的。而 irq 的状态似乎是正确的,与正常情况下的状态(0x2e00)相同。所以我想这也是正确的。 然后,我尝试捕获洛杉矶的波形。我发现正确和不正确的情况有些不同。 在正常情况下(有效载荷< 7),最后一个 T 位的整个时钟周期为低电平,然后产生一个停止信号。 在错误的情况下,SDA将在T位时钟的上升沿处于高位。然后,重新发送时钟(开漏)。 你知道恩智浦发生了什么事吗?为什么有效载荷大小不同时会有不同的行为? MCX N Re: MCXN947 I3C IBI payload issue 嗨,杰姬! 我们过去也遇到过这个问题,并向恩智浦报告过。我们得到确认,这是恩智浦 I3C IP 模块中的一个错误。IBI 有效负载长度不能大于 8 字节,此外,I3C 目标应使用 T-Bit 来表示最后一个字节中的数据结束(T-Bit LOW)。I3C IP 块作为控制器时,如果 T 位为高电平,则不能发出 STOP 条件。 Re: MCXN947 I3C IBI payload issue 你好@JackieZhu 是的,你说得对。I3C 目标支持在强制数据字节之后最多七字节的扩展 IBI 数据。 因此,包括 MDB,最大值为 8 字节。(一个 MDB 和七个有效载荷数据)。 BR 哈利
View full article
RW612 IO_MUX_SetPinMux(IO_MUX_FC3_USART_DATA); の IO 多重化機能を変更するにはどうすればよいでしょうか? この機能は、I/O を多重化するために使用しますか? /*! * @brief IO_MUX ピンの MUX モードを設定します。 * @note パラメータにはピン機能 ID マクロを入力できます。 * * これは、GPIO2/GPIO3 を Flexcomm0 UART RX/TX として設定する例です。 * @コード * IO_MUX_SetPinMux(IO_MUX_FC0_USART_DATA); * @endcode * * これは、GPIO6/GPIO10 を Flexcomm1 I2C SDA/SCL として設定する例です。 * @コード * IO_MUX_SetPinMux(IO_MUX_FC1_I2C_6_10); * @endcode * * @Param pinLowMask GPIO0-31 ピン マスク。 * @Param pinHighMask GPIO32-63 ピン マスク。 * @Param gpioFcSetMask IO_MUX_GPIO_FC_MASK() で定義される、設定する GPIO および Flexcomm レジスタマスク * @Param gpioFcClrMask クリアするGPIOおよびFlexcommレジスタマスク。IO_MUX_GPIO_FC_MASK()で定義されます。 * @Param fselSetMask 設定するFSELレジスタマスク * @Param fselClrMask クリアするFSELレジスタマスク * @Param ctimerSetMask IO_MUX_CTIMER_MASK() で定義される、設定する C_TIMER_IN/C_TIMER_OUT レジスタマスク * @Param ctimerClrMask クリアする C_TIMER_IN/C_TIMER_OUT レジスタマスク。IO_MUX_CTIMER_MASK() で定義されます。 * @Param sctimerSetMask 設定するSC_TIMERレジスタマスク * @Param sctimerClrMask クリアするSC_TIMERレジスタマスク / 静的インラインvoid IO_MUX_SetPinMux(uint32_t pinLowMask, uint32_t ピンハイマスク、 uint32_t gpioFcSetMask、 uint32_t gpioFcClrマスク、 uint32_t fselSetMask、 uint32_t fselClrMask、 uint32_t ctimerSetMask、 uint32_t ctimerClrMask、 uint32_t sctimerSetMask、 uint32_t sctimerClrマスク) このマクロは設定ツールで生成されたのでしょうか?数値やマスクされたマクロが満載で、全く読めません。 #IO_MUX_FC3_USART_DATA を定義する \ 0x05000000U, 0x00000000U, /* ピンマスク */ \ IO_MUX_GPIO_FC_MASK(0, 3, 0x200), IO_MUX_GPIO_FC_MASK(1, 3, 0x1EE), /* GPIO&FCマスク */ \ 0x00000000U, 0xC0000000U, /* FSELマスク */ \ IO_MUX_CTIMER_MASK(0, 0), IO_MUX_CTIMER_MASK(0x40, 0x40), /* CTimerマスク */ \ IO_MUX_SCTIMER_MASK(0, 0), IO_MUX_SCTIMER_MASK(0x10, 0x10) /* SCTimerマスク */ 別の IO に変更するにはどうすればいいでしょうか? Re: RW612 IO_MUX_SetPinMux(IO_MUX_FC3_USART_DATA); IO复用如何修改? お返事ありがとうございます。 1. シリアル ポート (UART) 通信用に別の I/O ポート セットを選択します。 2. SDKを読んでいて、その中のコードを参照しています。MCUXpressoスタイルのコードに初めて触れたので、よくわからない部分があります。MCUXpresso を 使ってFlexCommをUARTとして実装する方法についてのドキュメントやウェブページ はありますか ? 3. 現在、ボードをダウンロードできません。 私はM33を選択しました。 ダウンロードできません J-linkは有料製品であり、既存の製品ではあまりサポートされていないため、あまり気に入っていません。代わりにCMSIS-DAPを使いたいと思っています。 しかし、ファームウェアを更新する方法を見つけることができませんでした。 プログラムのダウンロード機能を緊急に有効にする必要があり、ご協力をお願いいたします。 Re: RW612 IO_MUX_SetPinMux(IO_MUX_FC3_USART_DATA); IO复用如何修改? こんにちは、 SDK の例に基づいてアプリケーションを構築することをお勧めします。 Config Tools を使用してペリフェラルを変更または構成する必要はありません。必要に応じてソースコードを変更できます。 RW612用のモジュールを使用していますか? 具体的に何を達成したいのか説明していただけますか? よろしくお願いいたします。 ダニエル。 Re: RW612 IO_MUX_SetPinMux(IO_MUX_FC3_USART_DATA); IO复用如何修改? ダウンロードに成功しました。 Re: RW612 IO_MUX_SetPinMux(IO_MUX_FC3_USART_DATA); IO复用如何修改? こんにちは、 FRDM-RW612を使用していることをご確認ください。 UM12160をご覧ください。搭載デバッガーのファームウェアを更新するには、JP2 をショートする必要があります。セクション 3.5 に記載されている手順に従ってください。 よろしくお願いいたします。 ダニエル。
View full article
针对同步动态随机存取存储器(SDRAM)版本构建的 RT1170 调试 您好, 我正在使用 MCUXpresso 及其 SDK 为 RT1170 开发一个应用程序。 所提供的示例项目似乎都是使用 “DTC” RAM 版本的。与许多其他用户一样,我的应用程序太大了,无法容纳在那里,所以我正在尝试使用“同步动态随机存取存储器(SDRAM)”。 在尝试了论坛上其他一些帖子(尤其是https://community.nxp.com/t5/i-MX-RT/MCUXpresso-and-RT1050-download-and-debug-in-SDRAM/m-p/896979)中提出的解决方案后现在,我可以执行我的程序,如果应用程序已闪存,我还可以调试程序。 但是,如果我使用 “将应用程序链接到RAM” 进行版本和执行,那么一旦遇到断点,应用程序通常会卡在那里。 我的假设是这是因为我没有正确初始化同步动态随机存取存储器(SDRAM)。上述文章使用 “rt1050_SDRAM_init.scp 作为调试器初始化 同步动态随机存取存储器(SDRAM) 控制器的连接脚本”。如果我使用这个文件,失败也就不足为奇了。 我不知道如何调整这个脚本才能在 RT1170 上运行。有没有人这样做过,或者能提供如何生成的建议? 感谢您提供的任何帮助。 Re: RT1170 debugging when application is built for SDRAM 你好@ Jingpan 按照提供的步骤,使用 RT1170_BriefOverview_v210.pdf 中提到的修改刷新 hello world,我可以在调试模式下使用同步动态随机存取存储器(SDRAM)。 但是在这种变化之后,同步动态随机存取存储器(SDRAM)也用于存储代码。 在我的应用程序中,我希望代码存储在闪存中,而 BOARD_SDRAM 仅用于堆和堆栈部分。 我将把我的应用程序闪存到闪存中,该应用程序的堆和栈部分将使用 BOARD_SDRAM。 请指导我进行所需的更改。 Re: RT1170 debugging when application is built for SDRAM 谢谢@ Jingpan、 我只需要添加 .scp文件,结果成功了。 我已经掌握了第 5、第 6 和第 8 步,但我会试试其他步骤。 如果有帮助我还在 board.c 中做了以下更改,我认为这等同于<https://community.nxp.com/t5/i-MX-RT/MCUXpresso-and-RT1050-download-and-debug-in-SDRAM/m-p/896979>中描述的 RT1170_SDRAM_NOT_CACHED: #ifdef USE_SDRAM #ifndef RT1170_SDRAM_NOT_CACHED /* 区域 9 设置:内存为普通类型,不可共享,外部/内部回写 */ MPU->RBAR = ARM_MPU_RBAR(9, 0x80000000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_64MB); #else MPU->RBAR = ARM_MPU_RBAR(9, 0x80000000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 1, 0, 0, 0, ARM_MPU_REGION_SIZE_64MB); #endif /* RT1170_SDRAM_NOT_CACHED */ #endif Re: RT1170 debugging when application is built for SDRAM 你好@robert_s、 此脚本适用于 RT1050/60,但不适用于 RT1170/60。您可以使用附带的脚本。除脚本文件外,您还需要执行其他步骤。 在 C/C++ 版本 > MCU 属性设置中的内存详细信息中,将 BOARD_SDRAM 移至 SRAM_DTC_M7 上方。 连接脚本使用 RT1170_connect_M7_wake_M4_SDRAM_init.scp。 在附加选项中添加 --cachelib libm7_cache.so。 如果使用 USB/以太网/SDHC,请将 DMA 缓冲区放入非缓存区。 在 MCU C 编译器> 预处理器中添加 USE_SDRAM。 在属性中选择链接到 ram->设置->受管链接器脚本 如果项目与 USB 关联,则在 MCU C 编译器> 预处理器中添加 DATA_SECTION_IS_CACHEABLE=1。 如果项目与不带 freertos 的 USB 主机相关联,则将堆放入 DTCM 或不可缓存区域 (bm) 此致, 景
View full article
NXP mpc5744p MCUボードと開発キットMotorGDボードの3Dモデル こんにちは、みんな、 mpc5744p MCU や DevKit motorGD ボードなどの NXP 製品を含む新しいテストベンチを開発しています。 私はテストベンチ用にプロフェッショナルな 3D 画像を入手しようとしており、次の 3D ファイルが必要です: 1. mpc5744p MCUボード 2. DevKit モーターGDボード NXPのウェブサイトで検索したら、.zipファイルを見つけました。レイアウト用のファイルがありましたが、Easyeda を使用して開くことができませんでした。 1. LAY-29379_B.zip 2. LAY-29333_E.zip どなたか、これらを開くか、2 つのボードの 3D モデル ファイルを取得するのを手伝っていただけませんか。 ありがとう、良い一日をお過ごしください! Re: 3d Model of NXP mpc5744p MCU Board & Devkit MotorGD Board こんにちは、 NXPのウェブサイトで検索したら、.zipファイルを見つけました。レイアウト用のファイルがありましたが、Easyeda を使用して開くことができませんでした。 1. LAY-29379_B.zip 2. LAY-29333_E.zip これらは、Candace: allegro で設計されたレイアウト ファイルです。 レイアウトデザインから 3D モデルを抽出できるとは思っていません。 私は次の方法を見つけました: EAGLE + Fusion 360 .brdファイルを開くEAGLE のファイル。 Fusion 360 Sync 機能を使用します。 Fusion 360 → EAGLE デザインをインポートに移動します。 コンポーネントを含む完全な 3D PCB モデルを生成します。 機械統合のために STEP (.step) または IGES としてエクスポートします。 レイアウトデザインから 3D モデルを抽出できるとは思っていません。 500MB 程度の STEP ファイルをコミュニティ経由で共有することはできません。 よろしくお願いいたします。 ピーター Re: 3d Model of NXP mpc5744p MCU Board & Devkit MotorGD Board こんにちは、 petervlnaさん ご返信ありがとうございます。 提案された解決策をEagle + Fusion 360を使用して試しましたが、残念ながら、ファイルを開くことができないことを示すエラーが発生しました (下の画像を参照)。EasyEDA、Altium、KiCadなどの他の PCB ソフトウェアを使用する場合にも、同じ問題が発生します。 この時点で、 .STEP 形式の 2 つのボードの 3D モデルが緊急に必要です。これらのファイルを、 Google Drive、OneDrive、MEGAなどのクラウド ストレージ サービスやその他の便利なプラットフォーム経由で直接提供していただければ幸いです。 改めましてサポートありがとうございます。ご返信をお待ちしております。 よろしくお願いします、 アハメド Re: 3d Model of NXP mpc5744p MCU Board & Devkit MotorGD Board こんにちは、 はい、そのような場合は、NXP サポートにチケットを送信してください。 このようなファイルを取得するには、NXP との有効な NDA も締結する必要があります。 当社のサポート ポータルでは 2GB のファイルが許可されており、以前にも STEP ファイルを共有したことがあるため、STEP モデルをサポート ポータル経由で共有することが可能です。 内部ファイルを当社の公式システム外で共有することはできません。 よろしくお願いいたします。 ピーター Re: 3d Model of NXP mpc5744p MCU Board & Devkit MotorGD Board こんにちは、 petervlnaさん ご提案ありがとうございます。番号 (CASE: 00756530) でCASEを開設しました。 できるだけ早くファイルを入手したいと考えています。 どうもありがとう。 よろしくお願いします、 アハメド
View full article
s32k312 hse ab-swap 重启方法? 恩智浦专家,你好、 1.我使用的是 s32k312,HSE 版本为 1.13.0、2.40.0。 2.我正在实现 OTA 功能。 OTA 完成后,我需要致电 HSE 交换 ab,然后重启以运行新的应用程序。 我的问题是,我编写了一个演示程序,并调用" HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK" 服务。在不带任何参数的情况下,使用"IP_MC_ME" perphieral 重启单片机,但只起一次作用,然后单片机就无法运行了,可能是出现了一些硬故障。 那么,但是通过RESET引脚重启是可以的。 我的重启密码是 剧透 (高亮部分可供阅读) IP_MC_ME->MODE_CONF = mc_me_mode_conf_func_rst(1); IP_MC_ME->MODE_UPD = MC_ME_MODE_UPD_MODE_UPD(1); IP_MC_ME->CTL_KEY = mc_me_ctl_key_key(0x5AF0); IP_MC_ME->CTL_KEY = mc_me_ctl_key_key(0xA50F); IP_MC_ME->MODE_CONF = MC_ME_MODE_CONF_FUNC_RST(1); IP_MC_ME->MODE_UPD = MC_ME_MODE_UPD_MODE_UPD(1); IP_MC_ME->CTL_KEY = MC_ME_CTL_KEY_KEY(0x5AF0); IP_MC_ME->CTL_KEY = MC_ME_CTL_KEY_KEY(0xA50F); 这个重启代码可以吗?还是我需要使用其他方法重启微控制器,使 ab 交换功能生效并运行新程序? 谢谢。 Re: s32k312 hse ab-swap reboot method? 原则上是正确的,但请务必查看以下演示示例,您可以在其中详细调换程序 首先,我们提供了 Secure 启动 应用笔记,其中包括详细解释所有步骤的演示项目。可从以下网址下载 https://www.nxp.com/products/processors-and-microcontrollers/s32-automotive-platform/s32k-auto-general-purpose-mcus/s32k3-microcontrollers-for-automotive-general-purpose:S32K3 应用笔记可以在这里找到: 文档-> 安全文件-> 安全启动应用笔记 v0.1.1.0(AN744511) 相关演示项目可在此处下载: 设计资源 -> 软件 -> 安全文件 -> SecureBootAppNoteDemo (SW745310)
View full article
S32 DS 3.3 许可证过期 你好,我的 S32 Design Studio 3.3 已过期: S32 Design Studio v.3.3 版 订购编号 S32DS-3-3_146477567 订购单编号 许可证总数: 101 激活代码 AF1B-F377-2238-53BB 您能帮我解决这个问题吗?非常感谢! 亚历山大-穆勒 Re: S32 DS 3.3 License expired 你好、 您的 S32DS 许可证已延期。请使用旧代码重新激活 S32DS。
View full article
关于CANFD中二次采样点偏移SSP Offset的设置问题 在ISO 11898-1 2015,SSP要求是在普通采样点SP之前,但是公司规范中定义了 SSP offset 等于TSEG1,相当于SSP和SP在同一个位置。那么这个就失去了SSP的快速检测错误的功能。请问这个规范中固定的SSP offset是否合理。 例如:规范中要求CANFD采样点配置建议,其中SSP Offset =TSEG1   Re: 关于CANFD中二次采样点偏移SSP Offset的设置问题 您好, 我不知道 ISO 11898-1 2015 的确切措辞,也不知道您的图片来自何处。也许这只是误读。 符合 ISO 标准的 CAN FD 控制器使用 TDC 来测量回路延迟,并使用可配置的 SSP 使发射器能够在更高的数据速率下正确检测数据错误。省略 TDC/SSP 会使这一机制失效,从而降低错误检测的鲁棒性。 图示 TX 输出:代表控制器传输的 CAN FD 位。 RX 输入:代表收发器延迟后的接收比特。 TDC 测量:控制器测量 TX 和 RX 之间的环路延迟。 TDC 偏移:用户可配置的值,添加到测量的延迟中。 SSP 位置:计算公式为 SSP = TDC 测量值 + TDC 偏移。 SSP 不应该在 TX 功能域中的主 SP 之前。相反,在对 RX 信号进行采样时,它的位置应在考虑收发器延迟后与正确的比特中心对齐。从 TX 的角度看,SSP 出现的时间比正常 SP 晚,因为 RX 信号由于物理延迟而滞后于 TX。将 TDC 偏移量设置为等于标称 SP 可确保 RX 采样点与接收位处于同一时间,但可以自由设置,即位于位中间,这对于错误检测和数据完整性是最佳选择。 ISO 11898‑1 要求 SSP 进行发射器延迟补偿,而不是 TX 功能域中的早期错误检测。目标是确保发射器在延迟后能够正确验证自己的位。 BR, Petr Re: 关于CANFD中二次采样点偏移SSP Offset的设置问题 再次感谢
View full article
EB 客户许可证管理员 我使用的是 Tresos Studio 29.2。此前,在使用 MPC574xB 时,注册是成功的,一切运行正常。但是,既然我们已经切换到 S32K314 平台并尝试使用相应的激活码将其激活,则出现了以下错误: 错误:flxactappActivationSend (50040,41147,10248) 该激活请求不产量获得许可证的权利。 与 FlexNet Operations Server 的连接失败。 请问问题出在哪里,EB 真的只支持一个平台吗? 电源 Re: EB ClientLicenseAdministrator 你好、 请检查您的账户,获取新的激活代码。此外,还存在可用许可证数量的问题。我已经联系了许可证管理部门来解决这个问题。 Re: EB ClientLicenseAdministrator 我通过下面的网站重新获取了最新的激活代码,但发现还是以前的激活代码,无法成功激活。接下来我该怎么办? 设计 :产品下载 :文件
View full article
FS26 无法 RESET S32K3 我正在使用 RTD 层在带有 FS26 的 S32K314 上进行开发。 目前,我遇到 FS26 无法 RESET MCU 的问题。 FS26 成功进入正常状态,但是当我故意停止为看门狗供电时,RSTB 引脚没有被拉至低电平,也没有 RESET MCU。 您能帮我检查一下可能出了什么问题吗?谢谢。 有关我的配置设置和初始化步骤,请参阅所附的图片。 Re: FS26 CAN'T NOT RESET S32K3 嗨,彼得、 感谢您的回复。 我正在定制板上开发,我可以确认硬件已经退出调试模式。 我尝试刷新一个没有进行任何 FS26 初始化的版本,在那个版本中,FS26 会持续 RESET MCU。 但是,当我闪回我提供给你的版本(包含 FS26 初始化的软件)时,FS26 不再 RESET MCU。 此外,你还可以看到我的配置,如附件所示,我选择了调试模式退出。 请帮助检查 FS26 初始化过程中是否有任何错误。谢谢。 Re: FS26 CAN'T NOT RESET S32K3 你好 你能分享一下你使用的是恩智浦评估板还是定制主板吗? 确保 FS26 未处于调试模式。在这种情况下,WDOG 将被禁用,超时时不会有任何反应。 顺祝商祺! Peter Re: FS26 CAN'T NOT RESET S32K3 你好 好的,谢谢你的解释。 此外,你还可以看到我的配置,如附件所示,我选择了调试模式退出。 好的,这只是配置图形用户界面中的复选框。 如果从 FS26 读回,它真的处于正常模式吗? 我尝试刷新一个没有进行任何 FS26 初始化的版本,在那个版本中,FS26 会持续 RESET MCU。 如果 FS26 未初始化,WDOG 将发出 RESET 命令,RESET 阶段将自动重新开始。 初始化阶段必须在 256 毫秒超时前通过良好的看门狗刷新关闭。如果在初始化阶段没有发送监视器刷新或监视程序不正确,则会生成 RSTB 脉冲,故障错误计数器将增加 1。当 RSTB 版本发布时,新的初始化阶段会自动启动。 但调试模式也是通过调试引脚激活来保持的。但是由于RESET是在没有完成初始化的情况下进行的,我预计你没有激活调试引脚。 但是,当我闪回我提供给你的版本(包含 FS26 初始化的软件)时,FS26 不再 RESET MCU。 因此,在我看来,这与代码直接相关。 因此,我认为可能只有两种选择。 1. 您的 WDOG 未激活 2. 您已进入调试模式。 否则,FS26 将发出 RESET。 可以添加 FS26 模式调试模式检测检查,以确保 SBC 启动后不处于调试模式。 同时检查 FS_I_WD_CFG 顺祝商祺! Peter Re: FS26 CAN'T NOT RESET S32K3 嗨,彼得、 请看我蓝色字体的回复。谢谢。 仍未找到监视程序未触发信号 MCU RESET 的根本原因。 如果从 FS26 读回,它真的处于正常模式吗? Wade : 是的,我通过 spi 读取了 FS_STATES,它返回 1011(正常)。 1. 您的 WDOG 未激活 韦德:我用 spi读取了FS_I_WD_CFG 并返回了 0101 1010 0001 0000,与我的配置相同。 2. 您已进入调试模式。 Wade : 没有,我通过 spi 读取 FS_STATES,它返回 1011(不在 DEBUG 模式下)。 Re: FS26 CAN'T NOT RESET S32K3 嗨,彼得、 我在上一篇文章中漏掉了一张图片。 请一并参阅。谢谢。 Re: FS26 CAN'T NOT RESET S32K3 你好 这就奇怪了。 我检查过你们的登记簿: 如果从 FS26 读回,它真的处于正常模式吗? Wade : 是的,我通过 spi 读取了 FS_STATES,它返回 1011(正常)。 1. 您的 WDOG 未激活 韦德:我用 spi读取了FS_I_WD_CFG 并返回了 0101 1010 0001 0000,与我的配置相同。 wd_fs_reaction[1:0] 如果设备未处于调试模式,则此类配置将触发信号RESET。 2. 您已进入调试模式。 Wade : 没有,我通过 spi 读取 FS_STATES,它返回 1011(不在 DEBUG 模式下)。 这说明是正常模式。 我不清楚你那边发生了什么。 你能不能通过示波器检查RESET线,看看RESET没有被拉出。另外,你在恩智浦评估板上看到同样的行为吗? 那调试引脚呢,不是激活的吗? 默认情况下,在没有任何SBC配置的情况下,RESET会被触发信号,因此您的SBC配置中必须有一些内容,防止从SBC向uC执行RESET。 您是否尝试过 RTD 软件包提供的 FS26 示例软件? 顺祝商祺! Peter
View full article
S32K144 CAN通讯异常 各位大佬:   我发现个异常的现象,我基于S32K144的CAN通讯DEMO整改了一下,在DEMO板可以正常外发报文通讯,我的CAN模块的时钟使用的内部48M的,移植到自制板子通讯也正常,但是我们我把时钟源切换到外部晶振,一旦倍频数值大于28,CAN通讯外发报文功能就消失了,不是特别理解原因,有什么需要特别注意的地方么?   回复: S32K144 CAN通讯异常 我的IDE是S32 for platform 3.5,SDK是4.0.1,我同事的是S32 for ARM 2.2,SDK是4.0.1,SDK是3.0.0,他修改clockout也没有用 你如果倍频输配置到28可以么?工程传不上来,一直加载 回复: S32K144 CAN通讯异常 仅供参考 回复: S32K144 CAN通讯异常 Hi@NanMo 我没看懂,你能详细的解释下嘛 回复: S32K144 CAN通讯异常 更新状态,发现通过S32K144配置时钟树选择配置一下clockout这一路的配置后状态就正常了,大家小心工具,痛并快乐着......   Re: S32K144 CAN通讯异常 Hi@NanMo 我复现了该问题,我也没在数据手册中看到有这样的限制要求,所以我创建了一个内部帖子等待设计团队的人给我一个回复,请你耐心等待。 回复: S32K144 CAN通讯异常 原理未知,可靠性未知,望答复 回复: S32K144 CAN通讯异常 红色框图部分原来我没有修改,默认状态下去生成代码后CAN功能在我使用不同时钟源的状态下功能不一致,后面把这两个选择点开配置成spll sclock,编译烧录发现通讯正常了,再把这里的配置依照印象改回去(不一定和原来一模一样奥),编译烧录发现通讯一直正常,我想知道为啥,折磨了我两天半了 回复: S32K144 CAN通讯异常 Hi@NanMo1 你可以分享这些第三方代码给我,我可以看看。 这个问题我已经在和内部的设计团队进行确认了,这个需要点时间。如果你的项目有需求,你现在FLEXCAN完全可以使用外部的晶振时钟,这个应该是没有问题的。 回复: S32K144 CAN通讯异常 这个账号是我使用公司邮箱注册的账号,这个问题还在困扰着我,但是我发现有部分第三方代码可以实相同配置下的CAN通讯,这个具体原因是什么? 回复: S32K144 CAN通讯异常 Hi@NanMo 我测试将PLL倍频设置为40是工作不OK的,我已经提交了case至设计团队来询问时钟的限制,因为我在数据手册中没看到有这样的限制要求。 其次你说了改了CLKOUT又可以,但是我改了也没用,你要是有成功的例程,你可以发送给我测试一下。 回复: S32K144 CAN通讯异常 Hi@NanMo 如果PLL倍频设置为40,PE时钟选择为外设时钟,我的CAN通信也异常。 回复: S32K144 CAN通讯异常 仅供参考 回复: S32K144 CAN通讯异常 Hi@NanMo1 你提供的工程所使用的时钟是外部晶振时钟,这个有什么问题?这和你的问题不一样吧 回复: S32K144 CAN通讯异常 CAN的PE模块一直都是用的外部时钟,发现如果系统使用外部倍频的时钟有时候CAN不正常,而且在不同板子上现象不一样。 回复: S32K144 CAN通讯异常 我第一次上传的例程就是 回复: S32K144 CAN通讯异常 Hi@NanMo1 上传你的demo 回复: S32K144 CAN通讯异常 我的demo板是100pin的,我的自制板子是64pin的,我在100PIN的基础上直接切换成64PIN会有问题,但是如果切换完后删掉所有的配置重新走配置流程功能就正常了 Re: S32K144 CAN通讯异常 谢谢您的答复。我现在明白了问题的原因。 Re: S32K144 CAN通讯异常 Hi@NanMo 抱歉,让您久等了。 这是 S32 DS IDE 的一个错误。 我发现这是 S32 DS 工具中的一个错误,我录制了一个视频供你参考。 问题在于,我们修改 SPLL 因子后,并没有更新生成的代码,从而导致 FLEXCAN 配置错误。 在"clock_config.c" 中,"SCG_SPLL_CLOCK_MULTIPLY_BY_28" 不会改变,即使我们尝试改变 修改 SPLL 因子。 .spllConfig = { .initialize = true, .monitorMode = SCG_SPLL_MONITOR_DISABLE,/* Monitor disabled */ .locked = false, /* unlocked */ .prediv = (uint8_t)SCG_SPLL_CLOCK_PREDIV_BY_1,/* Divided by 1 */ .mult = (uint8_t)SCG_SPLL_CLOCK_MULTIPLY_BY_28,/* Multiply Factor is 28 */ .src=0U, .div1 = SCG_ASYNC_CLOCK_DIV_BY_2, /* System PLL Clock Divider 1: divided by 2 */ .div2 = SCG_ASYNC_CLOCK_DIV_BY_4, /* System PLL Clock Divider 3: divided by 4 */ }, 1.直接修改底层配置代码。 2.我发现先将运行模式切换到 HSRUN,然后再切换回 RUN,并在此过程中修改 SPLL 因子,这样就能正常生成代码。
View full article
CODEWarrior USB TAP 驱动程序问题 你好,我们使用的是 DSP56F803 芯片,我需要用 S-Record 文件闪存它。 我们有:安装了适用于 56800E 数字信号控制器 V8.3 的 CodeWarrior 的 Windows XP,安装了 56800E 闪存编程器,还有 USB TAP 调试器。 我检查了驱动程序是否已正确安装(CCS-> 驱动程序-> USB)。设备管理器显示该设备已正确安装(libusb-Win32 设备-> CodeWarrior USB TAP)。 但是,USB TAP TX/RX 呈红色闪烁,每次我想刷新 S-Record 文件时它都会提示 " CCSProtocolPlugin: CCS: USB 打开失败 "。 我不知道为什么,一切似乎都很正常,驱动程序也显示正常。 Re: CodeWarrior USB TAP driver issue 你好@Chenxuan、 感谢您的来信。我注意到你还有一个一模一样的私人箱子。我将专注于在该案件中解决您的问题。如需任何最新信息,请随时在该私人邮箱中回复我。 感谢您的理解。 BR 西莱斯特
View full article
mc33772c 分配 CID 你好, ,我目前正通过 mcu 连接 mc33664 和 mc33772c。现在,我可以通过发送读取初始寄存器的指令来获得正确的响应,但在我尝试写入 cid 并读取它之后,却无法获得正确的响应。 在不更改读取指令(不修改报文计数器)的情况下继续发送,仍能得到响应,这正常吗? 下面是我尝试写入 cid 但没有收到响应的情况,而读取初始寄存器时也得到了响应。此外,此后发送的其他指令也可以收到相同的响应,除非再次发送读取初始寄存器的指令,在这种情况下,响应数据将被更新。     SPI Re: mc33772c assign CIDs 嗨,凯文、 我检查了你的电路图,似乎是正确的。但我不明白 BCC 的各个接地是如何连接的。请确保 BCC 的地线连接到 6 芯电池中最低电池的负极。请参阅所附示意图。 如果不存在 EEPROM,则应忽略 I2C ERR FLT。 开始时,请断开较高 BCC 的连接,并尝试只写入第一个 BCC,同时将 6 芯电池只连接到第一个 BCC。如下所示。 致以最崇高的敬意 约瑟夫 Re: mc33772c assign CIDs 嗨,凯文、 感谢您提供的示意图。是的,我收到了。我会检查一下,然后再回来。 致以最崇高的敬意 约瑟夫 Re: mc33772c assign CIDs 您好, ,我已将原理图作为附件发送到您上周五的私人信息中。您收到了吗?还有问题吗? 最美好的祝愿 Kevin Re: mc33772c assign CIDs 嗨,凯文、 你在使用我们的评估板吗?如果是,请注明完整的产品编号。如果您使用自己的设计,请共享您的原理图以及电压等级和零件值以供检查。 致以最崇高的敬意 约瑟夫 Re: mc33772c assign CIDs 你好, ,我现在已经连接了电池,但仍无法成功写入 cid。而通过读取 FAULT1 STATUS$24 寄存器,我发现在执行写入指令后也出现了故障检测。我没有外部 EEPROM,因此将 I2C ERR FLT 设置为 1 应该是正常的。 我的波形也正常。我真不知道为什么写不对。     Re: mc33772c assign CIDs 嗨,凯文、 是的,可能就是这个原因。请参阅MC33772C 数据手册中的第 5.2 节。根据您所使用的 MC33772C 版本,BCC(电池芯控制器)必须连接的电池芯数量是最少的。通常,最小电池数为 3。但是,即使是 MC33772CTC0AE 版本,CT 和 CB 引脚也不能保持浮空。 另请参阅AN12536。 致以最崇高的敬意 约瑟夫 Re: mc33772c assign CIDs 您好, 我通过接线为 mc33772c 供电。这种方法是否会影响我读写 mc33772c 芯片、分配 CID。     Re: mc33772c assign CIDs 嗨,Kevinyuee、 INIT 寄存器读取工作 这表明默认 CID(通常为 0x00)仍处于活动状态。 该命令的报文计数器和 CRC 可能是正确的。 撰写 CID 需要 一个有效的报文计数器(从上一条成功报文开始递增)。 正确的 CRC。 CID 分配命令的正确帧格式。 请参阅MC33772C 完整数据手册中的第 9.3.2 和 9.3.3 节,了解空闲模式和启动模式的说明。 致以最崇高的敬意 约瑟夫
View full article
MCUXpresso IDEとSDKのインストール (日本語ブログ) 0. この記事は? NXPのマイコン用ソフトウェア開発環境MCUXpressoとそのSDKは無料で提供されていて,誰でも簡単にインストール可能!すぐにサンプル・コードを動かしてみることができます.😃 このブログ記事は,MCUXpresso IDEとSDKのインストール方法をステップ・バイ・ステップで紹介します. ※ この記事では使用する基板の例としてFRDM-MCXA153を使います インストール手順の解説動画を公開しました.視聴はこちらのリンクから.   目次 0. この記事は? 1. MCUXpresso IDEって? 2. nxp.comへのログイン 3. MCUXpresso IDEのインストール 4. SDKのインストール 4.1 MCUXpresso IDEの起動とワークスペース 4.2 SDKのインストール手順 4.3 準備完了! 5. おまけ:このまま基板の動作を試してみるには 参考資料 1. MCUXpresso IDEって? NXPが提供している汎用マイコンの各種サンプル・コードは,NXPが無料で提供するソフトウェア開発環境:MCUXpressoで動作するように作られています. このMCUXpressoには「MCUXpresso IDE (以下IDE)」と「MCUXpresso VisualStudio Code (以下VSC)」の2種類があり,IDEはすべての機能をひとつにまとめたアプリケーション.VSCはMicrosoft社が提供するVisualStudio Codeのプラグインとして提供されています. このブログではこの2種類のうち,IDEとSDKのインストールの方法を紹介します. IDEはWindows,macOS,Linuxで動作し,いずれのOSでも同じユーザ・インターフェースでの操作が可能です. MCUXpressoで動作するサンプル・コードを試してみるには,まずその準備としてIDEをインストールし,さらに動作させるマイコン/基板(ターゲット)のSDKをインストールしておかなければなりません. IDEはIntegrated Development Environmentの略で,統合開発環境アプリケーションです.このアプリケーションにはソースコードを編集するエディタをはじめ,コンパイラやリンカといったツールチェーン,コードをプロジェクト単位にまとめて,さまざまな設定と一緒に管理してくれるソフトウェアなどが含まれています. SDKはSoftware Development Kitの略で,マイコン・チップ毎に必要なドライバ・コード,設定情報が含まれています.SDKは作成しようとするマイコン・チップや基板(ターゲット)ごとにインストールしておかなければなりません. ではこれらのインストール方法をステップごとに解説しましょう. この記事はmacOSを用いた例となっていますが,WindowsやLinuxでもほぼ同じ操作でインストールできます. 2. nxp.comへのログイン これ以降の作業を行うには,あらかじめnxp.comにログインしておかなくてはなりません. もしまだ nxp.com のアカウントをお持ちでない場合には,先に登録を済ませたのちにログインしてください. MyNXPアカウントの登録方法はこちら 3. MCUXpresso IDEのインストール IDEのインストーラをMCUXpresso IDEのダウンロードサイトからダウンロードします.このダウンロードにはnxp.comでのユーザ登録が必要なので,もしまだであればあらかじめ済ませておきましょう. MCUXpresso IDEのダウンロードサイト行き「ダウンロード」ボタンを押す. ページがスクロールし,ダウンロードページへのリンク・ボタンが表示される.この「ダウンロード」ボタンを押す. MCUXpresso IDEのリンクをクリック. 利用規約が表示される.問題がなければ「I Agree (同意)」ボタンを押す. 自分が使うOSに合わせたインストーラを選んでリンクをクリック. ダウンロードするインストーラはLinuxならファイル名末尾の拡張子が「.deb.bin」のものを.Windowsなら「.exe」を. macOS用は拡張子が「.pkg」ですが2種類あります.M1以降のMシリーズ(Arm)プロセッサ搭載のMacなら「MacOSX - aarch64」,インテルCPU搭載のMacなら「MacOSX - 86-64」をダウンロードします. ※ バージョン番号が違う場合は読み替えてください ダウンロードが完了したら,インストーラを起動.表示される手順に従ってインストールを完了させます.   4. SDKのインストール   4.1 MCUXpresso IDEの起動とワークスペース MCUXpresso IDEのインストールが完了したら,MCUXpresso IDEを起動します. macOSでは,起動後にワークスペースをどこにするか聞いてきます(ガイド動画2:49付近).ワークスペースとは作業を行うためのフォルダです. デフォルトではユーザ・フォルダの中の,「Documents」の中に新しいフォルダが作られます. ※ 下図はデフォルト設定表示の例.この例ではdemoというユーザ名で作業しているので「/Users/demo/..」のような指定となっています.  ワークスペース(フォルダ)はユーザ・フォルダの中なら好きな場所にできます.下図の例ではユーザ・フォルダの中に「mcux」を作り,さらにその中で「project0」という名のワークスペースが作られます. 4.2 SDKのインストール手順 起動(起動とワークスペースを指定を完了)すると,下図のようなウェルカム表示が現れるのでこの中の「Download and Install SDKs」をクリック. しばらくサーバへの問い合わせを行ったあと,下図のような表示となります.このデフォルトの表示状態では右側と下側の表示が隠れてしまっているので,ウィンドウのサイズを拡げるか,表示を適宜スクロールします. ウィンドウサイズを拡げて表示域を確保 表示右上部の検索フィールドに,使用する基板やマイコンの型番を入力. ここでは例としてFRDM-MCXA153を使うので「A153」を入力した.その結果,FRDM-MCXA153基板が候補として表示された. FRDM-MCXA153基板を選択すると「Install」ボタンがハイライト表示されるので,これをクリック インストール中はダイアログボックスが表示される インストールが完了すると,ウェルカム表示に戻る. この表示をタブのクローズボタンで閉じる. IDEのデフォルト表示状態になる. 下部中央の表示枠(ペイン)のInstalled SDKタブにインストールされたSDKが表示される 4.3 準備完了! これで準備は整いました! 左上のペイン内の「Project Explorer」で,新しいプロジェクトを作成したり,SDKやGitHubまたはダウンロードしてきたプロジェクトをインポートして実行してみることが可能です. 5. おまけ:このまま基板の動作を試してみるには SDKにはサンプル・コードが含まれています. ここまでFRDM-MCXA153を例としてSDKをインストールしたので,そのままこの中にあるサンプル・コードを試してみることにします. まず基板とコンピュータをUSBケーブルで接続しておきます.FRDM-MCXA153では「MCU-Link」の表示のあるUSBコネクタを使います(写真参照). IDEの左上ペイン内,Project Explorerタブにある「Import SDK example(s)...」をクリック. インストールされているSDKが表示されるので「Next>」をクリック. サンプル・コードのリストが表示される. LEDチカチカ(=Lチカ)の例が「driver_examples」→「gpio」→「gpio_led_output」にあるので,下図のように階層をたどってチェックマークを入れ,「Finish」ボタンを押す. サンプル・コードがインポートされた. 青い虫のアイコン(Start debugging project)をクリック. ターゲットを選択するダイアログボックスが現れるので,表示された基板の情報を確認して「OK」ボタンを押す. コードがビルドされ,マイコンのフラッシュ・メモリに書き込まれます.そのあとコードが実行できる状態で一時停止. 黄色の四角とと緑の三角が組み合わさったアイコン(Resume)をクリックすると,基板上でコードが実行されます. このサンプル・コードはGPIO(General Purpose Input/Output = 汎用入出力)ピンにHIGHとLOWを交互に出すものでした.このピンが赤色のLEDに繋がれているので,LEDが点滅します. 参考資料 解説動画:さぁはじめよう!MCUXpresso IDE 関連情報:MCUXpresso for VSCとSDKのインストール (日本語ブログ) 変更履歴: 2025-05-07:初版 2025-06-26:「nxp.comへのログイン」の項を追加 2025-10-28:リンクの訂正 2025-11-10:リンクの更新 2025-11-14:インストール手順解説動画へのリンクを追加 / 参考資料の項を追加 2025-11-18:冒頭部の画像と使用基板の注釈追加.動画リンク画像変更 2026-03-17:「MCUXpresso IDEって?」の項の図を訂正 2026-04-05:「MCUXpresso IDEの起動とワークスペース」の項を追加 2026-07-24:章番号と目次を追加.「0. この記事は?」内,動画紹介リンクの強調  ========================= 本投稿の「Comment」欄にコメントをいただいても、現在返信に対応しておりません。 お手数をおかけしますが、お問い合わせの際には「NXPへの技術質問 - 問い合わせ方法 (日本語ブログ)」をご参照ください。 (既に弊社NXP代理店、もしくはNXPとお付き合いのある方は、直接担当者へご質問いただいてもかまいません。) NXPのマイコン:MCXシリーズのソフトウェア開発にはMCUXpresso IDEが無料で使えます. またさまざまなMCUXpresso IDEで使えるサンプル・コードが提供されています.ここではIDEとSDKのインストールの手順を解説します. これを読めば,誰でも簡単に開発環境&SDKをインストールできて,サンプル・コードまで動かすことができます! General Purpose Microcontrollers MCUXpresso MCUXpresso IDE MCX 日本語ブログ
View full article