Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
Example S32K14x SRAM ECC Injection ******************************************************************************** Detailed Description: This example shows SRAM ECC injection. By default, a double-bit ECC error is injected on read access of a location in SRAM_U region. This can be changed with the SRAM_U and DOUBLE_BIT macros. The errors can be detected by both the ERM and MCM modules and the corresponding interrupts can be called. Although only ERM is needed, for demonstration purposes, the MCM interrupt is enabled as well with a lower priority than the ERM interrupts. The ERM interrupts that are called first disable the injection mechanism so that subsequent errors can not be detected during a stack read access. The default S32 Design Studio start_up file copies the vector table to the SRAM_L region. To be able to inject ECC errors in this SRAM region and call the interrupts, the copying is disabled by __flash_vector_table__ symbol  declared in the start_up.h file and defined in the S32K144_64_flash linker file. -------------------------------------------------------------------------------------------- Test HW: S32K144EVB-Q100 MCU: S32K144 0N57U Debugger: S32DSR1 Target: internal_FLASH ********************************************************************************
記事全体を表示
机器视觉课程#2:CNN概述 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 单层感知器 在介绍硬件具体细节之前,本课程将介绍一些有关 CNN 如何工作以及其用途的信息。CNN 广泛应用于图像和视频识别应用,因此它们无疑引起了汽车界的兴趣。CNN 与神经网络类似,由具有可学习权重和偏差的神经元组成。每个神经元接收几个输入,对它们进行加权和,将其传递给激活函数并以输出做出响应。 神经网络的基本结构是感知器。感知器如下图所示: 感知器由权重(包括称为偏差的特殊权重)、求和处理器和激活函数组成 还有一个额外的输入节点,称为偏差,它有点像 所有输入都单独加权,相加并传递到激活函数。 每个激活函数(或非线性函数)都采用单个数字并对其执行某种固定的数学运算。实际中会遇到几种激活函数: Sigmoid:接受实值输入并将其压缩到 0 到 1 之间的范围内 σ(x)= 1 /(1 + exp(−x)) tanh:接受实值输入并将其压缩到 [-1, 1] 范围内 tanh(x) = 2σ(2x) − 1 ReLU:ReLU 代表整流线性单元。它采用实值输入并将其阈值设为零(用零替换负值) f(x)= 最大值(0,x) Bias 的主要功能是为每个节点提供一个可训练的常数值(除了节点接收的正常输入之外)。 多层感知器 多层感知器 (MLP) 包含一个或多个隐藏层(除了一个输入层和一个输出层)。单层感知器只能学习线性函数,而多层感知器还可以学习非线性函数。     所有连接都有与之相关的权重,每一层都有自己的偏差。多层感知器学习的过程称为反向传播算法。最初,所有边权重都是随机分配的。对于训练数据集中的每个输入,神经网络都会被激活并观察其输出。将此输出与我们已经知道的期望输出进行比较,并将错误“传播”回上一层。我们会注意到这个错误,并相应地“调整”权重。重复此过程,直到输出误差低于预定阈值。“调整”权重的过程利用梯度下降算法来最小化误差函数,我们不会对此进行详细介绍。 卷积神经网络 热修复
記事全体を表示
实践研讨会:使用全新 LPC54114 节能 MCU 为 Always-On 市场设计嵌入式解决方案 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本次会议将以 LPC54000 低功耗系列的最新版本 LPC54114 MCU 为特色,演示如何在始终在线的应用中利用双核架构。通过本次实践课程优化产品设计以延长电池寿命并快速将其推向市场。主题涵盖系统架构、软件设计和调试、功率优化、声音检测和语音触发。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本次会议将以 LPC54000 低功耗系列的最新版本 LPC54114 MCU 为特色,演示如何在始终在线的应用中利用双核架构。通过本次实践课程优化产品设计以延长电池寿命并快速将其推向市场。主题涵盖系统架构、软件设计和调试、功率优化、声音检测和语音触发。
記事全体を表示
MC33774 is unresponsive MC33774无响应 The current DEMO routine for MC33665+MC33774 implements 665 initialization, 774 initialization, and voltage and temperature acquisition functions. The bench setup is shown in the figure. 1. When the S32K314 main control unit uses JLINK to connect to the SWD debug port for debugging and simulation, both 33774 and 33665 can respond normally, returning reply frames and acquiring the correct unit voltage and GPIO port data. The bench power-on sequence is "sampling slave board power-on -> MC33665A power-on -> MCU main board power-on". The communication initialization to request read register message is shown as MC33774_FIRST (where the CAN type message is the MC33665 reply frame). 2. When the emulator is disconnected and the entire bench is powered down, wait for a period of time, and then power on again in the sequence of "sampling slave board power-on -> MC33665A power-on -> MCU main board power-on", the MC33774 does not respond, and only the MC33665A can return a response frame. Re-initializing the MCU motherboard by powering it on and off didn't work; it only communicates normally with the MC33774 when debugging with J-Link. The message is as shown in MC33774_SECOND. I'd like to know what directions I can take for troubleshooting. 当前MC33665+MC33774的DEMO例程实现665初始化、774初始化以及电压温度采集功能,台架构成如图: 1.当S32K314主控部分使用JLINK链接SWD调试口进行调试仿真时,33774和33665均能正常响应返回回复帧并且采集正确的单体电压和GPIO端口数据。台架上电顺序为“采样从板上电->MC33665A上电->MCU主板上电”。通讯初始化至请求读取寄存器报文如MC33774_FIRST所示(其中CAN 类型的报文为MC33665回复帧) 2.当断开仿真器并且将台架全部下电后等待一段时间,重新按照“采样从板上电->MC33665A上电->MCU主板上电”顺序上电后,MC33774无响应,仅有MC33665A能返回响应帧。重新将MCU主板上下电进行初始化也无效,只有用JLINK调试时又能正常与MC33774通讯。报文如MC33774_SECOND所示。 我想知道有什么排查的方向吗? Re: MC33774 is unresponsive MC33774无响应 Dear Embedded Novice, The MC33665 includes internal communication management and does not behave as a transparent bridge. When the MC33665 is reset while the MC33774 remains powered, the TPL link becomes unsynchronized, leaving the device in a state where SPI communication works but TPL forwarding is not enabled. Executing initialization twice effectively clears the internal state and re-establishes link synchronization, which is why it resolves the issue. The recommended solution is to ensure proper TPL re-initialization or synchronized reset of both devices. With Best Regards, Jozef Re: MC33774 is unresponsive MC33774无响应 Through experimentation, I discovered that the issue is caused by the MC33665 being powered off. When my MC33774 remains powered on, and the MC33665 powers off and restarts, and the MCU also powers off and restarts, although the software logic reinitializes the MC33665, it seems to be in a state where it cannot forward TPL data. This is because my messages show that the MC33665 can send reply frames. Therefore, the MC33665 must be in some state that prevents it from converting the TPL signal and sending it to the 33774. Currently, I can avoid this phenomenon by performing the same MC33665 initialization twice in the software logic. However, I am unclear why the MC33665 behaves this way. Do you have any ideas? 我通过实验发现是由于MC33665下电导致的,当我的MC33774保持上电,MC33665下电重启,MCU也下电重启后,虽然软件逻辑上会对MC33665重新初始化,但是此时MC33665似乎处于无法转发TPL数据的状态,因为我的报文中可以看出MC33665能够发出回复帧,所以MC33665应该处于某种状态导致无法转换TPL信号并发送给33774。我当前是在软件逻辑中进行两次相同的MC33665初始化就能够避免这种现象。但是我并不清楚MC33665为什么会这样。请问您有什么思路吗? Re: MC33774 is unresponsive MC33774无响应 Dear Embedded Novice, The issue is most likely caused by a startup timing dependency. When the system is debugged with J‑Link, the MCU execution is delayed, giving sufficient time for the MC33774 to complete its internal initialization. In a normal power-up scenario, the MCU starts immediately and sends communication requests before the MC33774 is ready, resulting in no response. It is recommended to introduce a delay (e.g., 50–200 ms) before the first communication, implement a retry mechanism, and ensure that the MC33665 correctly initializes and wakes up the TPL communication chain before addressing the MC33774. Additionally, the reset and power ramp conditions of the MC33774 should be verified. With Best Regards, Jozef
記事全体を表示
【緊急】S32N55 セキュアデバッグCR - LCからOEM_CLOSEDへの移行後にデバイスのロック解除が失敗 こんにちは、 T32デモフォルダにある以下のスクリプトを使用して、S32N55のセキュアデバッグ用のチャレンジレスポンス値を生成しようとしています。 C:\T32_S32N55\demo\arm\hardware\s32n55\s32n55-evb\s32n55-evb-fss\s32n55-evb_sieve_sram_challenge_response_smartcard.cmm &UID0=FORMAT.HEX(16.,CHIP.SecureChallenge(0)) &UID1=FORMAT.HEX(16.,CHIP.SecureChallenge(1)) &CHAL0=FORMAT.HEX(8.,CHIP.SecureChallenge(2)&0xFFFFFFFF) 現在の状況: ADKP注射:正常に完了しました HSE_LC_OEM_CLOSEDへのライフサイクル移行:完了 しかし、デバイスのロック解除失敗は依然として発生します。 質問: S32N55 上で 256 ビットのチャレンジ/レスポンス (C/R) セキュア デバッグを行うには、ADKP の注入と LC の OEM_CLOSED への遷移以外に、追加の前提条件はありますか? S32K3では、チャレンジ値は以下に示すようにSDAPレジスタを介して直接取得できます。S32N55にも同様のレジスタベースのアプローチはありますか? &SDAP_BASE_ADDRESS=0x40000700 &SDAP_AUTHSTTS = &SDAP_BASE_ADDRESS &SDAP_AUTHCTL = &SDAP_BASE_ADDRESS+0x4 &SDAP_KEYCHAL_0 = &SDAP_BASE_ADDRESS+0x10 &SDAP_KEYCHAL_1 = &SDAP_BASE_ADDRESS+0x14 &SDAP_KEYCHAL_2 = &SDAP_BASE_ADDRESS+0x18 &SDAP_KEYCHAL_3 = &SDAP_BASE_ADDRESS+0x1C &SDAP_KEYCHAL_4 = &SDAP_BASE_ADDRESS+0x20 &SDAP_KEYCHAL_5 = &SDAP_BASE_ADDRESS+0x24 &SDAP_KEYCHAL_6 = &SDAP_BASE_ADDRESS+0x28 &SDAP_KEYCHAL_7 = &SDAP_BASE_ADDRESS+0x2C CHIP.SecureChallenge(2)はS32N55 256ビットチャレンジの正しいコマンドですか、それとも別のT32コマンドが必要ですか? プロジェクトの締め切りは6月19日ですので、迅速なご回答をいただけると大変助かります。 何かご助言いただければ大変ありがたいです。 Re: [URGENT] S32N55 Secure Debug CR - Device Unlock Fail after LC transition to OEM_CLOSED こんにちは、 @EddiePark さらに、デバッグポートのロックを解除するスクリプトを使用する前に、ADKPをVolcanoデータベースに登録する必要があることに注意してください。 詳細については、C:\T32\demo\tools\nxp\sdaf\user_guide.pdf を参照してください。 BR チェイン Re: [URGENT] S32N55 Secure Debug CR - Device Unlock Fail after LC transition to OEM_CLOSED こんにちは、 @EddiePark 投稿ありがとうございます。 1.ご状況は承知いたしました。ご質問内容を確認するため、担当チームに問い合わせました。回答には少々お時間をいただく場合がございますが、できる限りお手伝いさせていただきます。 貴社のテスト環境は、現在も以下の構成に基づいているのでしょうか? - プラットフォーム: S32N55 EVB - HSE FW バージョン: HSE_FW_S32N5_1_0_24_0 - GrayVIP バージョン: SW32N5_GRAYVIP_1_0_22_0 2. S32K3はHSE1を使用し、S32N55はHSE2を使用するため、プロセスは翻訳できない可能性があります。S32K3のチャレンジレスポンスの動作の詳細についてはわかりませんが、私の知る限り、HSE2はアーキテクチャが大きく異なります。 3. 以前の投稿でもお伝えしたように、S32N55はまだ試作段階にあるため、弊社のルールに従ってコミュニティ投稿へのサポートが限られることを申し訳なく思います。 4. お客様のご事情が緊急であることは承知しております。可能であれば、販売代理店またはNXPの担当者にご連絡いただき、試作シリコンに関するご質問について直接サポートを受ける方が効率的です。 BR チェイン
記事全体を表示
i.MX 8M Plus(Scarthgap)上的 HDMI EDID 4 块读取失败 您好, 我正在 Yocto Scarthgap 电路板支持包 上使用 i.MX 8M Plus,在尝试读取 4 个 HDMI EDID 块(块 0 到 3)时遇到了问题。 [环境] SoC:i.MX 8M Plus 电路板支持包/操作系统:Yocto Project Scarthgap(内核版本:lf-6.6.52) [问题描述]尝试读取所有 4 个 EDID 块时,系统无法从块 2 开始读取(段 1)。区块 0 和区块 1(0 段)读取成功,但读取操作随即失败。 [根本原因/分析]经过调试,我发现问题与段切换命令后使用的 DDC 地址有关: 要读取区块 2 和 3,必须正确执行区段切换命令。 切换网段后,驱动程序应使用标准 DDC 地址0xA0/0xA1(I2C 地址 0x50)读取实际 EDID 数据。 但是,驱动程序错误地尝试使用地址0x60/0x61(即段指针地址)读取数据,导致读取错误。 看来驱动程序错误地在随后的数据读取序列中重复使用了分段指针地址。 [问题] 这是 i.MX 8M Plus Scarthgap BSP 上的 HDMI/DDC 驱动程序中的已知问题吗? 是否有任何现有的修补程序或变通方法来修复这种地址不匹配问题? 如能提供需要修改的相关驱动程序代码的指导或指点,将不胜感激。 先行致谢。 Re: HDMI EDID 4-block read failure on i.MX 8M Plus (Scarthgap) 这是一个已知的问题吗? 实际上是的。恩智浦社区上至少有一份先前的 i.MX8MP 报告指出,i.MX8MP 无法正确读取块 1 / 段 0 以外的 E-EDID,该报告特别指出用户应访问 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c 进行调查。 是否有现成的变通办法? 是的。据报道,一种解决方法是绕过 HDMI 内部 DDC 引擎,通过在设备树中设置 ddc-i2c-bus 来使用普通的 SoC I2C 控制器进行 DDC。恩智浦社区线程报告称,将 HDMI DDC 引脚重新复用到 I2C5 并使用 ddc-i2c-bus = <&i2c5>; 解决了 i.MX8MP 上的多块 E-EDID 读取问题。 是否已经有公共补丁? 我在搜索结果中没有找到上游或 NXP 发布的公开补丁来专门修复你的 BSP 行的 dw-hdmi 中的这个 0x30 / 0x50 从属地址处理问题。公开可见的 dw-hdmi.c 代码仍然显示可以触发这种行为的 “从属地址取自第一条 I2C 消息” 逻辑。   如果你的主板布线允许,风险最低且已经报告的解决方法是将 HDMI DDC 从内部 dw-hdmi I2C 引擎移出常规 SoC I2C 控制器上。在 i.MX8MP 上,报告了一种解决方案 &i2c5 { 时钟频率 =<100000> ; pinctrl-names ="默认" ; pinctrl-0 =<& pinctrl_i2c5> ; status ="okay" ; };   &hdmi { ddc-i2c-bus = < & i2c5 >; status ="okay" ; }; HDMI DDC 引脚与 I2C5_SCL / I2C5_SDA 复用。恩智浦社区线程中的用户报告说,这一变更解决了 i.MX8MP 上的多块 E-EDID 读取问题。
記事全体を表示
Is Fatal Blackout Worth Trying in 2026 My Honest Fatal Blackout Review After Researching It Fatal Blackout is gaining major attention in 2026 as more families search for practical ways to prepare for power outages, grid failures, and emergency situations without relying on extreme survival tactics. Created by combat veteran Teddy Daniels, the program focuses on realistic blackout preparedness strategies using simple step-by-step guidance designed for everyday households. Check the official Fatal Blackout guide and latest details here: What makes Fatal Blackout stand out is its beginner-friendly approach. Rather than promoting expensive bunkers or extreme “doomsday prepper” tactics, the guide focuses on affordable preparedness methods like backup power planning, water storage, food security, EMP protection, and home readiness. Many people appreciate that the information is broken down into simple actions that can realistically be implemented over time. See how Fatal Blackout works and what’s included in the system: In 2026, concerns around grid instability, cyber attacks, inflation, and supply chain disruptions have pushed preparedness into the mainstream. Fatal Blackout taps into this growing interest by offering a structured survival roadmap for people who want to feel more prepared without completely changing their lifestyle. So, is Fatal Blackout worth trying? For people looking for a practical preparedness blueprint with a realistic focus, the program may provide useful insights and organization. However, like any survival system, its value depends entirely on whether users actually apply the strategies consistently in real life.   Re: Is Fatal Blackout Worth Trying in 2026 My Honest Fatal Blackout Review After Researching It Fatal Blackout has been attracting considerable attention in 2026 as more households look for realistic ways to prepare for emergencies such as power outages, grid disruptions, and unexpected crisis situations without adopting extreme survivalist methods. Created by combat veteran Teddy Daniels, the program is built around practical blackout preparedness strategies presented in a clear, step-by-step format intended for everyday families. Explore the official Fatal Blackout website and view the latest details here: One of the main reasons Fatal Blackout stands out is its beginner-friendly structure. Instead of encouraging expensive bunkers or intense “doomsday prepper” lifestyles, the guide emphasizes affordable and achievable preparedness steps. These include backup power planning, water storage solutions, food security basics, EMP awareness, and general home readiness measures. Users often value how the information is broken down into simple, manageable actions that can be implemented gradually over time. Discover how Fatal Blackout works and what the system includes:  In 2026, preparedness has become a mainstream topic due to growing concerns about grid reliability, cyber threats, rising living costs, and ongoing supply chain uncertainties. Fatal Blackout aligns with this shift by offering a structured framework that helps individuals and families feel more confident about handling potential disruptions while still maintaining a normal lifestyle. Yes, Fatal Blackout can be a useful option for those looking for a straightforward, well-structured preparedness guide focused on real-world scenarios. It offers clear direction and practical insights, and its value is best realized through consistent use of the strategies in everyday life, helping users gradually build stronger home readiness and preparedness confidence over time.
記事全体を表示
S32K148 FlexCAN2が動作しない こんにちは、 Eclipse OpenBSWプロジェクトを使用しながら、S32K148でFlexCAN2を有効にしようとしています。 FlexCAN0は正常に動作していますが、FlexCAN2は有効なフレームを送信しません。 構成: MCU: S32K148 CANインスタンス: FlexCAN2 ピン: PB12 → CAN2_RX (ALT4) PB13 → CAN2_TX (ALT4) 外部トランシーバ:MCP2551(5V電源) バス終端:合計約60Ω ビットレート:500 kbps(従来型CAN) 観察された行動: バス上ではエラーフレームのみが観測される ビットスタッフィングエラーが発生する ACKは受信されませんでした。 質問: MCP2551(5Vトランシーバ)は、S32K148 FlexCANのI/Oレベルと互換性がありますか? PB12/PB13のALT4はFlexCAN2の正しいピンですか? FlexCAN0とFlexCAN2の間には、考慮すべき特定のクロックまたは構成上の違いはありますか? どのようなご指導もいただければ幸いです。 よろしくお願いします。 Re: S32K148 FlexCAN2 not working こんにちは、 @sousou54 さん。 1.MCP2551との互換性に問題は見当たりません。 2. はい。 3. 追加の設定は不要です。CAN0/1/2は同じクロックで動作します。 ノードのテストを段階的に試してみてください... トランシーバを使わずにTX/RXピン同士を接続してメッセージを送信してみてください。ACKが欠落しているため、メッセージが繰り返し表示されるはずです。TXエラーカウンタは0x80で、モジュールはエラーパッシブ状態です。それ以外の表示が出た場合は、PIN設定が間違っています。 TX/RXピンをトランシーバに通常通り接続し、バスからは切り離してください。メッセージを送る。上記と同じ画面が表示されるはずです。そうでない場合、トランシーバが無効になっているか、または終了していない可能性があります。 MCP2551のデータシートを見ると、RsピンをVssに接続して高速モードを選択する必要があることがわかります。 トランシーバを他のノード(例:CANツール)、メッセージの送受信。エラーが検出された場合、おそらくCANビットのタイミングが正しくないと考えられます。すべてのノードが同じビットレートとサンプルポイントを使用していることを確認してください。 以下のツールを使用できます: MPC5xxx/S32Kxx/LPCxxxx: CAN / CAN FD ビットタイミング計算。 最後に、これはカスタムボードですか、それともS32K148EVBを使用していますか?カスタムボードの場合は、 AN5426「S32K1xxのハードウェア設計ガイドライン」に記載されている接続を確認してください。 よろしくお願いします、 ジュリアン
記事全体を表示
S32 平台的 S32 Design Studio 版本:3.5 你好,恩智浦团队。 希望你收到这条信息时一切安好。我想安装 S32DS 示例项目。由于内部网络安全策略,无法进行自动更新,因此我需要将其离线安装。 我查看了恩智浦网站,但未能找到必要的信息。能否提供网站链接和安装说明? 以下是我的系统详细信息: -SDK 版本:适用于 S32 平台的 S32 Design Studio 版本:3.5 -内核:Cortex M0 -目标板:S32K118 感谢您的帮助,我期待您的指导。 Re: S32 Design Studio for S32 Platform Version: 3.5 你好@宋俊 你已经安装了 S32K1 开发软件包吗?如果没有,可以从下面的链接下载,并通过 S32 扩展和更新 → 添加更新站点将其安装到 S32DS 中。 下载链接: https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=S32DS-3-6 导航到 S32 Design Studio IDE → 适用于 S32 平台的 S32 Design Studio v.3.5 → S32 Design Studio 3.5 开发软件包可供离线使用,支持 S32K1 (sw32k1_s32ds_3.5.4_d2307.zi p) 另请注意,S32K1_S32M24x 实时驱动程序 ASR R21-11 版本 2.0.0 QLP1 仅提供加密驱动程序。要获得全套驱动程序,请先安装 S32K1_S32M24X 实时驱动程序 AUTOSAR 4.4 & R21-11 版本 2.0.0,然后安装版本 2.0.0 QLP1。 BR、VaneB Re: S32 Design Studio for S32 Platform Version: 3.5 我使用 S32K118 MCU 创建了一个应用程序项目,但未应用设备设置(配置)。您能告诉我为什么会出现这种情况吗? 错误信息 :无数据。请确保已安装所有必需的依赖项。 我安装了以下版本来使用 RTD。 安装:SW32K1_S32M24x_RTD_R21-11_2.0.0_QLP1_D2408
記事全体を表示
RDMMA845X issues with Win 7 Pro. As a retired electronics man (but total newbie with PC + dev. boards) I hope this isn't too much of a stupid question. I have bought the above board. It works great on a Win 8.1 PC, but not on the Win 7 Pro PC - which is a shame because that's the one in my hobby lab! Win 7 finds the USB device and the Demo Screen correctly identifies the chip in use, etc. But hitting any of the 'lit' buttons just generates an Exception Handler window and I can go no further than that. I don't know what Ex Handler means so am at a loss! Wisdom greatfully accepted. Tks. John Accelerometers Re: RDMMA845X issues with Win 7 Pro. As an addition to my original post I should say that the exception window calls this an "unhandled exception". After some internet research I updated the .net framework to the latest ver (4.6.2) in case that was the cause. But it is not! Tks. J 
記事全体を表示
speed I am using rw612, is it possible to send udp packet every 1ms? after about 20 seconds i cannot send and should wait. I increased all buffers but it did not work. I receive MEM Error after that Re: speed /*  *  Copyright 2020-2022 NXP  *  All rights reserved.  *  *  SPDX-License-Identifier: BSD-3-Clause  */ #ifndef _WIFI_CONFIG_H_ #define _WIFI_CONFIG_H_ #include "wifi_bt_module_config.h" #define OVERRIDE_CALIBRATION_DATA "wifi_cal_data_override.h" #define CONFIG_IPV6 0 #define CONFIG_MAX_IPV6_ADDRESSES 0 #define CONFIG_RF_TEST_MODE 0 #define CONFIG_MAX_RESCAN_LIMIT 30 #define CONFIG_WIFI_AUTO_POWER_SAVE 0 #define CONFIG_TURBO_MODE 0 #define CONFIG_WIFI_TX_PER_TRACK 1 #define CONFIG_WIFI_TX_BUFF 1 #define CONFIG_WIFI_FEATURES 1 // #define CONFIG_HOST_SLEEP 0 #define CONFIG_POWER_MANAGER 0 // #define CONFIG_MEF_CFG 0 /** If define CONFIG_TX_RX_ZERO_COPY 1, please make sure  *  #define PBUF_POOL_BUFSIZE 1752  *  in lwipopts.h  */ #define CONFIG_TX_RX_ZERO_COPY 1 // #define CONFIG_ANT_DETECT 1 #define CONFIG_11AX 0 // #define CONFIG_11AC 0 /* WLCMGR debug */ #define CONFIG_WLCMGR_DEBUG 0 /*  * Wifi extra debug options  */ #define CONFIG_WIFI_EXTRA_DEBUG 0 #define CONFIG_WIFI_EVENTS_DEBUG 0 #define CONFIG_WIFI_CMD_RESP_DEBUG 0 #define CONFIG_WIFI_PKT_DEBUG 0 #define CONFIG_WIFI_SCAN_DEBUG 0 #define CONFIG_WIFI_IO_INFO_DUMP 0 #define CONFIG_WIFI_IO_DEBUG 0 #define CONFIG_WIFI_IO_DUMP 0 #define CONFIG_WIFI_MEM_DEBUG 0 #define CONFIG_WIFI_AMPDU_DEBUG 0 #define CONFIG_WIFI_TIMER_DEBUG 0 #define CONFIG_WIFI_SDIO_DEBUG 0 #define CONFIG_WIFI_FW_DEBUG 0 #define CONFIG_WIFI_UAP_DEBUG 0 #define CONFIG_WPS_DEBUG 0 #define CONFIG_FW_VDLL_DEBUG 0 #define CONFIG_DHCP_SERVER_DEBUG 0 #define CONFIG_FWDNLD_IO_DEBUG 0 /*  * Heap debug options  */ #define CONFIG_HEAP_DEBUG 0 #define CONFIG_HEAP_STAT 0 #endif /* _WIFI_CONFIG_H_ */ Re: speed Thanks for your answer. VS code, SDK 25.09. Freertos. I want to send every 1ms a udp packet to an AP, (rw612 to rw612) on receiver side (AP), i fixed the problem, it seems can receive. but on transmitter after ~20 second, i got error -1 from udp_send function and after a second it works again for some seconds and again. I increased many values on TCP/IP config library but no effect. Re: speed Hello @gtecaskari, hope you are doing well. To better analyze the issue, could you please share more details about your test scenario? Information such as the board you are using, the IDE (MCUXpresso or MCUXpresso for Visual Studio Code), SDK version, whether you are working with FreeRTOS or Zephyr, and the specific example you are running would be very helpful. Re: speed Hi @gtecaskari. Thanks for sharing your environment, although it would be very helpful if you could provide more details on your application and clarify if it is an example from the SDK or a custom project. If it is an example from the SDK please share with me the example and the steps that you are following so I can be able to replicate your issue and try to get to the root cause. Re: speed Hi.a custom project.  and i have another question. when we are using freertos, why the wifi interrupt priority still 0, it should be bigger than 2 ( freertos config). judt i want to know is it possible send continues udp packet every 1 ms? when i am sending every 2 ms it is working. and another problem, when i am using wifi6, i have many packet loss by shaking my device. ( also without shaking but less).  when i disable AX, it is working much better, maybe 1 packet loss every 1 hour.  Re: speed Hello @gtecaskari. Is your custom project based on any of our SDK demos? If so, could you please specify which example it is derived from? Additionally, could you clarify where you are viewing the priority configuration? The FreeRTOS configuration file only defines general OS parameters such as the tick rate and the maximum number of available priorities. Any task‑specific priority values (or changes to them) must be configured within the application itself. Re: speed Hi, I have selected httpsrv example and changed.  my last configs: priorities: in "lwipopts.h", #define TCPIP_THREAD_PRIO      (configMAX_PRIORITIES - 1) in "wifi_config.h" #define CONFIG_WIFI_MAX_PRIO (configMAX_PRIORITIES - 2) And please answer why when wifi6 (11AX) is enabled, when I shake the board, a lot of packets are lost? when i use "#define CONFIG_11AX 0" , it is working. And I could not find any document about TURBO MODE. What is the parameter 0~3. Why you dont have a good document for your product.  and my last result, I can send 128 byte packet every 1 ms, but cannot send 256 bytes (error after a while) Re: speed Hello @gtecaskari. Could you please confirm that the "CONFIG_WIFI_MAX_PRIO" macro has been added by you as a part of your custom modifications? Also please clarify on what are you referring on the turbo mode issue? Re: speed Hello @gtecaskari. I'm checking internally the issue about the turbo mode documentation, I will let you know upon any update on this regard. Regarding your Wi-Fi 6 data loss, since this might be related to your setup, therefore I'm not able to replicate your issue as I cannot replicate your exact test scenario. Re: speed dear @RomanVR , I fixed speed problem, Please answer these 2 questions. what it does wlan_set_turbo_mode function, the input is 0 to 3. and why when I am using wifi6, i have data loss when shaking the board, but it is working with WIFI5 and 4 Re: speed Hello @gtecaskari, sorry for the late response. The wlan_set_turbo_mode function allows the user to configure WMM performance optimization levels for a Wi-Fi connection. Regarding the parameters that this function receives: - 0: Standard mode (required for WFA certification) - 3: Enhanced performance. The usage of the function would be "int wlan_set_turbo_mode(t_u8 mode);" and it would return WM_SUCCESS on success setup and WM_FAILURE on failure. Please let me know if this information clears out your doubts.
記事全体を表示
在 MIMXRT685-EVK 上配置 8CH-DMIC 板、闪存和测试 您好, 我正在尝试使用 8-DMIC 阵列板在 EVK-MIMXRT685 上运行 dmic_multi_channel CM33 演示。 根据演示文档,在 J31 上启用 8-DMIC 板需要移动多个电阻器(例如R379、R380、R384、R389、R390、R391、R392 至 2-3)。执行此操作后,FlexSPI 八进制闪存 (U19) 变得无法访问: -LinkServer 闪存失败 -ROM ISP (blhost) 已连接,但是 FLEX-SPI-或非显示扇区大小 = 0 /页面大小 = 0-无法擦除/写入闪存 我的问题是: 该演示能否在不使用八进制闪存(仅使用内存的工作流程)的情况下运行? 更换电阻器后是否有官方的闪存/启动程序? 是否所有电阻器都需要更改,还是某些电阻器可以保持默认状态以保证 FlexSPI 闪存工作? 现在看来所需的DMIC硬件设置会阻止正常的闪存编程/启动。如何测试和运行演示程序? 感谢您的指导。 MIMXRT685-EVK 8通道-麦克风 i.MX RT600 Re: 8CH-DMIC board configuration, flashing and testing on MIMXRT685-EVK 你好@mlkezarev、 非常感谢您关注我们的产品并使用我们的社区。 问题 1:该演示能否在不使用八进制闪存(仅使用内存的工作流程)的情况下运行? A1: 是的。该演示设计为仅通过 SRAM 运行,不需要八进制闪存。 问题2:更换电阻器后是否有官方的闪烁/启动程序? A2: 电阻器更改后,外部闪存将被物理断开。 因此,此硬件配置不支持闪存刷新或从闪存启动。 问题 3:是否所有电阻器都需要更改,还是某些电阻器可以保持默认状态,以保证 FlexSPI 闪存工作? A3: 如果要启用 8 个 DMIC,则需要更改所有指定的电阻。 我已经发布了引脚配置屏幕截图供您参考。 问题 4:现在看来所需的DMIC硬件设置会阻止正常的闪存编程/启动。如何测试和运行演示程序? A4:您可以在 SRAM 上运行,就像 SDK 演示一样"evkimxrt685_dmic_multi_channel_cm33" 顺祝商祺! MayLiu
記事全体を表示
Do you know the status of PCA9698 ? I thought I might need something like this. What is its status ? Are there any newer similar products ? Randy Re: Do you know the status of PCA9698 ? Hello Randy, PCA9698 is still active in production, but the HVQFN56 version (PCA9698BS) is being discontinued. The TSSOP56 version (PCA9698DGG) remains fully active and supported and is the recommended choice for new designs. There is no newer NXP device that offers the same 40‑bit GPIO count and current capability in a single chip, so PCA9698DGG is still the most appropriate solution if that functionality is required. BRs, Tomas
記事全体を表示
[RTD600 IP] S32K3X4EVB-T172 GPIO 唤醒 本示例项目将向用户展示如何使用和配置 WKPU + SIUL2 (GPIO) 的基本功能。 ------------------------------------------------------------------------------ * 测试硬件:S32K3X4EVB-T172 (SCH-53148 REV B2) * MCU:S32K344 * IDE:S32DS v3.5& S32DS v3.6.x * SDK 发布版本:RTD 6.0.0 * 调试器:PE Micro * 目标: internal_FLASH ------------------------------------------------------------------------------ 该示例例程将 WKPU 配置为 GPIO 中断唤醒。这是最简单的 WKPU 例子。引脚 PTB19(WKPU42)配置为唤醒。 例程等待按下SW5,然后关闭绿色 LED,并进入 Wkpu_EnterStandby() 函数: 将核心时钟切换到 FIRC。 初始化 WKPU 实例。 配置 WKPU42 (PTB19)。 进入待机(或快速待机)状态。 按下 SW6 后,MCU 将唤醒、RESET 并轮询以再次按下 S W5。 本示例按原样提供,不提供任何保证和支持。
記事全体を表示
iMX95 上の Panthor ドライバ こんにちは、皆さん 私は、iMX95 でグラフィック スタックがどのように動作するかを学習しようとしており、オープン ソースの DRM ドライバー (Panthor) を使用して、スタック全体 (OpenGL から下位のドライバー アクションまで) を理解できるようにしたいと考えています。 Mesa3D + OpenSource ドライバーは Arm スタックとしてより理解しやすいため、DRM ドライバーを使用する Linux カーネルを作成したいと考えています。 DTS の GPU ノードを Panthor ドライバと互換性があるように変更し、menuconfig でオプションを強制しました (Arm ドライバのオプションは無効にしています)。 起動時に、panthor_devfreq.c:panthor_devfreq_init の "devm_pm_opp_set_regulators" が呼び出されるまで、panthor は正常にロードされます。 このボードでこのドライバをすでに使用したことがある人はいますか、または何を変更する必要があるかご存知の方はいらっしゃいますか? ありがとうございます。 Re: Panthor driver on iMX95 こんにちは、 残念ながら、i.MX95 はまだ試作段階であるため、確定的な実装パスを提供するための検証済みのリファレンスや公式にサポートされている構成はまだありません。 Re: Panthor driver on iMX95 こんにちは、 devm_pm_opp_set_regulators の障害は、i.MX95 が GPU の電圧と電源状態を直接の個別レギュレータではなく SCMI (システム制御および管理インターフェイス) を介して管理し、Panthor ドライバが従来のレギュレータ ストリングで DVFS を管理することを期待するために発生します。これを修正するには、デバイス ツリーの GPU ノードに、SCMI ベースのレギュレータを指す mali-supply プロパティ (例: mali-supply = <&scmi_perf_gpc>;) が含まれていることを確認するか、より迅速なテストのために、DTS で「ダミー」の固定レギュレータを定義し、それを GPU にリンクして、ドライバの初期化チェックを満たす必要があります。電力管理を考慮せずに、より低いドライバーアクションだけを実現したい場合は、panthor_devfreq.c の devm_pm_opp_set_regulators 呼び出しをコメントアウトします。ただし、ドライバは最終的にはMali CSFファームウェア(mali_csffw.bin)を必要とすることに注意してください。G310 ハードウェアを初期化するには、rootfs に存在している必要があります。
記事全体を表示
NETC IEEE 1588タイマーソフトウェアはRMの要件を満たしていません S32ZE NETCリファレンスマニュアルの「文書識別子:S32E27NETCRMリファレンスマニュアルRev. 4、2024-12-12」、3.2.5.3.1ドリフトおよびエラー調整付き通常モードでは、「通常動作中、TMR_ADD更新を除く1588タイマー構成(たとえばTMROFF_H/L)を変更するには、タイムゲートスケジューリング、時間指定出発スケジューリング、ストリームゲーティング、レートポリシングなどのTSN関連機能を無効にする必要があります。」と記載されています。しかし、gPTP ソフトウェアも NETC ドライバもこの仕様を満たしていません。 GPTP_STACK RTD Re: NETC IEEE 1588 timer software does not meet the requirement of RM NXP の gPTP ソフトウェア モジュールがありますが、正しいでしょうか? 現在の時刻を更新するために関数「EthSwt_43_NETC_CorrectPtpClk」を呼び出します。 「タイマーの修正に関する機能を提供する」ということについては話していません。 私の質問は、gPTP が EthSwt_43_NETC_CorrectPtpClk() 関数を呼び出して現在の時刻を更新している間に、802.1Qbv 機能に影響を与えないようにするにはどうすればよいかということです。 Re: NETC IEEE 1588 timer software does not meet the requirement of RM こんにちは@shuangjunzhuさん ETH ドライバー RTD2.0.1 は、次のようなタイムスタンプ用のいくつかの API 関数を含む ASR 21-11 に準拠しています。 このため、おっしゃる通りタイマーの修正に関する機能は提供されていないのではないかと思います。タイマー修正に関する機能は ASR23-11 でサポートされるようですが、ASR21-11 でそれらを使用する必要がある場合は、gPTP は要件を変更して要求を行う必要があります。 よろしくお願いいたします。 ニ Re: NETC IEEE 1588 timer software does not meet the requirement of RM ご清聴ありがとうございました。「ドライバーはこれまで、TMR レジスタから現在のタイマーを取得することだけをサポートしており、それらを構成することはサポートしていません」と述べられていますが、理解できません。OFFSET レジスタを変更する gPTP ソフトウェアはどうでしょうか?gPTP ソフトウェアでは OFFSET レジスタを必ず変更する必要があると思います。私の質問は、gPTP ソフトウェアが OFFSET レジスタを変更しようとしている間に、802.1Qbv 機能などの TSN 機能をスムーズに動作させるために、RM をどのようにフォローアップするかということです。 Re: NETC IEEE 1588 timer software does not meet the requirement of RM こんにちは@shuangjunzhuさん NETC ドライバに関するこのトピックに回答します。 - ZE の最新リリースは RM rev 3 に続く RTD 2.0.1 であり、私の知る限り、次のリリース RTD 2.0.2 も RM Rev 3 に続きます。ただし、RM バージョンに関する更新がある場合、SW チームには新旧の RM 間の変更を確認するためのチケットがあります。彼らはその変化を感知CANと思います。 - 私の知る限り、タイムスタンプはこれまでドライバーでサポートされていたもので、デフォルトのカウント TMR_CTRL[TE] = 0 と、1588 タイマー TMR_CTRL[TE] = 1 で動作する RTD 2.0.1 に追加された EthEnableFreeRunningTimer 機能です。現在のタイマーは 1588 レジスタ TMR_FRT_L/H から取得されますが、TE をどこにも設定しなかったため、ここでバグが発生しているようです (詳細については、チケット: ARTDCC1-593)。とにかく、ドライバーはこれまで、TMR レジスタから現在のタイマーを取得することだけをサポートしており、それらを構成することはサポートしていませんでした。あなたが言った主張は、ユーザーが 1588 レジスタの設定を変更したい場合にのみ発生するようです。 よろしくお願いいたします。 ニ Re: NETC IEEE 1588 timer software does not meet the requirement of RM こんにちは@shuangjunzhuさん つまり、1588 レジスタ リストを変更する前に TSN 機能を停止したいということですか? 現在のドライバでは、TSN を停止する機能をサポートしていないことがわかりました。TSN の各機能を無効にしたい場合は、各テーブルのエントリを削除する必要があるようです。例えば: - レートポリシー: Netc_EthSwt_Ip_DeleteRatePolicerTableEntry(); - Netc_EthSwt_Ip_DeleteStreamGateControlListTableEntry(); - EthSwt_43_NETC_StopTas(); よろしくお願いいたします。 ニ Re: NETC IEEE 1588 timer software does not meet the requirement of RM こんにちは@shuangjunzhuさん ETH ドライバーについてもう何もわからない場合は、このトピックから RTD を削除して、gPTP の担当者が回答できるようにしてください。 よろしくお願いいたします。 ニ Re: NETC IEEE 1588 timer software does not meet the requirement of RM こんにちは、 はい、まだ質問があります。イーサネット ドライバーの観点から 802.1Qbv を無効化/再有効化する方法の確認にご協力ください。また、このようなアクションが 802.1Qbv スケジュール サイクルの重大なトラフィック遅延を引き起こすかどうかを分析するのにご協力ください。 ありがとうございます ジェフ Re: NETC IEEE 1588 timer software does not meet the requirement of RM こんにちは、 大変助かりました。ありがとうございます。 車載のお客様にとって非常に重要な点を 1 つ強調しておきます。TSN IEEE802.1Qbv 機能を使用している場合、当然ながら、802.1Qbv の時間同期要件に従って gPTP も有効にする必要があります。 gPTP が 1 つの 802.1 Qbv スロットにある重要なトラフィックに影響を与えるかどうかが懸念されています。私たち(NXP)はそれを明確にし、その方法を提供する必要があります。これは非常に厳密かつ明確な要件です。これは状況を理解するための良い例、あるいはユースケースです。 はい、確かに、お客様が有効にしている TSN 機能がいくつあるかはわかりません。しかし、すべてのユーザーが使用できるように、解決策が必要です。お客様はユースケースに基づいて適切な選択を行うことができます。 ありがとうございます ジェフ Re: NETC IEEE 1588 timer software does not meet the requirement of RM こんにちは、 gPTP がタイマー オフセット レジスタを変更する前に TSN 機能を無効にしたいわけではありません。これは NETC RM の要件です。 お客様はNXPのRM仕様を満たすための公式ソリューションを求めています。TSN機能を無効にする方法、つまりこのような状況下でのIEEE802.1Qbv。お客様は、これはハードウェア要件とハードウェア関連のコーディングであるため、NXP によって提供されるはずだと想定しています。 ところで、あなたの提案はよく設計される必要があると思います。特に 802.1Qbv の場合、gPTP 同期アクションによってアプリケーション トラフィックが影響を受けないようにする方法。たとえば、一部のトラフィックが 1 つの Qbv スケジュール サイクル遅延する可能性はありますか? ありがとうございます ジェフ Re: NETC IEEE 1588 timer software does not meet the requirement of RM こんにちは@shuangjunzhuさん 私の観点からすると、TSN を停止する公式機能では、ETH ドライバからのこの要件を満たすことは困難です。ご覧のとおり、ポート ゲート タイム スケジュールを無効にするには、タイム ゲート有効ビットPTGSCR [TGE]をリセットするだけです。ただし、レート ポリシーなどの一部の TSN 機能では、この機能はこの表の要素に基づいて有効化/無効化されます。しかし、ETH からは、要素を削除または更新して無効にするためにこのテーブルにエントリが追加されたかどうかを知ることはできませんが、上位層ではこれをより適切に処理できます。このため、前回の回答では、各テーブルのエントリを削除する関数を呼び出すことを提案しました。 ユーザーがオプション機能(レートポリシング、ストリームゲート制御リストなど)を有効にしていない場合、関数EthSwt_43_NETC_StopTas()を使用して TSN を無効にすることができます。 とにかく、チケット ARTDCC1-607 を作成しました。何か見逃した場合に備えて、このチケットをフォローして SW チームからの分析を取得できます。RM Rev4 はまだ RTD リリースに適用されていません。このトピックに関して ETH について詳しいアイデアがない場合は、お知らせください。このCASEについては gPTP に任せ、引き続き gPTP 側からCAN回答させていただきます。 よろしくお願いいたします。 ニ Re: NETC IEEE 1588 timer software does not meet the requirement of RM こんにちは@shuangjunzhuさん 私の観点からすると、問題は有効になっている TSN 機能の数だけではありません。お客様が ASR コンテキストを使用する場合、これらの機能はマクロによってプリコンパイル時に有効/無効にされるだけでなく、各機能にも存在するためです。ご存知のとおり、レート ポリシング、ストリーム ゲートなどの各機能は、以下の表を通じて制御されます。 ユーザーが構成ツールで要素を構成しただけの場合、SW チームは、この機能を無効にするときに、エントリ ID を持つエントリをいくつ削除するかを制御できます。しかし、ユーザーが関数を呼び出して要素を追加した場合、SW はそれを知る方法がありません。しかし、ユーザーはアプリケーションからこれを制御できると思います。何か見逃したのかもしれませんが、TSN はタイマー値を参照するので、タイマー構成を変更する前に停止し、新しいタイマー値を取得するために再度開始するのが理にかなっていると理解しています。SW チームはそのチケットを分析する際に深い洞察力を発揮できると信じています。 よろしくお願いいたします。 ニ Re: NETC IEEE 1588 timer software does not meet the requirement of RM こんにちは、 あなたはまだ私の質問を理解していないようですね。より詳しい説明をお願いします。お客様が Qbv 構成を持っており、それが以下のパラメータで実行状態にあると仮定します。 1. サイクルタイムは10msです 2. 10 ミリ秒の期間内に、それぞれ 5 ミリ秒のスロットが 2 つあります。つまり、ゲート リストには 2 つのエントリがあります。 3. 最初のタイムスロットが開いている間に、NETC が重要なフレームを送信していると仮定します。この時点で gPTP は現在の時刻の更新を開始します。RM 要件に従って、お客様は 802.1Qbv を無効化/再度有効化する必要があります。 4. 802.1Qbv が再度有効になった後、NETC ハードウェアが引き続きタイム スロット 1 を開いたり、ゲート リストの 2 番目のエントリに移動したり、新しい Qbc スケジュール サイクルを待機したりする可能性があります。ハードウェアが 2 番目のエントリに進むと、NETC キュー内の重要なフレームが次の 10 ミリ秒サイクルで送信されることを意味します。そして、大きな遅延が発生し、アプリケーションに影響を及ぼす可能性があります。 5. お客様はこのような状況を回避する方法を尋ねています。つまり、アプリケーションへの影響を軽減するために、Qbv をスムーズに無効化/再有効化する方法です。 物事が明らかになることを望みます。 ありがとうございます Re: NETC IEEE 1588 timer software does not meet the requirement of RM こんにちは@shuangjunzhuさん 802.1 Qbv の機能は NETC とスイッチの両方をサポートしていることがわかりました。したがって、この機能は次の方法で設定できます。 - Eth_NETC: - ポートスイッチ: 機能は次のとおりです。 ETH_NETCの場合: - Eth_43_NETC_StartTas() - Eth_43_NETC_StopTas() ポートスイッチの場合: - EthSwt_43_NETC_StartTas() - EthSwt_43_NETC_StopTas() この質問「この種のアクションが 802.1Qbv スケジュール サイクルの 1 つで重大なトラフィック遅延を引き起こすかどうかを分析する」については、私の観点からすると、この機能を有効/無効にする関数 Netc/PortSwt_Ip_ConfigPortTimeGateScheduling() を見るとわかるように、この機能を無効にするには、1 ビットをリセットするだけで、この機能を有効にするには、ゲート タイムを有効にして、ゲート タイム テーブルを設定する必要があります。今回は計測可能です。 「 802.1Qbv スケジュール サイクルの 1 つ」とは、ゲート制御リストの実行時間を繰り返す必要があるという意味だと理解していますか?そうであれば、これを設定することができます。 よろしくお願いいたします。 ニ Re: NETC IEEE 1588 timer software does not meet the requirement of RM こんにちは、 前回の返信で述べた 2 つの機能以外に、TAS を有効/無効にする別の方法は見つかりませんでした。私の観点からすると、タイム ゲート制御を無効にすると、時間間隔、サイクルなどのすべての機能も無効になります。TAS の無効化と有効化の間の期間には、gPTP からのタイマーの更新を完了するまでの時間が含まれます。TAS を有効にすると、ベース時刻が現在の時刻に更新されます。ただし、新しいベース時間 = 次の古い間隔時間でない場合は、要件を確認できません。 これについてはもうわかりませんが、SW チームがあなたのCASEについて提案できるように、上記のチケットでこの質問も更新しました。 よろしくお願いいたします。 ニ
記事全体を表示
MPC5748G devkit 的 HSM 启用问题 我在使用恩智浦 MPC5748G devkit [SPC5748GHMKU6] HSM 模块 时遇到了问题,保密协议 [网络安全参考手册 - HSM 网络安全固件标准代码包 - HSM 网络安全固件基本软件包] 全部可用。 问题是我设法通过 DCF 记录启用了 HSM,我验证它已通过 SSCM_UOPS_HSE = 1 启用, 但是对于 HADR(HSM 起始地址),SSCM_HSA_HADR = 0x00000000 这意味着没有 HSM 启动标头可用。 因此,我怀疑我的目标上是否闪存了 HSM 固件。 问 1: 如何验证我的 devkit 是否有可用的 HSM 固件? 问题 2:如果我已经有了 HSM 固件,我应该在以下 HSM 代码/数据块中看到什么? 问题 3: 如果我的目标上没有闪存固件,我该如何获取固件? 特别是我已经有 100 多件了 问题 4:如果有固件可用,在哪里可以找到 HSM 的启动地址? 我使用带有 PE micro 插件的 S32ds 集成开发环境进行闪存和调试,并使用 PKGPPC NEXUS STARTER 应用程序加载我的 DCF 记录 [UTest Algorithm]。 #MPC5748G #HSM Re: HSM Enabling Issue for MPC5748G devkit 你好@Yousry 请注意,带有 HSM 固件的设备仅提供给经批准的客户(批量非常大)。标准设备 SPC5748G... 未安装 HSM 固件。带有 HSE 固件的设备具有特殊的部件号。 如果你还没有与恩智浦的销售部门达成协议来购买此类设备,那么获得这些设备的机会就很小了。 强烈建议选择带有 HSE(硬件安全引擎)的设备。所有用户均可免费使用 HSE 固件。建议将 S32K3 系列设备作为 MPC5748G 的替代品: https://www.nxp.com/products/processors-and-microcontrollers/s32-automotive-platform/s32k-auto-general-purpose-mcus/s32k3-microcontrollers-for-automotive-general-purpose:S32K3 此致, Lukas Re: HSM Enabling Issue for MPC5748G devkit 你好@lukaszadrapa 我们已经订购了SPC5748GHMKU6 参考手册 " 订单信息 " 部分提到了这个,因为它已经有 HSM 了 那么你能指导我通过回答我之前问过的问题来弄清楚吗? 预先感谢 , Yousry   Re: HSM Enabling Issue for MPC5748G devkit 我不得不同意数据表令人困惑的说法。我过去曾要求澄清这一点,但一直没有得到更新。因此,虽然有 HSM 模块,但没有 HSM 固件。我上面的回答仍然有效。 此致, Lukas
記事全体を表示
STM32Cube IDEからMCUXpresso IDEへ STアプリケーションのポーティング このセクションでは、STM32Cube IDEで開発されたアプリケーションを、NXP MCU用の互換SDKを使用してNXP MCUXpresso IDEに移行するプロセスについて概説します。 STM32Cube IDEに慣れているユーザーの場合、同様の開発環境を維持することで移行が容易になり、学習曲線を緩和できます。この例では、STM32デバイス用に元々開発されたI2Cベースのアプリケーションを、NXP MCU用に再作成し、適応させます。 移行は、必要なI2Cドライバを含む最小限のプロジェクトをMCUXpresso IDEで作成することから始まります。元のSTアプリケーションは、同じボード上のコンポーネント間の通信に2つのI2Cインスタンスを利用します。この機能を再現するには、2組のI2Cピンを初期化する必要があります。さらに、アプリケーションはプッシュボタン入力とLED出力を使用して動作の変化を示すため、MCUxpressoピン構成ツールを使用して対応するGPIOを設定する必要があります。 移行を開始するには、元のSTプロジェクトのメイン・ソース・ファイルと、STの標準ドライバ・セットに含まれていないカスタム・ソース・ファイルを、新しいNXPプロジェクトに組み込む必要があります。 以下の手順は、MCUXpresso IDEでの初期プロジェクトセットアップの概要を示すものです。 [Create a new C/C++ project(新しいC/C++プロジェクトを作成)]を選択します。 ターゲットとなるMCU(例:MCXA156)を選択します。 [Next(次へ)]をクリックします。 [Drivers(ドライバ)]セクションを展開します。 I2Cを選択してください。 [Next(次へ)]をクリックします。 [Finish(完了)]をクリックします。 プロジェクトを作成すると、基本的な「Hello World」のサンプルが含まれます。このテンプレートを開始点として使用できます。メインソースファイルのすべてのコンテンツ(初期マクロ定義を除く)は、アプリケーションロジックを統合するために段階的に置き換えることができ、モジュール式で制御された移行プロセスを可能にします。 次のステップでは、元のSTプロジェクトから新しく作成したMCUXpressoプロジェクトにメインソースファイルを転送します。このプロセス中、標準なSTは含まれ、ドライバ参照は除外されますが、カスタムヘッダーファイルが必要な場合を除きます。この場合、カスタムヘッダは使用されていないため、コアアプリケーションロジックのみが移行されます。 STソース・ファイル内の関数呼び出しの多くは、STM32固有のHAL APIに依存しています。これらの機能は見直され、NXP SDKの同等の機能に体系的に置き換えられます。このアプローチでは、main()ルーチン内の各関数を解析してその目的を理解し、それをNXP環境の対応する実装に置き換えます。   STプロジェクトの簡単の概要: 割込み優先度の設定 複数の割込みが同時に発生した際に優先度レベルを管理するよう、マイクロコントローラの割込みシステムを設定します。 パワー・ペリフェラル・クロックのイネーブルメント パワーマネージメント設定を構成するための前提条件として、パワー(PWR)ペリフェラル・クロックを有効にします。 パワーマネージメントのセットアップ 内部コンポーネント全体のエネルギー効率とパフォーマンスを最適化するために、STM32U5xxマイクロコントローラのパワーマネージメント機能を初期化します。 System Clock Configuration マイクロコントローラのタイミングシステムを設定し、160 MHzの周波数で動作するように構成します。 ペリフェラルの初期化 ペリフェラルのピン構成や機能設定を確立します。このアプリケーションでは、I2C1がフォロワー、I2C3がリーダーとして構成されています。 LED初期化 LEDを低アクティブ状態で開始し、初期状態または通信フィードバックを示すために点灯するように設定します。 GPIO Polling for Button Press GPIO入力ピンの状態を継続的に監視します。ボタンが押されていないと、LEDは速く点滅します。一度押すと、ループは終了し、LEDは点灯したままです。 I2C通信開始 マスター側からI2C通信プロセスを開始し、2つのI2Cインターフェース間のデータ転送を実行します。 NXP SDKではどのように処理されていますか? 割込み優先度の設定 この機能はCMSISコアNVIC機能を通じてサポートされており、直接再利用できます。必要なプリエンプション優先度レベルを確立するには、マクロを定義する必要があります。 クロックと電源の設定 これらの機能は、boardフォルダ内のclock_config.cにあるBOARD_InitBootClocks関数に統合されています。この関数は、NXP MCUのシステムクロックと電源設定の両方を初期化します。 ペリフェラルとピンの初期化 ペリフェラルのセットアップは2つの関数に分かれています。 BOARD_InitBootPins(pin_mux.c内)はI2CとGPIOのピン設定を処理します。 BOARD_InitBootPeripherals(peripherals.c内)はI2Cペリフェラルの初期化とGPIO割込み設定を管理します。 LEDの初期化 GPIOピンは、希望する初期状態に応じて出力を「ハイ」または「ロー」に設定できます。LEDはGPIO_PinWriteを使用して切り替えたり設定したりできます。 ボタン押下のGPIOポーリング この動作は、GPIO_PinReadを使用してボタンの状態を監視するカスタムポーリング関数を使用して再現できます。 I2C通信開始 I2Cマスター通信はLPI2C_MasterStartを使用して開始され、指定されたスレーブデバイスとのデータ転送プロセスが始まります。 Clock Config Toolを使用したクロックの初期化 MCUXpresso IDEには、統合構成ツールが含まれており、インターフェースの右上にあるドロップダウンメニューから適切なオプションを選択することで、プロジェクトエクスプローラからアクセスできます。 システムクロックを設定するには、MCUXpresso IDE内のクロックツールを開きます。 クロック図は選択したMCUでサポートされている構成を示しています。この例では、デバイスの最大コアクロック周波数は96MHzです。これはアプリケーションの要件を満たしているので、デフォルトのクロック設定を変更する必要はありません。 I2Cインスタンスのペリフェラル・クロックを有効にするには、MCUXpresso Config Tools内のクロック構成図に移動します。図をスクロールして利用可能なペリフェラルを見つけ、適切なクロックソースを選択してI2Cモジュールをアクティブにします。 I2C0およびI2C3ペリフェラルのクロックソースを設定するには、クロック構成図の各インスタンスに関連付けられているCLKSELフィールドをダブルクリックします。このセットアップでは、I2C0およびI2C3の両方のクロックソースとしてFRO_HF_DIVを選択します。 次に、クロック構成図で対応するフィールドを選択してクロック分周器を構成します。詳細はインターフェースの右上パネルに表示されます。I2Cペリフェラルへのクロックパスを有効にするには、「Divider clock is running(クロック分周期が実行中)」オプションが選択されていることを確認してください。 この段階で、I2Cペリフェラルクロックは正常に有効化されています。 構成の変更を適用してプロジェクトに統合するには、「コードの更新」をクリックしてください。このアクションにより、対応するソースファイルが生成され、新しい設定がプロジェクト構造に反映されます。 Pins Config Toolを使用したピンの初期化 MCUXpresso IDEには、統合設定ツールが含まれており、インターフェースの右上にあるドロップダウンメニューから適切なオプションを選択することで、プロジェクトエクスプローラからアクセスできます。 I2Cピンの構成を開始するには、MCUXpresso IDEの構成ツールメニューから「Open Pins(ピンを開く)」を選択します。 フィルタ機能を使用して、I2Cインスタンス0と互換性のある使用可能なピンを検索します。ボードの回路図を確認した後、ヘッダー経由でアクセスできるピンP0_16とP0_17が選択されました。LPI2C0:SDAとLPI2C0:SCLを構成オプションから選択して、これらのピンに適切なI2C機能を割り当てます。 I2Cインスタンス3の構成プロセスを繰り返します。ボードの回路図に基づき、P3_27ピンとP3_28ピンがこのインスタンス用に選択されています。ピン構成ツールでLPI2C3:SDAとLPI2C3:SCLを選択し、適切な機能を割り当てます。 ピンの選択が完了すると、各ピンのルーティングと設定を表示する構成テーブルが生成されます。このテーブル内で、ルーティングの詳細を使用して、必要に応じてピンを設定します。I2Cピンに対して、通信中の適切な信号の整合性を確保するために、内部プルアップ抵抗を有効にしてください。 I2Cピンの構成に加えて、入力用と出力用の2つのGPIOピンを設定する必要があります。このボードでは、SW2(P1_7)がボタン入力機能、P3_0がLED出力に割り当てられています。 ピン構成テーブルのルーティング詳細内で、入力GPIOと出力GPIOの両方の動作を定義します。アプリケーション要件に基づいて、LEDをアクティブにするために、出力ピンをロジック・ロー状態(論理0を選択)に初期化する必要があります。入力ピンに対して、ボタンの押下を正確に登録するために、立ち下がりエッジでの割込み検出を有効にします。 構成を確定し、変更をプロジェクトに統合するには、「Update Code(コードを更新)」をクリックします。これにより、必要なソースファイルが生成され、選択した設定がプロジェクト構造に適用されます。 Peripheral Config Toolを使用したペリフェラルの初期化 MCUXpresso IDEには統合構成ツールがあり、プロジェクトエクスプローラからアクセスできます。これらのツールを起動するには、インターフェースの右上にあるドロップダウンメニューを使用します。 ペリフェラルの構成を開始するには、MCUXpresso IDE内の構成ツールメニューから「Open Peripherals(ペリフェラルを開く)」を選択します。 このビューでは、各インスタンスのGPIOとI2C設定の初期化に集中してください。続行するには、 「Peripheral Drivers(ペリフェラル・ドライバ)」を選択して、対象デバイスで利用可能なサポートされているドライバのリストにアクセスします。 GPIO1設定 利用可能なペリフェラル・オプションを絞り込むには、ペリフェラル・ドライバ・ビューの検索フィールドに「GPIO」と入力します。関連するオプションが表示されたら、「OK」をクリックしてGPIOの設定を進めます。 ボタン入力に割り当てられているP1_7の割込み機能を有効にするには、まず新しいペリフェラル・ドライバを選択します。フィルタを使用してGPIOを検索し、適切なドライバを選択して、GPIO1割込みハンドラをアクティブ化します。 I2C3リーダー/マスター構成 I2Cペリフェラルを構成するには、ペリフェラル・ドライバ・ビュー内の検索フィールドに「I2C」を入力して利用可能なオプションをフィルタリングします。該当するドライバが表示されたら、アプリケーションに適したドライバを選択し、「OK」をクリックして続行します。 I2C3をマスター(リーダー)デバイスとして設定し、割り込み駆動のデータ転送を有効にします。この設定により、I2C3インスタンスは通信を開始し、割り込みメカニズムを使用してデータ送信を処理できるため、応答性と効率が向上します。 さらに、I2C3ペリフェラルの割込みハンドラを有効にします。適切な優先度レベルを設定し、送信データ・レディ・フラグを有効にして、割り込みによるデータ転送をサポートします。 I2C0フォロワー/スレーブの構成 I2C0フォロワー・ペリフェラルを構成するには、ペリフェラル・ドライバ・ビュー内の検索フィールドに「I2C」を入力して、利用可能なドライバをフィルタリングします。該当するドライバが表示されたら、適切なものを選択し、「OK」をクリックして構成を進めます。 I2C0をスレーブ(フォロワー)デバイスとして構成します。割込み駆動型転送方式を有効にし、通信に使用するスレーブアドレスを指定します。この設定により、I2C0インスタンスはマスタ要求に応答し、割込み経由でデータ受信を処理できるようになります。 さらに、I2C0ペリフェラルの割込みハンドラを有効にします。適切な優先レベルを設定し、割り当てられたフォロワーアドレスを検証し、受信データ・レディ・フラグをアクティブにして、割り込み駆動型のデータ受信をサポートします。 設定を適用してプロジェクトに統合するには、「Update Code(コードを更新)」をクリックします。このアクションにより、必要なソースファイルが生成され、すべてのペリフェラルとピンの構成がプロジェクト構造に反映されることを確認します。 Config Toolsが生成したファイル MCUXpresso構成ツールは、選択した設定に基づいて自動的にソースコードを生成し、メインアプリケーションへの統合を効率化します。この生成されたコードには、前のステップで構成されたクロック、ピン、およびペリフェラルの初期化ルーチンが含まれます。生成されたすべてのファイルは、プロジェクト構造内のboardディレクトリ内に整理されます。 board.c NXPの開発ボードを使用してプロジェクトを作成する場合、デフォルト構成には、シリアル端末通信用のデバッグUARTピンの初期化が含まれます。この場合、UART機能は不要であり、board.c内の対応する関数は使用されません。 clock_config.c このファイルには、すべてのシステムクロック設定が含まれています。BOARD_InitBootClocks関数を使用して、クロック周波数と電源モードの設定を初期化します。このアプリケーションでは、システムは96 MHzで動作するように構成されています。 peripherals.c このファイルには、Config Toolsで構成されたペリフェラルの初期化コードが含まれています。この例では、I2CインスタンスとGPIO割込みの両方のセットアップルーチンが含まれています。BOARD_InitPeripherals関数を使用することもできますが、生成されたコードをアプリケーション内の特定の場所に選択的に統合し、必要な実行シーケンスに合わせる方が効果的な場合がよくあります。 pin_mux.c このファイルは、I2CとGPIOの割り当てを含む、アプリケーション用に選択されたすべてのピン構成を定義します。UARTピンはデフォルトで含まれていますが、このプロジェクトでは使用しません。BOARD_InitBootPins機能を使ってピン設定を適用してください。 さらに、元のSTアプリケーションにはキャッシュ初期化機能(mx_ICache_init)が含まれています。NXP SDKでは、キャッシュ構成がスタートアップコード内で処理されます。これは、デバイスフォルダの下にあるSystem_MCU.cのSystemInit関数で確認できます。 初期化関数の置き換え クロックとピンの初期化 NXPベースのプロジェクトの主な機能では、システムクロックとピン構成が、構成ツールによって生成された関数を使用して初期化されます。 BOARD_InitBootClocks BOARD_InitBootPins 周辺機器の初期化 ペリフェラルの初期化コードは、Config Tools によって生成されたperipherals.cから提供されます。コードの最初のブロックは、優先度レベルとNVIC構成を含むGPIO割込みハンドラを設定します。 続いて、I2Cマスタとスレーブのインスタンスが、それぞれの割込みハンドラと優先レベルとともに初期化されます。この段階では、割込みフラグはまだ有効になっていません。割込みフラグは、適切なシーケンスを確保し、早すぎる割込みのトリガを回避するために、データ転送機能において後でアクティブ化されます。 peripherals.cファイルには、スレーブ操作用にLPI2C0ペリフェラルを初期化するためのコードスニペットが含まれています。このコードは、目的の実行フローに合わせて、メイン機能やアプリケーション内の他の適切な場所に選択的に組み込むことができます。 MCUXpresso IDEの構成ツールは必要な初期化コードを効果的に生成しますが、アプリケーション内でこのコードの最も適切な配置するのは開発者の責任です。この決定は、実装される特定のプロトコルやペリフェラルに必要な操作シーケンスに基づいて行う必要があります。 たとえば、I2C通信では、データ転送は割込みによって管理されます。タイミングを考慮せずにLPI2C0_init機能を使用すると、割込みが早期に発生し、トランザクションが不完全になったり、誤って管理されたりする可能性があります。 適切に実行するために、推奨されるシーケンスは以下のとおりです。 ペリフェラルと関連する割り込みハンドラを初期化します。 I2Cトランザクションを開始します。 マスタ操作とスレーブ操作の両方で割込みを有効にします。 このアプリケーションでは、初期化はmain()関数内で実行され、割込みフラグは、正しいタイミングとコントロールを維持するため、後からHandle_I2C_Master関数内で選択的に有効化されます。 アクション関数の置き換え SYSTICKの初期化 SYSTICKタイマは、LED点滅速度の制御など、アプリケーション内での遅延操作をサポートするように構成されています。SYSTICKの初期化に関する詳細な手順は以下のセクションで説明されています。 ボタンポーリングとLED制御 この機能は、ボタン入力を継続的にポーリングするカスタム関数を通じて実装されます。ユーザーの操作を待つ間、LEDが切り替わり、準備完了を示します。ボタンを押すと、LEDが点灯したままになり、I2Cデータ転送フェーズに進んでいることを示します。 I2Cマスタの処理 Handle_I2C_Master関数は、NXP SDKのI2Cペリフェラル用に提供されているドライバAPIを使用して実装されています。この関数はI2Cトランザクションを開始し、通信シーケンスを管理します。 マスターおよびスレーブI2Cインスタンスの割込みハンドラは、ペリフェラルの初期化コードから派生しています。この段階では、アプリケーションが必要とする特定の動作をサポートするために、関連する割込みフラグが選択的にイネーブルされます。 WaitForUserButtonPress 関数 GPIO割り込みハンドラのカスタマイズを開始するには、MCUXpresso IDE内でPeripherals Config Toolを開きます。そこから、自動生成されたGPIO用のIRQハンドラをコピーすることができます。このコードは、アプリケーションの特定の要件に合わせて修正することができます。 ペリフェラルを構成した後、コードエディタに戻るには、MCUXpresso IDEの右上にある「Develop(開発)」ボタンをクリックします。開発環境に入ったら、コピーしたIRQハンドラコードをメインのソースファイル(できれば上部周辺)に貼り付けて、アクセスと整理を容易にします。 修正が加えられ、whileループ内に制御変数が含まれるようになり、アプリケーションはボタンが押されるまで実行を一時停止するようになりました。これにより、プログラムはユーザーの操作後にのみ進行し、アプリケーションの意図したフローに沿うことが保証されます。 WaitForUserButtonPress機能は、GPIOの切り替え操作と書き込み操作を利用してLEDの状態を制御し、遅延メカニズムを使用してポーリングループ中の点滅間隔を管理します。遅延を実装するには、SYSTICKタイマーを初期化し、それに応じて構成します。 さらに、アプリケーション内の時間ベースの操作をサポートするために、対応するSYSTICK割込みハンドラとともにグローバルカウンター変数が導入されました。 main()関数内では、ボタンのポーリングロジックの前にSYSTICKタイマーの初期化を追加する必要があります。これにより、ユーザー入力を待機するループに入る前に、遅延メカニズムが完全に動作することが保証されます。 最終的なWaitForUserButtonPress関数には以下が含まれます。 GPIO操作でLED状態の切り替えと制御を行います。 ボタンの状態を継続的にチェックし、押下イベントが検出されたときにのみ続行するwhileループ。 GPIO_* APIは、NXP GPIOドライバライブラリの一部であり、初期化、ピン制御、割込み処理などのさまざまな操作に使用されます。コード内で強調表示されているマクロ(IDEs内では通常ピンクで表示)は、Config Toolsによって生成され、pin_mux.hで定義されます。 アプリケーションで使用される遅延機能は、前述のカスタムSYSTICKベースの関数によって実装されています。 利用可能なGPIO APIの全セットを見るには、fsl_gpio.hヘッダーファイルを参照してください。このファイルは、ポートとピンレベルの制御、構成、割込み管理など、GPIO操作の包括的なサポートを提供します。 I2C割り込みハンドラのカスタマイズ GPIOハンドラと同様の方法でI2C割込みハンドラをカスタマイズするには、まずMCUXpresso IDEでペリフェラル設定ツールを開きます。次に、I2C0用に自動生成されたIRQハンドラを見つけてコピーします。これは、アプリケーションの特定の要件を満たすように変更できる基本テンプレートとして機能します。 コードエディタに戻るには、MCUXpresso IDEの右上にある「Develop(開発)」ボタンをクリックします。開発環境に入ったら、コピーしたI2C割込みハンドラコードをメインソースファイルに貼り付けます。整理とアクセス性を高めるため、できれば上部に貼り付けてください。 Peripherals Config Toolから自動生成された割り込みハンドラをコピーして、I2C3に対し、同じプロセスを繰り返します。このハンドラはI2C0で採用されている方法と同様に、カスタマイズのベースとして利用できます。 I2C割り込みハンドラの統合 元のSTベースのプロジェクトでは、各I2Cインスタンスは、標準操作用とエラー処理用の2つの割込みハンドラを使用していました。ただし、今回の移行で使用されるNXP MCUは、I2Cインスタンスごとに1つの割込みベクタを提供し、標準状態とエラー状態の両方を処理します。 その結果、元の4つのハンドラの機能を、各I2Cインスタンスに1つずつ、合計2つに統合する必要があります。これには、元の割込みロジックを慎重に確認して、マージされた実装で関連するすべてのフラグと動作が保持されるようにする必要があります。 たとえば、元のプロジェクトのスレーブハンドラは、アドレス一致フラグをチェックし、検出されると、データを受信する準備ができているかどうかを確認します。NXP環境における同等の動作は、統合された割込みハンドラ内で適切なステータスフラグを監視することで実装され、アドレス認識とデータ受信の両方が正しく処理されることを保証します。 スレーブハンドラ I2Cスレーブ割込みハンドラは、マスタデバイスが0x7Eでスレーブにアドレスを指定するときにトリガーされます。このアドレスの一致を検出すると、スレーブは要求を確認し、着信データを受信する準備をします。 ハンドラの2番目の部分はデータ受信プロセスを管理します。マスタから送信された各バイトを処理し、送信終了を示すNACK(Not Acknowledge)状態を監視し、受信したデータを指定されたバッファに保存します。これにより、スレーブは通信シーケンスを正しく処理し、すべてのデータが受信された後にスムーズに転送を終了します。 マスタハンドラ I2Cマスタ割込みハンドラは マスタ転送レディ・フラグを監視し、ペリフェラルが次のバイトのデータを送信する準備ができていることを示します。この状態を検出すると、ハンドラは送信バッファをチェックして、送信すべき追加データが残っているかどうかを判断します。送信の進行状況を追跡するためにカウンタが使用されます。 適切なマスタ送信動作を使用して、ハンドラは次のバイトを送信し、バッファポインタを進めます。最後のバイトが送信されると、ハンドラはSTOP条件を発行して、データ転送シーケンスの完了を通知します。 Handle_I2C_Master関数 Handle_I2C_Master関数は、I2C通信プロセスの開始と管理を担当します。最初に、MasterStartコマンドを発行して、指定されたアドレスのスレーブデバイスとの通信を開始します。スレーブからの確認応答が成功すると、対応する割り込みルーチンを通じてデータ転送が処理されます。 この関数はまた、マスタおよびスレーブの両方のI2Cインスタンスの割込みハンドラを初期化します。前述のように、トランザクションシーケンスを中断させる可能性のある早すぎる割込みトリガを防ぐために、マスタが通信を開始した後に割り込みを有効にすることが重要です。 データ転送が完了し、スレーブが想定されるすべてのバイトを受信すると、関数はLEDを定常状態に設定して終了し、実行の成功とアプリケーションフローの終了を示します。 まとめ MCUXpresso IDEを使用してアプリケーションをSTM32開発環境からNXP MCXプラットフォームに移行するには、構造化された体系的なアプローチが必要です。統合構成ツールを利用し、STM32とNXP SDKコンポーネント間の機能の同等性を理解することで、開発者はパフォーマンスと機能を維持しながらアプリケーションを効果的に移行できます。 このガイドでは、I2Cベースのアプリケーションを複製する際の主要な手順を概説しています。これには、プロジェクトのセットアップ、ペリフェラルの構成、ピンとクロックの初期化、および割込み処理が含まれます。ツールは自動生成されたコードを通じて強力な基盤を提供しますが、信頼性の高い操作を保証するために、初期化とランタイムロジックのシーケンスと統合を慎重に検討する必要があります。 両方の環境を明確に理解し、アプリケーションロジックを慎重に適応させることで、開発者は移行プロセスを合理化し、NXP MCXプラットフォームが提供する機能を最大限に活用できます。
記事全体を表示
S32K3 RTD FlexCAN 驱动程序默认禁用内存 ECC。 队员们好 最近,我们的客户发现 S32K3 RTD 驱动程序会禁用 FlexCAN 的内存 ECC 功能。虽然默认情况下启用了 ECC 功能。 客户 Xingyu 遇到的问题是,一些 CAN MB 永远卡住,无法再接收特定 ID。我们发现根本原因是某些 CAN MB 存在 ECC 错误,从而改变了该 MB 的 ID 文件。启用内存修正功能后,客户的问题就不复存在了。 请问为什么在 CAN RTD 的初始化过程中禁用了该功能?请优先考虑这个问题,而且客户是批量生产领域的客户,并向我们提供解释。 谢谢& ,致以最崇高的敬意、 理查德 优先级:高 RTD Re: S32K3 RTD FlexCAN driver disable the memory ECC by default. 你好@DanNguyenDuy、 感谢您的答复。让我再澄清一下: 1.客户使用的是旧 RTD 2.0.0 版本。我注意到最新的 RTD 版本似乎也禁用了这种内存修正功能。 2.请参阅下面的 CAN 寄存器映射(从 0x40304000 开始)。   请问为什么启用该功能会影响正常的发送和接收过程? 客户 20,000 多种产品中的一种产品出现了这种随机问题,我们的质量团队参与其中。客户启用该内存校正功能后,CAN MB ECC 问题得以解决,并能正常收发数据。 BR 理查德 Re: S32K3 RTD FlexCAN driver disable the memory ECC by default. 你好@RichardLi、 过去,当默认启用 FlexCAN 的 ECC 时,FlexCan 驱动程序会出现 ECC 问题,上电复位后无法正常传输和接收数据。此外,RTD 驱动程序不支持 FlexCan 的 ECC。因此,他们默认禁用了这一功能。 关于客户的背景,您能告诉我相关信息吗? 1。他们使用了哪个 RTD 软件包版本? 2.遇到问题时,FlexCan 寄存器的值是多少? 顺祝商祺! 丹 Re: S32K3 RTD FlexCAN driver disable the memory ECC by default. 你好@DanNguyenDuy 感谢您的支持。我们将等待 RTD 团队的反馈。 在这里,我列出了我们与客户在线调试时剪下的一些寄存器,其中大部分寄存器都显示了出来。至于 xdm 配置文件,我们将联系客户,看他们能否根据公司政策提供给我们。 BR 理查德 Re: S32K3 RTD FlexCAN driver disable the memory ECC by default. 你好@RichardLi、 1.我向 RTD 团队提交了查询票(ARTDCC3-368),要求他们做出解释。 2.根据您的附图,我发现 ESR1[BIT0ERR] 的值 = 1。该值错误位可能是由于 CAN 收发器之间的物理连接或节点之间的 CAN 位定时不一致造成的。能否将更多配置文件(.xdm 或 .arxml文件)以及偏移 0 至 C14h 寄存器的值? 顺祝商祺! 丹 Re: S32K3 RTD FlexCAN driver disable the memory ECC by default. 你好@LiekLi、 您认为我们是否可以要求客户提供他们的 xdm 文件,以帮助 SW 团队进一步分析?或者我们只需要 RTD 团队给出一个解释,就足以关闭此票? BR 理查德 Re: S32K3 RTD FlexCAN driver disable the memory ECC by default. 嗨,理查德、 解释 RTD 为何禁用此功能就足够了。 Re: S32K3 RTD FlexCAN driver disable the memory ECC by default. 你好@RichardLi、 这就是他们的答复: " 关于为什么默认禁用 ECC 的问题:我想说的是,当我们创建 RTD 代码库时,它们是从传统的 MCAL 代码库继承的,因此它们可能一直存在到现在。这对于我们来说很难审查所有代码,以确定有关专用勘误表的具体代码。 此外,在 S32K3 上,我们在低级 FlexCAN 驱动程序中实现了对 ECC 的支持: ARTD-53030 [CAN]在 S32K3 平台上实现对 RAM ECC 操作的支持 - NXP Jira" 顺祝商祺! 丹 Re: S32K3 RTD FlexCAN driver disable the memory ECC by default. 你好@DanNguyenDuy、 感谢您的及时反馈。我将把这一解释传达给客户,看看他们是否有进一步的问题。 此致, 理查德 Re: S32K3 RTD FlexCAN driver disable the memory ECC by default. 你好@DanNguyenDuy RTD 团队是否有任何最新消息?谢谢! BR 理查德
記事全体を表示
无 PHY 的 IMX8MP RGMII 连接 您好, 我正试图在不使用物理层的情况下建立与交换机的以太网 RGMII 连接。根据其他帖子,我将我的设备树配置如下: &fec { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_fec>, <&pinctrl_fec_phy>; phy-mode = "rgmii"; status = "okay"; fixed-link { speed = <1000>; full-duplex; }; }; pinctrl_fec: fecgrp { fsl,pins = , , , , , , , , , , , , , ; }; pinctrl_fec_phy: fecphygrp { fsl,pins = , ; }; ethtool 显示检测到链接:是,ifconfig 显示已分配 IP 地址。但是我无法 ping 到板或从板上执行 ping 操作。您能确认针脚的设置是否正确吗?谢谢。 i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus Re: IMX8MP RGMII Connection with No PHY 谢谢您的答复,我已经看过那份文件,它帮我走到了今天。不过,我仍然需要进一步的帮助,才能让事情顺利进行。 Re: IMX8MP RGMII Connection with No PHY 请参阅所附文件,该文件对您的情况非常有用 Re: IMX8MP RGMII Connection with No PHY 对于 RGMII,当前电路板支持包默认支持此功能,你可以参考 https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/arch/arm64/boot/dts/freescale/imx8mp-evk.dts#L390
記事全体を表示