Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
LPC55S28 CASPER ECC 乘法执行时间 我正在尝试弄清楚下面的代码是否应该在我测量的时间内执行完毕,或者我的设置是否出错导致它运行速度非常慢。这段代码是使用 kCASPER_ECC_P256 从给定的私钥生成公钥的函数的一部分。 以下代码使用 GPIO 开关来测量执行时间。设置和清除 GPIO 调用之间需要 337 毫秒。对于这种硬件加速的数学运算来说,这个速度似乎太慢了。这是预期之内的吗?我的MCU核心时钟频率为148MHz。有没有办法选择 CASPER 引擎的时钟源来加快速度? /* Base Generator Point G(x, y) for secp256r1 in 32-bit Little-Endian word arrays */ static const uint32_t G_x_le[8] = { 0xD898C296, 0xF4A13945, 0x2DEB33A0, 0x77037D81, 0x63A440F2, 0xF8BCE6E5, 0xE12C4247, 0x6B17D1F2 }; static const uint32_t G_y_le[8] = { 0x37BF51F5, 0xCBB64068, 0x6B315ECE, 0x2BCE3357, 0x7C0F9E16, 0x8EE7EB4A, 0xFE1A7F9B, 0x4FE342E2 }; uint32_t scalar_le[8]; uint32_t Q_x_le[8]; uint32_t Q_y_le[8]; /* Copy Big-Endian private scalar and convert to Little-Endian for CASPER */ memcpy(scalar_le, key_buffer, 32); swap_endian_32((uint8_t *)scalar_le); /* 1. Initialize CASPER coprocessor */ CASPER_Init(CASPER); CASPER_ecc_init(kCASPER_ECC_P256); HW_DB_PinSet(); /* 2. Compute Q = d * G using CASPER hardware */ CASPER_ECC_SECP256R1_Mul( CASPER, Q_x_le, Q_y_le, G_x_le, G_y_le, scalar_le ); HW_DB_PinClear(); 回复: LPC55S28 CASPER ECC Multiply Execution Time 嗨@guitardenver 我们使用 MCUXpresso SDK CASPER 示例在运行频率为 150 MHz 的 LPC55S28 EVK 上测量了相同的操作。对 CASPER_ECC_SECP256R1_Mul() 的一次调用大约需要 2410 万个 CPU 周期,相当于大约 160 毫秒的执行时间。 根据这一结果,您应用程序中测得的 337 毫秒似乎并不算不合理,特别是如果考虑到额外的密钥格式化、数据转换、初始化或调试版本开销的话。 CASPER 不提供单独的用户可配置时钟源。执行时间主要取决于使用 CASPER 加速器的 ECC 软件实现。 BR 哈里 Re: LPC55S28 CASPER ECC Multiply Execution Time 你可以做以下几件事。但是,我没有在这个MCU上看到CASPER引擎的任何可配置时钟选项。 1. 使用 O2 优化来提高速度 2.启用 Flash 加速器预取和等待状态优化。 SYSCON -> FMCCR |= SYSCON_FMCCR_PREFEN_MASK ;   之后我把它降到了160毫秒。   Re: LPC55S28 CASPER ECC Multiply Execution Time 我正在尝试弄清楚下面的代码是否应该在我测量的时间内执行,或者我是否设置了某些限制。 嘿!即使使用 P256,对于 148MHz 的 MCU 来说,硬件加速的 ECC 操作耗时 337 毫秒也确实有点高。你调查这件事是件好事。有时驱动程序开销或时钟问题可能会悄悄出现。您是否检查过 CASPER 引擎的具体时钟源,或者是否有任何关于优化其性能的可用文档?
View full article
Is there a way to prevent task switching while BluetoothLEHost_Init() is executing? Hi, I have a question regarding BluetoothLEHost_Init() in the KW47 SDK. My application is running on FreeRTOS, and several tasks are created in advance using xTaskCreateStatic(). After creating these tasks, I call BluetoothLEHost_Init() to initialize BLE. While stepping through the SDK, I observed that during communication with the NBU, the initialization process waits for inter-task events. As a result, other lower-priority tasks are scheduled and start running while BluetoothLEHost_Init() is still executing and before the function call itself returns. To clarify, I am not referring to the host initialization completion callback provided to BluetoothLEHost_Init(). I do not need to wait for that callback. My concern is that task switching occurs before BluetoothLEHost_Init() returns. I would like to prevent other application tasks from running until the BluetoothLEHost_Init() function call itself has returned. My questions are: ・Is there any configuration, API, or recommended method to prevent task switching while BluetoothLEHost_Init() is executing (for example, while waiting for NBU communication)? ・Is there a way to ensure that BluetoothLEHost_Init() completes and returns without yielding execution to other tasks? ・If such a method exists, could you please provide guidance or an example of the recommended approach? My goal is to ensure that no application tasks begin their normal processing until BluetoothLEHost_Init() has returned. Any advice would be greatly appreciated. Re: Is there a way to prevent task switching while BluetoothLEHost_Init() is executing? Hi @t_hosomi, hope you are doing well. You can hold the execution of other tasks with different FreeRTOS approaches as explained below: Suspend tasks (vTaskSuspend) after creating them before starting the scheduler, this will make the task start in a suspended state which will make the scheduler not to switch to other tasks. Therefore, after returning from the BLE initialization, you would resume their execution (vTaskResume). Create an event group that blocks all tasks you require to run after BLE initialization and configure the wait for the event group bits to be indefinite. This approach would require jumping to each task and block them through the event group wait time, this will make the tasks to be inactive until the event group bits are cleared by the BLE initialization task. For both options I'd suggest referring to the FreeRTOS Reference Manual and for the second option, you may refer to the "freertos_event_cm33_core0" example from the SDK as it demonstrates how to create event groups and set tasks to wait for events. Please let me know if the information helps cover your requirements.
View full article
Regarding the issue of S32K3XX failing to establish its own IP address on the LWIP protocol stack. Screenshot 2026-09-18 100140.png Screenshot 2026-09-18 100315.png Screenshot 2026-09-18 100756.png Hello: I've created my own local IP address in S32DS and disabled the local IP address in the LWIP protocol stack, but I get an error during single-step debugging, failing to establish a connection, as shown in the bottom right image above. What could be the problem? Is some setting missing? Is it that creating a local IP address is not allowed and must be configured in the protocol stack? Thank you again for taking the time to reply despite your busy schedule! Re: 关于S32K3XX 在LWIP 协议栈上自己建立IP地址无法建立的问题 Hello @sunshine88 , The IPv4 address itself is not the cause of this error. lwIP allows a static IPv4 address to be provided directly through netif_add() . According to the debugger screenshot, netif_add() returns NULL because the network-interface initialization callback, ETHIF_INIT , does not return ERR_OK . Therefore, the failure occurs during initialization of the Ethernet interface or its lower-level driver, before the interface can be added to lwIP. In your TCP/IP Stack configuration screenshot, the Enable iface option is not selected. Please enable the network interface and configure the required static IPv4 address, subnet mask, and gateway there. Then regenerate the configuration and use the initialization sequence from the corresponding S32K3 lwIP example. If you still want to assign the address in the application, please first verify whether netif_add() succeeds. Please note that this only makes the initialization failure easier to detect. It does not correct the underlying GMAC/Ethernet configuration. I recommend first building and running the original lwIP example for your exact S32K3 device and software-package versions without modifying its network initialization. Once the original example works, change only the static IPv4 address and confirm the result. Please also provide the following information if the initialization still fails: Exact S32K3 device and evaluation board S32 Design Studio version RTD and TCP/IP Stack package versions The definition of ETHIF_INIT and the error returned by that function Whether the unmodified lwIP example works on the same hardware It appears that the same question was submitted in three separate Community posts. To keep the troubleshooting information in one place, please continue the discussion in only one of them. Best regads, Pavel
View full article
BluetoothLEHost_Init() の実行中にタスクの切り替えを防止する方法はありますか? こんにちは、 KW47 SDKのBluetoothLEHost_Init()について質問があります。 私のアプリケーションはFreeRTOS上で動作しており、いくつかのタスクはxTaskCreateStatic()を使って事前に作成しています。 これらのタスクを作成した後、BluetoothLEHost_Init() を呼び出して BLE を初期化します。SDKsをステップアップしていると、NBUとの通信中に初期化プロセスがタスク間イベント情報を待っていることに気づきました。その結果、BluetoothLEHost_Init() がまだ実行中で、関数呼び出し自体が戻る前に、他の優先度の低いタスクがスケジュールされ、実行が開始されます。 念のため申し上げますが、私が言及しているのは、BluetoothLEHost_Init() に提供されるホスト初期化完了コールバックのことではありません。私はそのコールバックを待つ必要はありません。 私が懸念しているのは、BluetoothLEHost_Init() が戻る前にタスク切り替えが発生することです。BluetoothLEHost_Init()関数呼び出し自体が戻るまで、他のアプリケーションタスクの実行を防ぎたいです。 私の質問は以下のとおりです。 ・BluetoothLEHost_Init()を実行している間(例えばNBU通信待ち中)にタスク切り替えを防ぐための設定、API、または推奨される方法はありますか? ・BluetoothLEHost_Init()が完了し戻ることを他のタスクに譲ることなく確実にする方法はありますか? ・もしそのような方法が存在するなら、推奨される方法の指針や例を教えていただけますか? 私の目標は、BluetoothLEHost_Init()が戻るまで、アプリケーションタスクが通常のプロセッシングを開始しないようにすることです。 どんなアドバイスでも大変ありがたいです。 Re: Is there a way to prevent task switching while BluetoothLEHost_Init() is executing? こんにちは、 @t_hosomi さん。お元気でお過ごしでしょうか。 以下に説明するように、異なるFreeRTOSアプローチで他のタスクの実行を保留することができます: スケジューラを起動する前にタスクを作成した後、タスクを一時停止(サスペンド)すると、タスクが一時停止状態に始まるため、スケジューラが他のタスクに切り替わらなくなります。したがって、BLEの初期化から戻った後、それらの実行を再開します(vTaskResume)。 BLE初期化後に実行すべきすべてのタスクをブロックするイベントグループを作成し、イベントグループのビットを無期限に待つ設定をしてください。この方法は各タスクにジャンプし、イベントグループの待ち時間でブロックする必要があり、これによりBLE初期化タスクによってイベントグループのビットがクリアされるまでタスクは非アクティブになります。 どちらの選択肢も FreeRTOSリファレンスマニュアル を参照することをお勧めします。後者については、イベントグループの作成方法やイベント待ちタスクの設定を示すSDKの「freertos_event_cm33_core0」例を参照することをお勧めします。 この情報がご要望にお応えできるかどうか、お知らせください。
View full article
关于S32K3XX 在LWIP 协议栈上自己建立IP地址无法建立的问题 屏幕截图 2026-09-18 100140.png 屏幕截图 2026-09-18 100315.png 屏幕截图 2026-09-18 100756.png 你好:            现在我在S32DS 中中自己建立本机IP地址,设置LWIP协议栈中本地IP地址失效,但是单步调试时会报错,无法建立链接,如上最下面右侧所示,请问问题出在哪里?是缺少什么设置吗?难道时不允许自己建立本地IP,必须在协议栈中配置吗?          再次感谢在百忙之中回复! Re: 关于S32K3XX 在LWIP 协议栈上自己建立IP地址无法建立的问题 你好@sunshine88 , IPv4 地址本身并不是造成此错误的原因。lwIP 允许通过 netif_add() 直接提供静态 IPv4 地址。 根据调试器截图, netif_add() 返回 NULL ,因为网络接口初始化回调函数 ETHIF_INIT 没有返回 ERR_OK 。因此,故障发生在以太网接口或其底层驱动程序初始化期间,在将接口添加到 lwIP 之前。 在您的 TCP/IP 协议栈配置截图中, “启用接口”选项未被选中。请启用网络接口,并在该接口上配置所需的静态 IPv4 地址、子网掩码和网关。然后重新生成配置,并使用相应的 S32K3 lwIP 示例中的初始化序列。 如果您仍然想在应用程序中分配地址,请先验证 netif_add() 是否成功。 请注意,这只是使初始化失败更容易被检测到。它无法修正底层 GMAC/以太网配置。 我建议首先针对您的 S32K3 设备和软件包版本构建并运行原始的 lwIP 示例,不要修改其网络初始化。如果原示例运行正常,则仅更改静态 IPv4 地址并确认结果。 如果初始化仍然失败,请同时提供以下信息: 精确的 S32K3 设备和评估板 S32 设计工作室版本 RTD 和 TCP/IP 协议栈软件包版本 ETHIF_INIT 的定义以及该函数返回的错误 未经修改的 lwIP 示例是否能在相同的硬件上运行 同一个问题似乎在三个不同的社区帖子中被提交了。为了将故障排除信息集中在一个地方,请只在一个地方继续讨论。 此致敬礼, 帕维尔
View full article
有没有办法防止在 BluetoothLEHost_Init() 执行期间进行任务切换? 您好, 我有一个关于 KW47 SDK 中的 BluetoothLEHost_Init() 的问题。 我的应用程序运行在 FreeRTOS 上,并且预先使用 xTaskCreateStatic() 创建了几个任务。 创建这些任务后,我调用 BluetoothLEHost_Init() 来初始化 BLE。在逐步调试 SDK 的过程中,我观察到在与 NBU 通信期间,初始化过程会等待任务间事件。因此,其他优先级较低的任务会被安排并在 BluetoothLEHost_Init() 仍在执行且函数调用本身返回之前开始运行。 需要澄清的是,我指的不是提供给 BluetoothLEHost_Init() 的主机初始化完成回调。我不需要等待回调。 我担心任务切换发生在 BluetoothLEHost_Init() 返回之前。我希望阻止其他应用程序任务运行,直到 BluetoothLEHost_Init() 函数调用本身返回为止。 我的问题是: ・是否有任何配置、API 或推荐的方法来防止在 BluetoothLEHost_Init() 执行期间(例如,在等待 NBU 通信期间)发生任务切换? ・有没有办法确保 BluetoothLEHost_Init() 完成并返回,而不将执行权让给其他任务? ・如果存在这样的方法,能否请您提供指导或推荐方法的示例? 我的目标是确保在 BluetoothLEHost_Init() 返回之前,任何应用程序任务都不会开始正常处理。 任何建议都将不胜感激。 Re: Is there a way to prevent task switching while BluetoothLEHost_Init() is executing? 嗨@t_hosomi ,希望你一切都好。 您可以使用以下所述的不同 FreeRTOS 方法来暂停其他任务的执行: 在启动调度程序之前创建任务(vTaskSuspend),这将使任务以挂起状态启动,从而使调度程序不会切换到其他任务。因此,从 BLE 初始化返回后,您将恢复它们的执行(vTaskResume)。 创建一个事件组,阻止所有需要在 BLE 初始化后运行的任务,并将事件组位的等待时间配置为无限期。这种方法需要跳转到每个任务,并在事件组等待时间内阻塞它们,这将使任务处于非活动状态,直到 BLE 初始化任务清除事件组位。 对于这两种选择,我都建议参考FreeRTOS 参考手册;对于第二种选择,您可以参考 SDK 中的“freertos_event_cm33_core0”示例,因为它演示了如何创建事件组和设置任务以等待事件。 请告诉我这些信息是否符合您的要求。
View full article
S32K3XXがLWIPプロトコルスタック上で自身のIPアドレスを確立できない問題について。 スクリーンショット 2026-09-18 100140.png スクリーンショット 2026-09-18 100315.png スクリーンショット 2026-09-18 100756.png こんにちは: S32DSで独自のローカルIPアドレスを作成し、LWIPプロトコルスタックでローカルIPアドレスを無効にしましたが、上の右下の画像に示すように、シングルステップデバッグ中に接続確立に失敗するエラーが発生します。何が問題なのでしょうか?設定が不足しているのでしょうか?ローカルIPアドレスの作成は許可されておらず、プロトコルスタックで設定する必要があるということでしょうか? お忙しい中、お返事いただき、改めてありがとうございました! Re: 关于S32K3XX 在LWIP 协议栈上自己建立IP地址无法建立的问题 こんにちは、@sunshine88 さん。 IPv4アドレス自体がこのエラーの原因ではありません。lwIPでは、 netif_add() を介して静的IPv4アドレスを直接提供できます。 デバッガのスクリーンショットによると、 netif_add() はネットワークインターフェースの初期化コールバック ETHIF_INIT が ERR_OK 返さないため、 NULL を返します。したがって、エラーはイーサネットインターフェースまたはその下位ドライバの初期化時に発生し、インターフェースがlwIPに追加される前に発生します。 TCP/IPスタック構成のスクリーンショットでは、 「ifaceを有効にする」オプションが選択されていません。ネットワークインターフェースを有効にし、必要な静的IPv4アドレス、サブネットマスク、ゲートウェイを設定してください。次に、設定を再生成し、対応するS32K3 lwIPの例にある初期化シーケンスを使用します。 アプリケーションで住所を割り当てたい場合は、まず成功 netif_add() 確認してください。 これは初期化の失敗を検出しやすくするだけのものであることにご注意ください。GMAC/イーサネットの基礎設定を修正するわけではありません。 まずは、ネットワーク初期化を変更しずに、あなたのS32K3デバイスとソフトウェアパッケージのバージョンに合わせて元のlwIP例をビルドし実行することをお勧めします。元の例が正常に動作したら、静的IPv4アドレスのみを変更して結果を確認してください。 初期化がそれでも失敗する場合は、以下の情報も提供してください。 正確なS32K3デバイスと評価ボード S32 Design Studio版 RTDおよびTCP/IPスタックパッケージのバージョン ETHIF_INIT の定義と、その関数が返すエラー 変更されていないlwIPの例が同じハードウェアで動作するかどうか 同じ質問が3つの別々のコミュニティ投稿で寄せられたようです。トラブルシューティング情報を一箇所にまとめるため、議論はどちらか一方のフォーラムのみで行ってください。 よろしくお願いいたします。 パベル
View full article
Regarding the issue of S32K3XX failing to establish its own IP address on the LWIP protocol stack. Hello: I've created my own local IP address in S32DS and disabled the local IP address in the LWIP protocol stack, but I get an error during single-step debugging, failing to establish a connection, as shown in the bottom right image above. What could be the problem? Is some setting missing? Is it that creating a local IP address is not allowed and must be configured in the protocol stack? Thank you again for taking the time to reply despite your busy schedule! 回复: 关于S32K3XX 在LWIP 协议栈上自己建立IP地址无法建立的问题 Hello @sunshine88 , Yes, Enable iface must remain selected because the generated configuration is required to initialize the Ethernet interface and connect it to lwIP. Disabling the interface and creating it only through your own netif_add() call is therefore not the correct approach for this example. For initial testing, please configure the static IPv4 address, subnet mask and gateway on the TCP/IP Stack configuration page and regenerate the code. The IP address may still be changed programmatically after the interface has been initialized, but the generated interface configuration itself must not be omitted. Best regards, Pavel 回复: 关于S32K3XX 在LWIP 协议栈上自己建立IP地址无法建立的问题 As mentioned above, after successfully running the LWIP Demo, all IP configurations must be done through the configuration page; manual configuration is not allowed, nor can IP configuration be disabled. The S32DS version I used is S32 Design Studio for S32 Platform Version: 3.5, and the RTD version is V4.0.0.The TCPIP_STACK version is V1.0.4. I'm confirming again, the IP address must be configured in the settings page. You cannot configure it manually in the disabled IP configuration page! Screenshot 2026-09-18 164944.png Screenshot 2026-09-18 165031.png Screenshot 2026-09-18 165228.png 回复: 关于S32K3XX 在LWIP 协议栈上自己建立IP地址无法建立的问题 Hello @sunshine88 , The IPv4 address itself is not the cause of this error. lwIP allows a static IPv4 address to be provided directly through netif_add() . According to the debugger screenshot, netif_add() returns NULL because the network-interface initialization callback, ETHIF_INIT , does not return ERR_OK . Therefore, the failure occurs during initialization of the Ethernet interface or its lower-level driver, before the interface can be added to lwIP. In your TCP/IP Stack configuration screenshot, the Enable iface option is not selected. Please enable the network interface and configure the required static IPv4 address, subnet mask, and gateway there. Then regenerate the configuration and use the initialization sequence from the corresponding S32K3 lwIP example. If you still want to assign the address in the application, please first verify whether netif_add() succeeds. Please note that this only makes the initialization failure easier to detect. It does not correct the underlying GMAC/Ethernet configuration. I recommend first building and running the original lwIP example for your exact S32K3 device and software-package versions without modifying its network initialization. Once the original example works, change only the static IPv4 address and confirm the result. Please also provide the following information if the initialization still fails: Exact S32K3 device and evaluation board S32 Design Studio version RTD and TCP/IP Stack package versions The definition of ETHIF_INIT and the error returned by that function Whether the unmodified lwIP example works on the same hardware It appears that the same question was submitted in three separate Community posts. To keep the troubleshooting information in one place, please continue the discussion in only one of them. Best regads, Pavel 回复: 关于S32K3XX 在LWIP 协议栈上自己建立IP地址无法建立的问题 Screenshot 2026-09-18 100140.png Screenshot 2026-09-18 100315.png Screenshot 2026-09-18 100756.png The above issue did not include uploaded code lines. Please check...
View full article
S32DSライセンスの有効期限が切れました こんにちは、NXPサポートチームの皆さん、 私のS32DS v2.2ライセンスは2026年8月24日に期限切れとなりました。ライセンスの延長を手伝ってもらえますか? アクティベーションコード:563B-6314-7B07-7945 ご支援ありがとうございます。 Re: S32DS License Expired こんにちは、 お客様のS32DSライセンスが延長されました。以前のコードを使用して、S32DSを再度有効化してください。
View full article
i.MX8M-Plus RDC Sema42 用于簇内隔离 我想使用 i.MX8M-Plus 上的 RDC 来隔离 A53 集群中的核心。是否可以使用 RDC 信号量来禁止 A53 集群中的某些 CPU 访问外围设备? 参考手册 IMX8MPRM Rev 3 对门寄存器 RDC_SEMAPHOREx_GATEn 中的 GTFSM 字段的工作方式没有完全说明(第 3.2.6.1 节)。它有 2 位用于指示锁定域,4 位用于指示哪个“处理器”正在锁定信号量。 这里的“处理器”是指集群(例如A53、M7)还是集群中的一个核心? 如果 A53 集群上的 core0 将信号量锁定到 UART1,core1...3 还能访问 UART1 吗? Re: i.MX8M-Plus RDC Sema42 for intra-cluster isolation 否。 在 i.MX8M Plus 上,RDC 信号量“处理器”是总线主控/RDC 主控,而不是单独的 A53 内核。对于远程桌面连接 (RDC) 而言,A53 集群显示为一个 A53 平台功能域。A53 四核集群被视为一个单一的主功能域,这意味着所有四个 A53 核心(core0–core3)都属于同一个 RDC 功能域。因此,Sema42 信号量的 GTFSM 字段标识的是哪个功能域(例如,A53 簇与 M7 核心)持有锁,而不是簇内的哪个单个核心。 因此,如果 A53 core0 锁定 UART1 的信号量,则 A53 core1–3 不会单独被该 RDC 信号量阻塞。如果它们在同一个 A53/RDC 功能域中,它们仍然可以访问 UART1。 对于集群内核心隔离,您需要依赖软件级机制(例如操作系统级资源管理或自旋锁),而不是硬件 RDC/Sema42。 Re: i.MX8M-Plus RDC Sema42 for intra-cluster isolation 谢谢你的回复。 i.MX 8QuadMax 有两个核心复合物(A53 和 A72)。是否可以使用 xRDC2 将这两个复合物区分开来? Re: i.MX8M-Plus RDC Sema42 for intra-cluster isolation 是的,A53 与 A72 隔离是一个有效的用例,前提是将它们建模为单独的 SCFW 资源分区并相应地分配资源。这与试图将 A53 core0 与 A53 core1 隔离不同,xRDC2 的设计目的并非如此。
View full article
S32K118 中断 大家好, 我正在尝试在 LPTI 定时器或 LPTMR0 定时器上设置中断。 两个计时器都运行正常(结束计数标志将被结算),但 无法获取中断。 我使用的是S32K118评估板和S32DS IDE。 有人能帮帮我吗? 先行致谢。 Re: S32K118 Interrupts 您还可以通过安装“S32SDK_S32K1xx_RTM_4.0.2.exe”来获取中断示例。 Re: S32K118 Interrupts HI 请参考 S32DS v3.4 的 S32K1 SDK 4.0.3 中的 LPIT 和 LPTMR 中断示例。 lpit lptmr 中断 S32K1 SDK RTM 4.0.3.png 此致, 罗宾 ------------------------------------------------------------------------------- 笔记: - 如果此回复解答了您的问题,请点击“标记为正确答案”按钮。谢谢你! - 我们会持续关注帖子,从最后一条回复发出后持续7周,之后的回复将被忽略。 如果您之后有相关问题,请另开新帖并引用已关闭的帖子。 -------------------------------------------------------------------------------
View full article
i.MX8 PCIe RC PERSTの外部プルダウン設計に関する技術的問い合わせ 背景: 現在、PERST#はi.MX8の通常のGPIOによって制御されており、外部プルアップ抵抗やプルダウン抵抗は追加されていません。電源投入時のブートROM/SPLステージでは、GPIO PADは初期化されず、高インピーダンスのフローティング状態のままです。ノイズの多い環境では、ピンレベルがトグルし、PCIeエンドポイントデバイスの異常リセットが発生してリンクが確立されません。フローティングノイズを除去するために外部抵抗を追加することを計画しており、2つの案を作成しました。NXPの公式見解を伺いたいと考えています。 スキーム1:プルアップ抵抗を3.3Vに接続する ブートローダーがGPIOを設定する前は、PADは高インピーダンス状態にあります。PERST#は連続的にハイに引き出され、リセットは早期に解除されるため、PCIe CEM仕様のTPV_PERSTのタイミング要件を満たせません(PERST#は電源が安定した後、少なくとも100msはアサート状態を保たなければなりません)。これにより電源オンの信頼性が低下しますか?NXPはこの方式を承認していますか? スキーム2:プルダウン抵抗をGNDに接続する ブート段階ではPERST#は低く保たれ、電源オン時のリセットタイミング要件を満たすことができます。しかし、通常システム動作中にプルダウン抵抗と外部ノイズの組み合わせでPERST#が予期せず低く引き込まれ、予期せぬデバイスリセットを引き起こす懸念があります。このリスクは現実的なのでしょうか?NXPはどのくらいの抵抗値を推奨していますか? 重要な質問: 公式に推奨されているシナリオ、つまりi.MX8 GPIOがPERST#を制御する場合、NXPは外部プルダウン抵抗の追加を許可していますか、それとも外部プルアップ/プルダウン抵抗を明示的に禁止していますか?PERST#を生成するためにPORハードウェア遅延回路を使用することは推奨されますか? ご返信をお待ちしております。ありがとう!       Re: Technical Inquiry External Pull--down Design for i.MX8 PCIe RC PERST EPの場合、EPの電源はRCによって制御され、RCがEPの電源をオンにするとRSTもRCで制御され、電源投入のタイミングが達成されます。あなたの用途では、EPをIMX8と一緒に電源を入れ、その後EPの電源アップシーケンスに合わせて外部10kプルダウンを追加するのが推奨されています。あなたが言及したノイズ効果(RSTのフローティングによるもの)については、外部10k電源ダウンによって除去されます。(他に強力な外部懸垂器具がない場合)。    
View full article
技术咨询:i.MX8 PCIe RC PERST 的外部下拉设计 背景: 目前,PERST# 由 i.MX8 的一个普通 GPIO 引脚控制,未添加任何外部上拉或下拉电阻。在上电启动期间,在 Boot ROM/SPL 阶段,GPIO PAD 引脚未初始化,处于高阻抗浮空状态。在噪声环境下,引脚电平会发生翻转,导致 PCIe 端点设备异常复位,从而阻止链路建立。我们计划添加外部电阻以消除浮空噪声,并已设计了两种方案;希望获得 NXP 的官方意见。 方案一:将上拉电阻连接到 3.3V 在引导加载程序配置 GPIO 之前,PAD 处于高阻抗状态;PERST# 持续被拉高,RESET 信号提前释放,因此无法满足 PCIe CEM 规范中 TPV_PERST 的时序要求(电源稳定后,PERST# 必须保持有效至少 100 毫秒)。这会导致上电不稳定吗?NXP 是否认可这种方案? 方案二:将下拉电阻连接到地线 在启动阶段,PERST# 保持低电平,这可以满足上电复位时序要求。然而,令人担忧的是,在系统正常运行期间,下拉电阻与外部噪声结合可能会意外地将 PERST# 拉低,从而触发设备意外复位。这种风险是否真实存在?NXP 推荐使用多大的电阻值? 关键问题: 在官方推荐的方案中,当 i.MX8 GPIO 控制 PERST# 时,NXP 是否允许添加外部下拉电阻,还是明确禁止使用外部上拉/下拉电阻?是否建议使用 POR 硬件延迟电路来生成 PERST#? 我们期待您的回复。谢谢你!       Re: Technical Inquiry External Pull--down Design for i.MX8 PCIe RC PERST 对于 EP,预期行为是 EP 的电源由 RC 控制,当 RC 打开 EP 的电源时,RST 也由 RC 控制,这样就能满足上电时序要求。对于您的应用,EP 与 imx8 同时上电,因此建议的连接方式是添加外部 10k 下拉电阻以满足 EP 的上电顺序。对于您提到的噪声影响(由 RST 浮空引起),外部 10k 下拉电阻可以消除它。(如果没有其他强大的外部拉力作用的话)。    
View full article
S32K118割り込み こんにちは、皆さん。 LPTIタイマーまたはLPTMR0タイマーに割り込みを設定しようとしています。 両方のタイマーは正しく動作しています(終了カウントフラグは安定します)が 割り込みを取得する方法がない。 評価ボードとS32DS IDEを使ってS32K118っています。 どなたか助けていただけますか? よろしくお願いいたします。 Re: S32K118 Interrupts 「S32SDK_S32K1xx_RTM_4.0.2.exe」をインストールすることで割り込みの例も入手できます。 Re: S32K118 Interrupts ハイ S32DS v3.4のS32K1 SDK 4.0.3にあるLPITおよびLPTMR割り込みの例を参照してください。 lpit lptmr interrupt S32K1 SDK RTM 4.0.3.png よろしくお願いします、 ロビン ------------------------------------------------------------------------------- 注記: この投稿があなたの質問への回答になっている場合は、「正解としてマーク」ボタンをクリックしてください。ありがとう! - 前回の投稿から7週間Threadをフォローしており、その後の返信は無視しています もし後で関連する質問があれば、新しいThreadを開き、閉じたThreadを参照してください。 -------------------------------------------------------------------------------
View full article
i.MX8M-Plus RDC Sema42 クラスター内分離 i.MX8M-PlusのRDCを使用して、A53クラスタ内のコアを分離したいと考えています。RDCセマフォを使って、A53クラスターから特定のCPUが周辺機器にアクセスするのを禁止することは可能でしょうか? Rev 3 IMX8MPRMリファレンスマニュアルには、ゲートレジスタRDC_SEMAPHOREx_GATEnにおけるGTFSMフィールドの動作について明確ではありません(セクション3.2.6.1)。ロックドメインを知らせるための2ビットと、セマフォをロックしている「プロセッサ」を知らせるための4ビットがあります。 「プロセッサ」とはクラスタ(A53、M7)ですか、それともクラスタ内のコアですか? もしA53クラスターのcore0がセマフォをUART1にロックした場合、core1...3はUART1にアクセスできるのでしょうか? Re: i.MX8M-Plus RDC Sema42 for intra-cluster isolation No. i.MX8M Plusでは、RDCセマフォ「プロセッサ」はバス・マスタ/RDCマスターであり、個別のA53コアではありません。A53クラスタはRDC目的で1つのA53プラットフォームマスター/ドメインとして表示されます。A53クアッドコアクラスタは単一のマスタードメインとして扱われ、つまり4つのA53コア(core0~core3)すべてが同じRDCドメインに属します。その結果、Sema42セマフォのGTFSMフィールドは、どのドメイン(例えば、A53クラスタ対M7コア)がロックを保持しているかを識別するのであって、クラスタ内のどの個々のコアがロックを保持しているかを識別するわけではありません。 したがって、A53 core0がUART1のセマフォをロックした場合、A53 core1–3はそのRDCセマフォによって個別にブロックされません。同じA53/RDCドメインにいる場合はUART1にもアクセスできます。 クラスタ内コア分離には、ハードウェアのRDC/Sema42ではなく、OSレベルのリソース管理やスピンロックなどのソフトウェアレベルの仕組みに依存する必要があります。 Re: i.MX8M-Plus RDC Sema42 for intra-cluster isolation ご回答ありがとうございます。 i.MX 8QuadMaxには2つのコア複合体(A53とA72)があります。xRDC2を使用してこれら2つのコア複合体を分離することは可能でしょうか? Re: i.MX8M-Plus RDC Sema42 for intra-cluster isolation はい、A53とA72の分離は有効なユースケースです。ただし、それらを別々のSCFWリソースパーティションとしてモデル化し、それに応じてリソースを割り当てる場合に限ります。これは、A53 core0をA53 core1から分離しようとするのとは異なり、xRDC2はそのような目的で設計されていません。
View full article
S32K3XXがLWIPプロトコルスタック上で自身のIPアドレスを確立できない問題について。 こんにちは: S32DSで独自のローカルIPアドレスを作成し、LWIPプロトコルスタックでローカルIPアドレスを無効にしましたが、上の右下の画像に示すように、シングルステップデバッグ中に接続確立に失敗するエラーが発生します。何が問題なのでしょうか?設定が不足しているのでしょうか?ローカルIPアドレスの作成は許可されておらず、プロトコルスタックで設定する必要があるということでしょうか? お忙しい中、お返事いただき、改めてありがとうございました! 回复: 关于S32K3XX 在LWIP 协议栈上自己建立IP地址无法建立的问题 こんにちは、@sunshine88 さん。 はい、 Enable iface は選択されたままでなければなりません。なぜなら、生成された設定はイーサネットインターフェースの初期化とlwIP接続に必要だからです。したがって、インターフェースを無効にして自分の netif_add() コールだけで作成するのは、この例では正しいアプローチではありません。 初期テストでは、TCP/IPスタック設定ページで静的IPv4アドレス、サブネットマスク、ゲートウェイを設定し、コードを再生成してください。 インターフェースが初期化された後もIPアドレスはプログラム的に変更可能ですが、生成されたインターフェース構成自体は省略してはなりません。 よろしくお願いいたします。 パベル 回复: 关于S32K3XX 在LWIP 协议栈上自己建立IP地址无法建立的问题 前述のとおり、LWIPデモの実行に成功した後は、すべてのIP設定は設定ページから行う必要があります。手動設定は許可されておらず、IP設定を無効にすることもできません。私が使用したS32DSのバージョンはS32 Design Studio for S32 Platform Version: 3.5、RTDのバージョンはV4.0.0です。TCPIP_STACKのバージョンはV1.0.4です。改めて確認しますが、IPアドレスは設定ページで構成する必要があります。無効になっているIP設定ページでは手動で構成することはできません。 スクリーンショット 2026-09-18 164944.png スクリーンショット 2026-09-18 165031.png スクリーンショット 2026-09-18 165228.png 回复: 关于S32K3XX 在LWIP 协议栈上自己建立IP地址无法建立的问题 こんにちは、@sunshine88 さん。 IPv4アドレス自体がこのエラーの原因ではありません。lwIPでは、 netif_add() を介して静的IPv4アドレスを直接提供できます。 デバッガのスクリーンショットによると、 netif_add() はネットワークインターフェースの初期化コールバック ETHIF_INIT が ERR_OK 返さないため、 NULL を返します。したがって、エラーはイーサネットインターフェースまたはその下位ドライバの初期化時に発生し、インターフェースがlwIPに追加される前に発生します。 TCP/IPスタック構成のスクリーンショットでは、 「ifaceを有効にする」オプションが選択されていません。ネットワークインターフェースを有効にし、必要な静的IPv4アドレス、サブネットマスク、ゲートウェイを設定してください。次に、設定を再生成し、対応するS32K3 lwIPの例にある初期化シーケンスを使用します。 アプリケーションで住所を割り当てたい場合は、まず成功 netif_add() 確認してください。 これは初期化の失敗を検出しやすくするだけのものであることにご注意ください。GMAC/イーサネットの基礎設定を修正するわけではありません。 まずは、ネットワーク初期化を変更しずに、あなたのS32K3デバイスとソフトウェアパッケージのバージョンに合わせて元のlwIP例をビルドし実行することをお勧めします。元の例が正常に動作したら、静的IPv4アドレスのみを変更して結果を確認してください。 初期化がそれでも失敗する場合は、以下の情報も提供してください。 正確なS32K3デバイスと評価ボード S32 Design Studio版 RTDおよびTCP/IPスタックパッケージのバージョン ETHIF_INIT の定義と、その関数が返すエラー 変更されていないlwIPの例が同じハードウェアで動作するかどうか 同じ質問が3つの別々のコミュニティ投稿で寄せられたようです。トラブルシューティング情報を一箇所にまとめるため、議論はどちらか一方のフォーラムのみで行ってください。 よろしくお願いいたします。 パベル 回复: 关于S32K3XX 在LWIP 协议栈上自己建立IP地址无法建立的问题 スクリーンショット 2026-09-18 100140.png スクリーンショット 2026-09-18 100315.png スクリーンショット 2026-09-18 100756.png 上記の問題には、アップロードされたコード行が含まれていません。ご確認ください。
View full article
Technical Inquiry External Pull--down Design for i.MX8 PCIe RC PERST Background: Currently, PERST# is controlled by a normal GPIO of the i.MX8, and no external pull-up or pull-down resistor has been added. During power-on startup, in the Boot ROM/SPL stage, the GPIO PAD is uninitialized and remains in a high-impedance floating state. In a noisy environment, the pin level toggles, causing abnormal reset of the PCIe endpoint device and preventing the link from being established. We now plan to add external resistors to eliminate floating noise, and have drafted two schemes; we would like to obtain NXP's official opinion. Scheme 1: Connect a pull-up resistor to 3.3V Before the bootloader configures the GPIO, the PAD is in a high-impedance state; PERST# is pulled high continuously, and the reset is released early, so it cannot meet the timing requirement of TPV_PERST in the PCIe CEM specification (PERST# must remain asserted for at least 100 ms after power is stable). Will this cause unreliable power-on? Does NXP approve this scheme? Scheme 2: Connect a pull-down resistor to GND During the boot stage, PERST# remains low, which can meet the power-on reset timing requirement. However, the concern is that during normal system operation, the pull-down resistor in combination with external noise may unexpectedly pull PERST# low, triggering an unexpected device reset. Is this risk real? What resistor value does NXP recommend? Key Questions: In the officially recommended scenario where an i.MX8 GPIO controls PERST#, does NXP allow adding an external pull-down resistor, or does it explicitly prohibit external pull-up/pull-down resistors? Is it recommended to use a POR hardware delay circuit to generate PERST#? We look forward to your reply. Thank you!       Re: Technical Inquiry External Pull--down Design for i.MX8 PCIe RC PERST For EP, the expected behavior is that the power supply for EP is controlled by RC, when RC turns on the power of EP, the RST is also controlled by RC, then the power-up timing can be met. for your application, the EP is powered on together with imx8, then the recommended connection is to add external 10k pull-down to meet power-up sequence of EP. for the noise effect you mention (caused by floating of RST), it will be eliminated by the external 10k power-down. (if no other strong external pull-up on it).     
View full article
S32K118 Interrupts Hi all, I am triyng to setup an interrupt on LPTI timer or LPTMR0 one. Both timers are running in the correct way (the end count flags will be settled) but no way to get the interrupt. I am using S32K118 evaluation board and S32DS IDE. Can someone help me? Thanks in advance. Re: S32K118 Interrupts You can also get the interrupt examples through installing "S32SDK_S32K1xx_RTM_4.0.2.exe" Re: S32K118 Interrupts Hi Please refer to the LPIT and LPTMR interrupt examples in S32K1 SDK 4.0.3 of S32DS v3.4. lpit lptmr interrupt S32K1 SDK RTM 4.0.3.png Best Regards, Robin ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. -------------------------------------------------------------------------------
View full article
i.MX8M-Plus RDC Sema42 for intra-cluster isolation I would like to use the RDC on i.MX8M-Plus to isolate the cores within the A53 cluster. Is it possible to use the RDC semaphores to disallow certain cpus from the A53 cluster accessing a peripheral? The reference manual IMX8MPRM Rev 3 is not quite clear on how the GTFSM field works in the gate register RDC_SEMAPHOREx_GATEn (section 3.2.6.1). It has two bits to inform about the locking domain and four bits to inform which "processor" is locking the semaphore. Is a "processor" a cluster (A53, M7) or a core within the cluster?  If core0 on A53 cluster locks the semaphore to UART1, can core1...3 still access UART1? Re: i.MX8M-Plus RDC Sema42 for intra-cluster isolation No. On i.MX8M Plus, the RDC semaphore “processor” is a bus master / RDC master, not an individual A53 core. The A53 cluster appears as one A53 platform master/domain for RDC purposes. The A53 quad-core cluster is treated as a single master domain, meaning all four A53 cores (core0–core3) belong to the same RDC domain. As a result, the Sema42 semaphore's GTFSM field identifies which domain (e.g., A53 cluster vs. M7 core) holds the lock, not which individual core within the cluster. So if A53 core0 locks the semaphore for UART1, A53 core1–3 are not individually blocked by that RDC semaphore. They can still access UART1 if they are in the same A53/RDC domain. For intra-cluster core isolation, you would need to rely on software-level mechanisms (such as OS-level resource management or spinlocks) rather than the hardware RDC/Sema42. Re: i.MX8M-Plus RDC Sema42 for intra-cluster isolation thanks for your response. the i.MX 8QuadMax has two core complexes (A53 and A72). is it possible to use xRDC2 to isolate between the two? Re: i.MX8M-Plus RDC Sema42 for intra-cluster isolation Yes, A53-vs-A72 isolation is a valid use case, provided you model them as separate SCFW resource partitions and assign resources accordingly. It is different from trying to isolate A53 core0 from A53 core1, which xRDC2 is not designed to do.
View full article
关于S32K3XX 在LWIP 协议栈上自己建立IP地址无法建立的问题 你好:            现在我在S32DS 中中自己建立本机IP地址,设置LWIP协议栈中本地IP地址失效,但是单步调试时会报错,无法建立链接,如上最下面右侧所示,请问问题出在哪里?是缺少什么设置吗?难道时不允许自己建立本地IP,必须在协议栈中配置吗?          再次感谢在百忙之中回复! 回复: 关于S32K3XX 在LWIP 协议栈上自己建立IP地址无法建立的问题 你好@sunshine88 , 是的,必须保持选中状态以启用接口,因为需要生成的配置来初始化以太网接口并将其连接到 lwIP。因此,禁用接口并仅通过您自己的 netif_add() 调用来创建它,对于此示例来说不是正确的方法。 为进行初始测试,请在 TCP/IP 协议栈配置页面上配置静态 IPv4 地址、子网掩码和网关,然后重新生成代码。 接口初始化后,IP 地址仍然可以以编程方式更改,但生成的接口配置本身不能省略。 顺祝商祺! 帕维尔 回复: 关于S32K3XX 在LWIP 协议栈上自己建立IP地址无法建立的问题 如上所述,跑通LWIP Demo后所有IP 配置工作必须在配置页配置不可以自己配置,也不可失能IP配置。我用的S32DS版本是S32 Design Studio for S32 Platform Version: 3.5, RTD 版本是V4.0.0,  TCPIP_STACK 版本是V1.0.4  。我再次确认一下,必须在设置叶配置IP地址呗。不能失能IP配置页自己配置! 屏幕截图 2026-09-18 164944.png 屏幕截图 2026-09-18 165031.png 屏幕截图 2026-09-18 165228.png 回复: 关于S32K3XX 在LWIP 协议栈上自己建立IP地址无法建立的问题 你好@sunshine88 , IPv4 地址本身并不是造成此错误的原因。lwIP 允许通过 netif_add() 直接提供静态 IPv4 地址。 根据调试器截图, netif_add() 返回 NULL ,因为网络接口初始化回调函数 ETHIF_INIT 没有返回 ERR_OK 。因此,故障发生在以太网接口或其底层驱动程序初始化期间,在将接口添加到 lwIP 之前。 在您的 TCP/IP 协议栈配置截图中, “启用接口”选项未被选中。请启用网络接口,并在该接口上配置所需的静态 IPv4 地址、子网掩码和网关。然后重新生成配置,并使用相应的 S32K3 lwIP 示例中的初始化序列。 如果您仍然想在应用程序中分配地址,请先验证 netif_add() 是否成功。 请注意,这只是使初始化失败更容易被检测到。它无法修正底层 GMAC/以太网配置。 我建议首先针对您的 S32K3 设备和软件包版本构建并运行原始的 lwIP 示例,不要修改其网络初始化。如果原示例运行正常,则仅更改静态 IPv4 地址并确认结果。 如果初始化仍然失败,请同时提供以下信息: 精确的 S32K3 设备和评估板 S32 设计工作室版本 RTD 和 TCP/IP 协议栈软件包版本 ETHIF_INIT 的定义以及该函数返回的错误 未经修改的 lwIP 示例是否能在相同的硬件上运行 同一个问题似乎在三个不同的社区帖子中被提交了。为了将故障排除信息集中在一个地方,请只在一个地方继续讨论。 此致敬礼, 帕维尔 回复: 关于S32K3XX 在LWIP 协议栈上自己建立IP地址无法建立的问题 屏幕截图 2026-09-18 100140.png 屏幕截图 2026-09-18 100315.png 屏幕截图 2026-09-18 100756.png 上面的问题没有上传代码行,请查看
View full article