Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
S32K3xx FEE 初始化时间 队员们好 能否就 FEE 的这种行为提供反馈意见? 是否预计 Fee_Init 的执行时间每条记录会增加约 1.9 毫秒?这似乎是一个重大延误。 在 Fee_Example_S32K344 中,初始化例程包含一个等待 MEMIF_IDLE 的 while 循环。经过反复的写入和 RESET 周期,此例程所需的时间明显增加。 例如: 一次写入和 RESET 后,初始化大约需要 1.9 毫秒。 在 100 次写入/RESET 周期后,延迟增加到大约 190 毫秒。 我们使用阻塞操作向 FEE 写入数据,以确保成功存储所有数据。 一个简化的方案是这样的 初始化程序 写入 FEE(阻塞操作) 执行应用任务 重置 RESET后,初始化例程需要更长的时间。 我们使用的是 RTD 3.0.0 版未安装任何补丁。 谢谢! BR,丹尼尔 RTD Re: S32K3xx FEE initialization time 你好,我是@danielmartynek、 这很正常。收费驱动程序的工作原理是将用户数据以虚拟块的格式存储到 Fls 内存中。Fls 的每个写入任务都将创建一条记录(块标题 + 用户数据 + 状态有效/无效块)。这意味着更多的写入周期会产生更多的记录。RESET 后,Fee 已初始化(Fee_Init + fee_mainfunction + memacc_MainFunction),这包括扫描 FLS_Memory 中的所有记录以重建区块状态表。因此,写入周期的数量很大,初始化必须扫描、验证记录/块的数量也很大。 顺祝商祺! Nhi Re: S32K3xx FEE initialization time 你好,@Nhi_Nguyen、 我明白你的意思,但每条记录 2 毫秒似乎很高,不是吗? 质量报告中的分析报告实际上以微秒为单位显示时间。 顺祝商祺! 丹尼尔 Re: S32K3xx FEE initialization time 你好,我是@danielmartynek、 实际上,Fee_Init() 只是设置一些全局变量和寄存器,检查 fls 的状态......但初始化任务将包括 {MemAcc_Init(), Fee_Init(), loop of (Fee_Mainfunction(), MemAcc_Mainfunction(), Getstatus to wait fls to idle)}。 循环扫描块的集群标题、块标题、写数据块和写标志状态。 或者 Fee_Write() 只是设置全局变量,但写入任务包括 {Fee_Write(), loop of (Fee_mainfunction(), MemAcc_MainFunction(), GetStatus)} }。 执行这些任务的时间取决于配置:页面大小、频率、缓存、虚拟块大小...... 我尝试在 Fee 示例中运行写入任务,该任务附加在代码包中,数据为 4 字节。耗时 ~ 1 133 毫秒。 分析报告仅针对每个函数的执行时间,而不是任务的执行时间。 顺祝商祺! Nhi
View full article
[RTD] S32K314-在 FlexIO I2C DMA 下丢失最后一个字节 客户报告说,在带有 DMA 的 FlexIO I2C 下,最后一个 RX 丢失了一个字节。 你能建议如何解决这个问题吗。 客户使用 RTD 4.0.0_P24 作为 MCAL 和主站模式 据我估计,这与 NACK/STOP 处理有关。 我找到了以下代码来处理 DMA 结束传输,这是否与数据丢失有关? 如果是这样,用户应该通过中断回调手动调用它吗?或自动调用,无需用户配置。 void FlexIO_I2c_Ip_DmaTransferCompleteNotificationShifter0(void) { #if (STD_OFF == FLEXIO_I2C_IP_DMA_OPTIMIZE_ENABLE) Flexio_I2c_Ip_MasterEndDmaTransfer(0U, 0U,FALSE); #endif /*STD_OFF == FLEXIO_I2C_IP_DMA_OPTIMIZE_ENABLE*/ } /*FUNCTION********************************************************************** * * Function Name : I2C_FLEXIO_2_3_DmaCompleteNotification * Description : Dma complete notification for flexio channel 2_3 * *END**************************************************************************/ void FlexIO_I2c_Ip_DmaTransferCompleteNotificationShifter1(void) { #if (STD_OFF == FLEXIO_I2C_IP_DMA_OPTIMIZE_ENABLE) Flexio_I2c_Ip_MasterEndDmaTransfer(0U, 0U,TRUE); #endif /*STD_OFF == FLEXIO_I2C_IP_DMA_OPTIMIZE_ENABLE*/ } 此外,我还在尝试启用 FlexIO I2C 的 DMA 优化模式。它对丢失的数据有效吗? 客户将所有 FlexIO 通道(0-7)用作 I2C 模式。这种情况下是否可以进行 DMA 优化? 因为 DMA 优化需要额外的 FlexIO 通道和定时器。 如果可以进行 DMA 优化,能否分享一下示例? 谢谢! RTD Re: [RTD] S32K314 - RX last one byte missing under FlexIO I2C DMA 你好@DanNguyenDuy 我通过在每个 DMA 完整回调中添加 flexio_i2c_IP_DMATransferCompleteNotificationShifiter #number 来解决了 RX 中缺失的最后一个字节的问题。 总之,问题是由于 I2C 规范中缺少 STOP/NACK 过程。 在 DMA 正常模式下,由于 STOP/NACK,应在 DMA 完成回调中处理最后一个字节 在 DMA 优化模式下,STOP/NACK 会直接添加到 DMA 缓冲区。所以 DMA 完成回调不是必须的。 回到 Mobis 状态,同步帧异步/同步传输正常,但同步多重传输停滞,无法工作。原因似乎是 DMA 完成回调晚于下一次同步传输。因为在同步传输中增加延迟后,停滞现象消失了。-- 同时,Async 在多次传输中也没有问题。 因此,实际上我应该考虑将"DMA 优化为 FlexIO I2C 的" 。 根据我的经验,DMA 优化需要为 SDA 增加额外的 FlexIO 通道 ,而下面的代码似乎证明了需要增加通道,这也是我设置 DMA 优化模式的关注点。因为所有 FlexIO 通道都已分配。 #if (STD_ON == FLEXIO_I2C_IP_DMA_OPTIMIZE_ENABLE) TimerScl = Master->SclAddChannel; TimerControl = Master->SdaAddChannel; #else TimerScl = SCL_TIMER(ResourceIndex); TimerControl = CONTROL_TIMER(ResourceIndex); #endif 请问如何设置 DMA 优化模式? 为了尽可能详细地优化 DMA,还需要补充哪些内容? 另外,您能为我解答一下同步传输的问题吗? 谢谢。 Re: [RTD] S32K314 - RX last one byte missing under FlexIO I2C DMA 你好@alexyang、 1. 我找到了以下代码来处理 DMA 结束传输,这是否与数据丢失有关? => 不,没有关系。我认为,根本原因很可能是将所有 FlexIO 通道(0-7)都用作 I2C 主模式,这是驱动程序的限制。 客户只需实施一个 I2C 主站即可进行测试。 2.我不确定" DMA优化" 能否解决这个问题。 关于配置DMA 优化,请参阅"3.6.3 FLEXIO DMA 优化" (RTD_I2C_UM.pdf 文件)。用户可参考这些指南。 顺祝商祺! 丹 Re: [RTD] S32K314 - RX last one byte missing under FlexIO I2C DMA @DanNguyenDuy、 你的意思是 DMA 和轮询模式是替代方法吗? 实际上,DMA 似乎不支持 I2C 同步传输。对不对? 请检查 FlexIO I2C DMA 下有关 Async_transfer 的已知问题或相关点。 事实上,我应该说服 MOBIS 在 FlexIO I2C DMA 下只使用 Async_transfer。因此,我应该估计异步传输能力、 Re: [RTD] S32K314 - RX last one byte missing under FlexIO I2C DMA 此外,我还在最后一条评论中找到了同步传输故障的原因。这是由于在Flexio_I2c_Ip_MasterWaitTransferEnd中没有执行 DMA 完成回调的等待代码。 -> 同步传输应等待传输完成。 因此,MOBIS& 我想澄清以下几点 1. 在不修改的情况下,是否可以使用 DMA 正常模式进行多个 FlexIO I2C 同步传输?此外,使用 DMA 正常模式进行多个 FlexIO 异步传输也没有任何问题吗? -> 据我估计,同步传输将作为后台运行,因此它有足够的时间调用 DMA complete 回调。您对此有何看法?Mobis 没有报告同步传输方面的问题。因此,Mobis 希望得到恩智浦的确认,以便使用 DMA 正常模式进行 FlexIO 异步传输。 2.如果同步传输出现问题,原因是否与 Flexio_I2c_Ip_MasterWaitTransferEnd 中的 DMA IRQ 等待传输完成有关? 3.如果上面的 #2 是正确的,那么如何实现它才能完全支持 I2C 同步传输? -> 据我估计,应该实施 DMA IRQ 轮询然后调用 Flexio_i2C_IP_masterenddmaTransfer。 4.在没有额外 FlexIO 通道的情况下,是否可以使用 DMA 优化? -> DMA 优化在我看来是最理想的解决方案,但我在代码审查中遇到了有关 DMA 优化要求的问题。 static Flexio_I2c_Ip_StatusType Flexio_I2c_Ip_MasterWaitTransferEnd(Flexio_I2c_Ip_MasterStateType *Master, uint32 Timeout) { uint32 CurrentTicks = 0u; uint32 ElapsedTicks = 0u; uint32 TimeoutTicks = OsIf_MicrosToTicks(Timeout, FLEXIO_I2C_IP_TIMEOUT_TYPE); Flexio_I2c_Ip_StatusType OsifError = FLEXIO_I2C_IP_SUCCESS_STATUS; switch (Master->DriverType) { case FLEXIO_I2C_IP_DRIVER_TYPE_INTERRUPTS: /* Wait for transfer to be completed by the IRQ */ break; case FLEXIO_I2C_IP_DRIVER_TYPE_POLLING: CurrentTicks = OsIf_GetCounter(FLEXIO_I2C_IP_TIMEOUT_TYPE); /* Call Flexio_I2c_Ip_MasterGetStatus() to do the transfer */ do { OsifError = Flexio_I2c_Ip_MasterGetStatus(Master->FlexioCommon.Instance, (uint8)Master->FlexioCommon.ResourceIndex/2U, NULL_PTR); ElapsedTicks += OsIf_GetElapsed(&CurrentTicks, FLEXIO_I2C_IP_TIMEOUT_TYPE); } while ((FLEXIO_I2C_IP_BUSY_STATUS == OsifError) && (ElapsedTicks < TimeoutTicks)); if (ElapsedTicks >= TimeoutTicks) { OsifError = FLEXIO_I2C_IP_TIMEOUT_STATUS; } break; case FLEXIO_I2C_IP_DRIVER_TYPE_DMA: /* Wait for transfer to be completed by the DMA IRQ */ break; default: /* Impossible type - do nothing */ break; } /* blocking transfer is over */ Master->Blocking = FALSE; if (FLEXIO_I2C_IP_TIMEOUT_STATUS == OsifError) { /* abort current transfer */ Master->Status = FLEXIO_I2C_IP_TIMEOUT_STATUS; Flexio_I2c_Ip_MasterStopTransfer(Master); } (void) Timeout; return Master->Status; } Re: [RTD] S32K314 - RX last one byte missing under FlexIO I2C DMA 你好@alexyang、 1.事实上,DMA 似乎不支持 I2C 同步传输。是这样吗? => 是的,没错。 2.请检查 FlexIO I2C DMA 下有关 Async_transfer 的已知问题或相关点,好吗? = > 在较新的软件包版本中检测到并修复了两个问题。 问题 1:" ARTD-167230:FlexIO IP 层上的某些函数使用了错误的计时器来检查或安装驱动程序何时在 DMA 优化模式 " 下运行。此问题已在 6.0.0 版本中修复。 问题 2:" ARTD-114680:当 Size < =2 " 时,从 dma 优化中移除了轮询模式。删除以下高亮代码后,该问题在 5.0.0 版本中得到了修复。 顺祝商祺! 丹 Re: [RTD] S32K314 - RX last one byte missing under FlexIO I2C DMA @DanNguyenDuy 我很清楚如何指导 Mobis 处理 FlexIO I2C。 事实上,对 Mobis 来说,最好的方法是使用 FlexIO I2C DMA(正常)进行异步传输。 我现在正在说服莫比斯。 非常感谢您! BRs, Alex Yang
View full article
[MPC5777C] e200z759n3コアの命令パイプラインを理解する こんにちは! e200z759n3 コアの命令実行パスを調べているときに、次の疑問が浮かびました。 e200z7 コアリファレンスマニュアルでは、パイプライン実行ユニットの内容についてあまり一貫性がないようです。図 17 では、整数実行ユニットと乗算ユニットが分離されています。ただし、「4.2.1 整数実行ユニット」セクションでは整数の乗算と除算について説明します。セクション「4.6 同時命令実行」では、「デュアル スカラー整数ユニット」の存在について言及されていますが、乗算ユニットについては言及されていません。コアには、任意の整数演算 (合計、乗算、除算など) を実行CAN 2 つの整数実行ユニットがあると思います。私の結論は正しいでしょうか?デュアル発行パイプラインで 2 つの乗算を同時に実行CANか? リファレンスマニュアルに基づいてパイプラインの実行フローを説明し、理解を深めるために、次の図を描きました。何か概念を誤解していましたか? MatheusFranklin_0-1763551946961.jpeg よろしくお願いいたします。 マテウス Re: [MPC5777C] Understanding the instruction pipeline of the e200z759n3 core 1) 確かにそうです、この写真はe200z4に関連しており、これも二重発行です davidtosenovjan_0-1763646194213.png 2) パイプラインの内容自体に依存します。前の回答の写真でCAN確認できます。最初の命令は短いため、次の命令の実行が停止することはありません。2 番目の命令は長いため、3 番目の命令は 2 番目の命令の結果に依存するため、停止が発生します。 3) それは待たなければなりません。 4) 基本的にはそうです。ここでは、コンパイラの最適化レベルによっても影響を受けるCANがあり、コンパイラはデュアルイシューアーキテクチャをより有効に活用するために命令の順序を変更する可能性があります(つまり、最高レベルの最適化を実現するには、命令スケジューリングを使用します。 Re: [MPC5777C] Understanding the instruction pipeline of the e200z759n3 core 返信ありがとうございます、デビッド! さらにいくつか質問があります: パイプラインにはデュアル発行機能があり、実行ユニットには 2 つの整数ユニットがあるため、同じクロック サイクルで 2 つの独立した整数乗算命令または整数除算命令のフェッチ ステージを開始できますか? マニュアルには、加算のような単純な命令を実行する場合、実行ステージが 1 クロック サイクルで終了すると記載されています。WB ステージは E0 ステージの直後のクロック サイクルに入りますか、それともパイプラインの 10 ステージすべてを使用して IF0 から WB サイクル全体を完了するためにアイドル パディングを追加する必要があったのと同じように、さらに 3 つのアイドル クロック サイクルを待つ必要がありますか? 2 つの命令間にデータ依存関係がある場合、宛先命令はソース命令の最後の実行ステージと同じクロック サイクルで実行ステージを開始しますか、それとも次のクロック サイクルまで待つ必要がありますか?フィードフォワードがどのように機能するかがよく分かりませんでした。 命令間のデータ依存性をチェックするのはデコード フェーズなので、すべてのパイプライン ストールは D1 パイプライン ステージと E0 パイプライン ステージの間で発生すると結論付けるのは正しいでしょうか。 よろしくお願いいたします。 マテウス Re: [MPC5777C] Understanding the instruction pipeline of the e200z759n3 core 1) 実行ユニットとは別に独立したものではなく、単にその一部であると思います。 davidtosenovjan_0-1763571010080.png 2) それがまさにあなたが描いた通りであるとはCAN断言できませんが、原則的にはそれは確かに正しく、パイプラインのステージに適合します。 davidtosenovjan_0-1763571569173.png e200 マニュアルを読みやすくするために、次のプレゼンテーションをお勧めします。 https://community.nxp.com/t5/MPC5xxx-Knowledge-Base/e200-Core-Training-relevant-to-MPC55xx-and-MPC56xx-device-family/ta-p/1115124 Re: [MPC5777C] Understanding the instruction pipeline of the e200z759n3 core こんにちは、デビッド! 命令パイプラインのメモリ依存性を理解するために、r6 に関連する依存性を持つ次のコードスニペットのタイミング ダイアグラムを作成しました。 mtctr r5 。ループ: e_addi r6, r6, 1 e_mulli r6, r6, 1 e_bdnz .ループ しかし、図をビルディングしているときに(この返信に添付)、スループットは一定のままであるものの、命令実行のレイテンシが反復ごとに 2 サイクルずつ増加し、上限がないように見えることに気付きました。何か見逃しましたか?パイプラインには、ストール状態で保持される命令の最大数がありますか? 私の図に他に間違いがあれば遠慮なく指摘してください。 よろしくお願いします、 マテウス Re: [MPC5777C] Understanding the instruction pipeline of the e200z759n3 core FF はフィードフォワードを意味し、STALL とは異なります。e200z6 RM も参照することをお勧めします。これは、コアのバリアントが古く、一部のトピックが少し異なる方法で説明されているため、より理解しやすい可能性があります。 davidtosenovjan_0-1764181487696.png https://www.nxp.com/webapp/Download?colCode=E200Z6RMAD&location=null はい、プレゼンテーションは簡素化されるかもしれませんが、大きな違いは見当たりません。 Re: [MPC5777C] Understanding the instruction pipeline of the e200z759n3 core こんにちは! ループの繰り返しごとに、ストール状態で保持される命令の数が 2 つずつ増加し続けているようです。 パイプラインには停止した命令の数に制限がありますか? それらは何らかのバッファに保存されますか? もしSOなら、このバッファにはいくつのエントリがありますか? これは何らかの形で問題バッファに関連しているのでしょうか? 停止した命令が何らかのバッファに保持されている場合、このバッファがいっぱいになり、さらに 1 つの命令が停止するとどうなるでしょうか? よろしくお願いいたします。 マテウス Re: [MPC5777C] Understanding the instruction pipeline of the e200z759n3 core それは正しいと思います。乗算演算に指定されたレイテンシは、3 サイクルまたは 4 サイクルです (4 サイクルごとに結果が得られます)。これは、すべての操作が前の操作の結果に依存し、さらにループ内で実行されるという極めて最悪のCASEであり、実質的にパイプラインが完全に排除されます。これは、パイプラインが完全に存在しない場合と本質的に同じ動作をします。 davidtosenovjan_1-1764149881828.png Re: [MPC5777C] Understanding the instruction pipeline of the e200z759n3 core こんにちは! パイプラインのパディングに関する質問に戻ります。送信された画像のように 4 つの実行ステージすべてを埋めるパディングがない場合、リファレンス マニュアルの図に「FF」パディングが表示されるのはなぜですか?プレゼンテーションの図は簡易版ではないでしょうか? パディングなしのプレゼンテーション図: MatheusFranklin_0-1764159992492.png パディング付きのリファレンス・マニュアルの図: MatheusFranklin_1-1764160213132.png MatheusFranklin_2-1764160230714.png MatheusFranklin_3-1764160250714.png よろしくお願いいたします。 マテウス Re: [MPC5777C] Understanding the instruction pipeline of the e200z759n3 core あなたの図で実際に間違っているのは、常に左側から始めていることだと思います。分かりやすく説明できるか分かりませんが… e200z6 マニュアルの画像を使用すると、命令バッファの後に命令レジスタ (マーク付き) があり、その後にデコード ステージがあります。実行ユニットにストールがある場合、命令を後続のステージに配置できないと、命令バッファ内の命令もデコードできないことを意味します。 理想的には、特定のポイントで各ユニットの正確なステータスを考慮することができます。いずれにしても、図のどこにストールを配置するかは、結果として常に同じパフォーマンスにつながるため、マターではありません。 パフォーマンスはパイプラインのボトルネックによって制限され、このCASEは EU ユニットで停止し、システム全体に影響を及ぼします。 davidtosenovjan_0-1764185117159.png 役に立つかどうかは分かりません。とにかく、なぜそのような正確な詳細を知る必要があるのですか? 実際のコードはこの方法では分析できませんが、この目的のためにパフォーマンス モニターやデバッグ トレースなどのツールが存在します。 Re: [MPC5777C] Understanding the instruction pipeline of the e200z759n3 core こんにちは、デビッド! 共有ハードウェアを介したコア間相互作用が実行時間とリソース消費にどのような影響を与えるかを研究しています。検証のためにパフォーマンス モニターを使用しましたが、以前は結果を理解できませんでしたが、今は理解できます。ご説明いただきありがとうございました! よろしくお願いします、 マテウス
View full article
关于恩智浦 RT595 上的 I2S 信号桥配置 是否可以将 RT595 中的 I2S 信号从 Flexcomm1 输入引脚 J15(I2S BCLK)和 H12(I2S WS)内部路由到 Flexcomm4 输出引脚 A12(BCLK)和 B11(WS)?如果是,应如何配置? 硬件连接: 外部 I2S 音源 -> RT595 I2S 输入 -> RT595 I2S 输出 -> 外部 I2S 扬声器放大器 --RT595 I2S 输入端(Flexcomm1): I2S BCLK -> [J15] PIO0_7/FC1_SCK (FUNC1) I2S WS -> [H12] PIO0_8/FC1_TXD_SCL_MISO_WS (FUNC1) I2S Data -> [H17] PIO0_9/FC1_RXD_SDA_MOSI_DATA (FUNC1) --RT595 I2S 输出端(Flexcomm4): I2S BCLK -> [A12] PIO0_28/ I2S_BRIDGE_CLK_OUT (FUNC5) I2S WS -> [B11] PIO0_29/ I2S_BRIDGE_WS_OUT (FUNC5) I2S Data -> [D14]PIO0_30/FC4_RXD_SDA_MOSI_DATA (FUNC1) 对于 BCLK 和 WS,我们倾向于将这些本地信号从 RT595 输入引脚 (J15/H12) 直接传递到输出引脚 (A12/B11),而不是在 RT595 内部进行再生,以保持 "Ext.Ext.WS"。I2S → RT595 → Ext.AMP "信号路径与外部 BCLK/WS 同步。 以下是我目前的配置,但它不起作用,我在 A12/B11 上没有观察到任何信号。 1.在 pin_mux.c 中将 FC1 J15/H12 设置为 FUNC1 2.将 FC4 A12/B11 设置为 FUNC5 3.配置桥接器 ---------------------------------------------------------------- /* --- i2s 桥接器:将外部 Flexcomm1 SCK/WS 路由至 Flexcomm4 和桥接引脚 --- */ I2S_BRIDGE_SetShareSignalSrc(kI2S_BRIDGE_ShareSet0, kI2S_BRIDGE_SignalSCK, kI2S_BRIDGE_Flexcomm1); I2S_BRIDGE_SetShareSignalSrc(kI2S_BRIDGE_ShareSet0, kI2S_BRIDGE_SignalWS, kI2S_BRIDGE_Flexcomm1); I2S_BRIDGE_SetFlexcommSignalShareSet(kI2S_BRIDGE_Flexcomm4, kI2S_BRIDGE_SignalSCK, kI2S_BRIDGE_ShareSet0); I2S_BRIDGE_SetFlexcommSignalShareSet(kI2S_BRIDGE_Flexcomm4, kI2S_BRIDGE_SignalWS, kI2S_BRIDGE_ShareSet0); /* --- Init RX Interface (I2S1, Slave, from External I2S) --- */ I2S_RxGetDefaultConfig(&rxFromExti2sConfig); rxFromExti2sConfig.masterSlave = kI2S_MasterSlaveNormalSlave; I2S_RxInit(I2S1,&rxFromExti2sConfig); /* --- Init TX Interface (I2S4, Slave, to speaker Amp) --- */ I2S_TxGetDefaultConfig(&txToAMPConfig); txToAMPConfig.masterSlave = kI2S_MasterSlaveNormalSlave; I2S_TxInit(I2S4,&txToAMPConfig); ---------------------------------------------------------------- 平台:RT595 (MIMXRT595SFFOCR / BGA249) SDK:v25.6 如有任何建议,我们将不胜感激。 音频(PDM | I2S | SAI) Re: About I2S signal bridge configuration on NXP RT595 你好@PASA、 非常感谢您关注我们的产品并使用我们的社区。 我查看了你的代码,觉得有几个部分需要仔细检查。 1:I2S4 应设置为主站。 mayliu1_0-1763608912218.png 2: 您是否配置了 CLOCK_AttachClk(kAUDIO_PLL_to_FLEXCOMMX); 3:你使用的是定制板还是恩智浦开发板。我建议您参考此 SDK 演示"evkmimxrt595_i2s_dma_transfer" 希望它能帮到你。 如果您还有疑问,请告诉我。 敬上 MayLiu
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
什么是“电源”?——入门指南——第四部分:比例测量(日语博客) 正如之前承诺的那样,这次我们将以特别版的形式,解释比例测量(一种用于模数转换器的测量方法),并将其与同样常用的绝对测量进行比较。 “比率测量法”一词可以拆分为“比率”和“公制”。换句话说,比率测量法指的是“一种使用比率的测量方法”。 图 1 为比率测量图像。 blog4-1.png   图 1. 比率测量图像 如图1所示,传感器输出信号设置为传感器电源电压(VCC)的50%。在这种情况下,如果VCC波动,传感器输出信号也会波动。 那么接收传感器输出信号的 AD 转换器部分又如何呢? 由于VCC和参考电压 ( Vref) 是相同的电压,Vin ( AD 转换器的输入信号)和Vref 的波形如图 1 所示。这表明,即使 VCC 波动, AD转换器也会确定Vin始终是Vref的50%。 AD转换器的Vref和GND之间的范围称为动态范围,是指AD转换器可以转换输入值的范围。 如图 1 所示,在比率测量中,动态范围会波动,但动态范围内的 Vin 比率得以保持。 这种特性使得比率测量成为一种进行高精度相对测量的常用技术。 另一方面,比率测量的缺点是它不适合测量绝对值。 绝对值测量是指当输入电压 Vin 波动时,将波动值直接作为转换结果进行判断。这种测量方法称为绝对测量。图 2 为绝对测量示意图。您可以将其与图 1 进行比较,看出区别。当输入电压 VCC 波动时,将波动值直接作为模数转换器 (AD 转换器) 的转换结果进行判断。此外,与比例测量不同,绝对测量的动态范围不会发生波动。   blog4-2.png 图 2. 绝对测量 从电源的角度来看,如果参考电源的电流值不足,记住以下几点就很容易理解了:对于比率测量,会在参考电源中添加电压跟踪器作为传感器电源;对于绝对测量,会添加线性稳压器或开关稳压器。 下次 我们将 介绍 最后一个主题:“PMIC”和“ SBC ”。 以往的文章可从NXP“电源”摘要页面(日语博客)访问,请查看。 ========================= 我们目前无法回复此帖子“评论”部分的评论。 对于由此造成的不便,我们深表歉意。如有任何疑问,请参阅“ NXP技术问题-如何联系我们(日语博客) ”。 (如果您已经是恩智浦的分销商或与恩智浦有合作关系,您可以直接询问负责人。) 如果您想知道“什么是电源?”,本页总结了您需要了解的第一件事。 在第四部分中,我们将解释 AD 转换器的比例测量和绝对测量。 (阅读时间:5分钟) 采购和市场营销中心 日本博客
View full article
TEA19161+19162& 基于 MCU 的 CC-CV 2.5kW 充电器概念设计 队员们好 我正在评估一款 类似于 ST 参考设计(带 M CU 控制的 LLC)的 2.5 kW 48 V CC—CV 充电器 概念 :https://www.st.com/en/evaluation-tools/stdes-2kw5ch48v.html 目标 使用以下器件开发功率级 恩智浦的 TEA19161(LLC谐振控制器)与 MCU用于遥测、保护和 CC-CV 管理。 初步目标 输入:来自 PFC 的 390-400 伏直流电压(或 325-420 伏直流电压,如果需要更宽的范围) 输出:标称电压 48 V,最大电流 ≈50 A(≈2.4-2.5 kW) 调节:CC-CV 过渡平稳,OCP 响应迅速 效率:峰值 ≥92% ,50-100% 负载时 ≥93% 拓扑:全桥 LLC 在次级上具有同步整流,使用 TEA19161 的两个门驱动器输出来生成全桥运行所需的互补信号,并使用外部更强的驱动器来处理更高的栅极电荷和功率级。 关键问题 1.CC-CV 控制概念 我计划实现 两个运算放大器回路一个用于电压检测,另一个用于电流检测(通过分流器)。 The MCU 将动态调整两个参考电平以实现 CC ↔ CV 过渡。然后,来自这两个回路的组合反馈将驱动单个光耦合器返回 TEA19161 以进行初级侧控制。 能否确认这种方法是否与 TEA19161 兼容? 是否与 TEA19161 兼容? 2. 功率可扩展性 重新配置为使用更强的栅极驱动器进行全桥操作后,使用 TEA19161 达到约 2.5 kW 的输出功率是否现实 预先感谢您的支持和任何设计建议,以便使用 TEA19161 + MCU的设计建议。 Re: TEA19161+19162 & MCU Based CC-CV 2.5kW Charger Concept HI 我们只有 LLC 控制器,最新部件是 TEA2226AT | 数字可配置 LLC 控制器 | 恩智浦半导体 但该部件的最大驱动功率为 1KW,因此在您的设计中,应并联两个部件以获得 2KW 功率。您应该添加一些电路,以实现两个控制器的平均/相等电流。
View full article
SDK_25_06_00_RD-RW612-BGA の失敗 拝啓: RD-RW612-BGA ボード:IPA-2A/1A V3 を持っています。 そして、初期 SDKs である SDK_2_13_3_RD-RW612-BGA と、ディレクトリ components/conn_fwloader/fw_bin 内の F/W を使用するとします。 rw61x_sb_wifi_a1.bin または rw61x_sb_ble_a1.bin を使用すると、SDK 2.13.3 の wifi サンプルは問題なく動作します。また、rw61x_sb_wifi_a2.bin/rw61x_sb_ble_a2.bin を使用すると、FW で実行されるサンプルのダウンロードに失敗します。 現在、最新の SDK に移行したいのですが、SDK 25.06 には rw61x_sb_xxxx_a1.bin がなく、rw61x_sb_xxxx_a2.bin しかないことがわかりました。確かに SDK のビルドは問題ありませんが、F/W のダウンロードはすべて失敗します。 SDK 2.13.3 と同様に、SDK 25.06 内の関連する rw61x_sb_xxxx_a1.bin がどこにあるか教えてください。 よろしくお願いいたします。 /ckhsu 製品: WiFi RW6XX プロトコル:BLE→コネクティビティ Re: Fail in SDK_25_06_00_RD-RW612-BGA こんにちは、 問題は、RW612ET/A1IK が製造中止になっていることです。つまり、サポートされなくなったということです。 DanielRuvalcaba_0-1752778880711.png FRDM-RW612 を使用しない場合。弊社のパートナーの別のボードを使用CAN。 よろしくお願いいたします。 ダニエル。 Re: Fail in SDK_25_06_00_RD-RW612-BGA こんにちは、 この答えは、私が持っている V3 ボードでは古い SDK しか使用できず、他の最新の SDK は使用できないことを意味していると思います。それは正しいですか? よろしくお願いいたします。 /ckhsu Re: Fail in SDK_25_06_00_RD-RW612-BGA こんにちは、 推奨される RW612 開発ボードはFRDM-RW612です。ぜひご覧になることをお勧めします。 問題につきましては、古い SoC バリアントである A1 バージョンを使用しています。RD-RW612-BGA ボードの V3 バージョンでは、まだこのバリアントを使用しているようです。V4 は A2 SoC バリアント (FRDM ボードと同じ) を使用します。最新の SDKs リリースには A2 バージョンのみが含まれています。最新の FW を使用するには、ボードをアップグレードする必要があります。 よろしくお願いいたします。 ダニエル。
View full article
在 LPCXpresso55S69-EVK 上使用 Zephyr SDIF 驱动程序时读写性能不佳 在评估 LPC55S69-EVK 时,我注意到与 MCUXpresso SDK 示例相比,Zephyr 的 USB 大容量存储器(使用 SDIF 驱动程序)的读/写速度明显较慢。 基准结果 以下是使用 CrystalDiskMark 8.0.6 进行的性能比较: 1.MCUXpresso SDK 示例 (lpcxpresso55s69_dev_msc_disk_freertos_cm33_core0) [Read] SEQ 1MiB: 10.903 MB/s | RND 4KiB: 4.204 MB/s [Write] SEQ 1MiB: 7.756 MB/s | RND 4KiB: 3.286 MB/s 2.Zephyr(传统 USB 堆栈) [Read] SEQ 1MiB: 1.048 MB/s | RND 4KiB: 0.985 MB/s [Write] SEQ 1MiB: 0.209 MB/s | RND 4KiB: 0.351 MB/s 比 MCUXpresso SDK 慢 ~10 倍。 3.Zephyr(USB 设备下一个堆栈) [Read] SEQ 1MiB: 1.676 MB/s | RND 4KiB: 1.489 MB/s [Write] SEQ 1MiB: 0.628 MB/s | RND 4KiB: 0.830 MB/s *速度仍比 MCUXpresso SDK 慢 ~5-6 倍。* 调试尝试 已启用 ZephyrSDHC& SD 卡日志 - 未检测到错误。 确认 SD 卡初始化(3.3V、50MHz 时钟、正确的块大小)。 日志显示 SDIF 时钟配置成功(24MHz → 50MHz)。 [00:00:00.000] sd: sd_init_io: Host controller support 3.3V max [00:00:01.000] sdif: mcux_sdif_set_io: SDIF clock set to 400000 [00:00:01.376] sd: sdmmc_read_csd: Card block count 124735488, block size 512 [00:00:01.376] sdif: mcux_sdif_set_io: SDIF clock set to 24000000 [00:00:01.379] sd: sdmmc_set_bus_speed: Setting bus clock to: 50000000 环境 板:LPC55S69-EVK Zephyr 版本: commit :c2d52c7f4b53a3e3691a7e6fa15af83ef72446cc(4.1.99) 我需要修改 Kconfig 选项或覆盖层吗? 如果有任何进一步调试的见解或建议,我将不胜感激 提前感谢! Re: Poor Read/Write Performance with Zephyr SDIF Driver on LPCXpresso55S69-EVK 感谢您的建议。 尽管进行了各种优化和更改,我所能达到的最佳速度仍为 3.1 MB/s。您找到性能问题的根本原因了吗?坦率地说,如果不解决根本问题,我怀疑仅靠任何系统调整都无法让我们达到最佳性能。 维曼沙 Re: Poor Read/Write Performance with Zephyr SDIF Driver on LPCXpresso55S69-EVK 你好@wima88 您还可以尝试另一种 USB 优化方法。 CONFIG_UDC_BUF_COUNT=128 CONFIG_UDC_WORKQUEUE_STACK_SIZE=2048 CONFIG_UDC_WORKQUEUE_PRIORITY=0 BR 哈利 Re: Poor Read/Write Performance with Zephyr SDIF Driver on LPCXpresso55S69-EVK 嗨,哈里 、 感谢您的回复。使用建议的 Konig 选项,我的速度达到了 2.54 MB/s。 [Read] SEQ 1MiB (Q= 1, T= 1): 2.516 MB/s [ 2.4 IOPS] <412859.66 us> RND 4KiB (Q= 1, T= 1): 2.033 MB/s [ 496.3 IOPS] < 2011.94 us> 我在想,会不会是 USB 栈造成了瓶颈? Re: Poor Read/Write Performance with Zephyr SDIF Driver on LPCXpresso55S69-EVK 你好@wima88 请尝试添加以下优化功能 CONFIG_MCUX_SDIF_DMA_BUFFER_SIZE=512 CONFIG_SPEED_OPTIMIZATIONS=y CONFIG_SDIO_STACK=y CONFIG_MPU=n CONFIG_ASSERT=n CONFIG_LOG=n CONFIG_LOG_DEFAULT_LEVEL=0 BR 哈利 Re: Poor Read/Write Performance with Zephyr SDIF Driver on LPCXpresso55S69-EVK 你好@wima88 我们正在调查这个问题,一旦有结果,我会立即通知您。 BR 哈利 Re: Poor Read/Write Performance with Zephyr SDIF Driver on LPCXpresso55S69-EVK @Harry_Zhang这个问题有什么新进展吗?我测试了FRDM-MCXN947(使用 Zephyr),它使用 imx 驱动程序而不是 lpc 驱动程序。结果与上述基本相同 谢谢  Re: Poor Read/Write Performance with Zephyr SDIF Driver on LPCXpresso55S69-EVK 嗨,哈里 、 您好, 我使用 CrystalDiskMark 作为基准测试工具(https://crystalmark.info/en)。以下是我的设置和过程: MCUXpresso SDK 设置: 修改跳线 P4电压从 1.8V 升至 3.3V (根据用户指南表 1,P21)。 通过VSCode 中的 MCUXpresso 扩展,下载 SDK 示例(v25.03.00) 。 版本并刷新了 lpcxpresso55s69_dev_msc_disk_freertos_ cm33_core0 示例 。 RESET后,串行终端显示提示: "请插入磁盘。" 使用的是 SanDisk Class 3 V30 SD 卡。 连接 P9(HS-USB) 并配置 CrystalDiskMark (见所附截图)。 57ecc5a0-a2cc-4775-be4c-74ff59cc81ae.jpg Screenshot 2025-06-25 105150.png   已测试: 1MB 区块大小 1 个队列,1 个线程 32MB 文件的 9 次迭代 Zephyr 设置: 使用与上述相同的开发环境。 传统 USB 堆栈: 例如: zephyr/samples/subsys/usb/mass 未作修改。 版本命令: west build -p -b lpcxpresso55s69/lpc55s69/cpu0 west flash USB 下一个堆栈: 修改 next_usb_prj.conf 如下: CONFIG_DISK_ACCESS=y CONFIG_FILE_SYSTEM=y CONFIG_FAT_FILESYSTEM_ELM=y CONFIG_PRINTK=y CONFIG_DISK_DRIVERS=y CONFIG_DISK_DRIVER_SDMMC=y CONFIG_SDHC_LOG_LEVEL_DBG=y CONFIG_SD_LOG_LEVEL_DBG=y CONFIG_LOG_BUFFER_SIZE=2048 CONFIG_USBD_MSC_STACK_SIZE=4096 CONFIG_USBD_MSC_LUNS_PER_INSTANCE=5 CONFIG_USBD_MSC_SCSI_BUFFER_SIZE=2048 版本命令 west build -p -b lpcxpresso55s69/lpc55s69/cpu0 -- -DCONF_FILE=usbd_next_prj.conf west flash 测试: 这三个案例都使用了 相同的 CrystalDiskMark 设置 。 两个 Zephyr 示例均未使用覆盖文件 。 如果您需要更多细节,请告诉我!   谢谢! Re: Poor Read/Write Performance with Zephyr SDIF Driver on LPCXpresso55S69-EVK 你好@wima88 请问如何测试? 我想测试一下。 BR 哈利
View full article
QCA9377 在安卓 11 上支持 wifibt 模块 你们好 我注意到在 imx8mm-evk 板上,安卓 10(imx-android-10.0.0_1.0.0_1.0.0.tar.gz)支持 qca9377 wifibt 模块,而安卓 11(imx-android-11.0.0_2.4.0.tar.gz)或安卓 12(imx-android-12.0.0_1.0.0.tar.gz)不支持 qca9377 wifibt 模块。 我有一块基于 imx8mm soc 和 qca9377 wifibt 模块的板,想介绍一下安卓 11 和安卓 12 下的 qca9377 wifibt 模块功能。 我已尝试移植 qca9377 无线驱动程序(qcacld-2.0)。安卓 10 (imx-android-10.0.0_1.0.0.0.tar.gz) 到安卓 11 (imx-android-11.0.0_2.4.0.tar.gz)、但内核升级会导致大量的构建错误。到目前为止,我看到的变化与内核有关,例如电源管理单元功能、时间函数和 DMA 函数。我放弃了这项工作,因为我发现有些改动非常关键,而且在新的内核应用程序接口中找不到相应的用法。 恩智浦能否在未来的安卓 11/12 和更高版本中为 qca9377 wifibt 模块提供支持?或者我可以从哪里获得支持? 顺祝商祺! Johnson i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: qca9377 wifibt module support on android 11 您好@zhangjunsheng & @Dhruvit 您找到解决这个问题的办法了吗? 如果是,请在此提供解决方案和文件。 我们也面临着同样的问题。 感谢并问候 Deepak Kumar Beniya Re: qca9377 wifibt module support on android 11 你好,德鲁维特    感谢您的回复。 是的,我们也在联系供应商。 顺祝商祺! Johnson Re: qca9377 wifibt module support on android 11 你好@张军生、 请向供应商咨询,他们能否为您提供移植到 Android 11 或 Android 12 的支持? 此外,请查看《Android 供应商 HAL 指南》以获取更多信息。 谢谢! 敬上, Dhruvit。
View full article
SC18IS602B アクセスの問題 こんにちは、 当社には、一般的なコマンド セットに従う i2c アクセスを備えた Realtek ベースの PCB があります。SC18IS602B をブリッジとして使用して SPI デバイスを接続したいと考えています。ブリッジにアクセスして、ベンダーの製品コードや、デバイスがブリッジにCAN接続できることを確認するその他の検証などの情報を表示したいと考えています。私のボードのコマンド セットは次の構文に従います:- i2c set ; i2c get 。 SC18IS602Bのマニュアルを読みましたが、読み取り可能なメモリは表示されません。さらに、I2C コマンドの 'reg' フィールドに何を書き込めばよいかわかりません。ハードウェア チームによると、A2A1A0 ピンは 0 に設定されており、これはデバイス アドレスが 0x28 であることを意味していると思います。SC18IS602B デバイスからの情報を読み取るのにご協力ください。 通信と制御(I3C | I2C | SPI | FlexCAN | イーサネット | FlexIO) Re: SC18IS602B Access Issue こんにちは@TomasVaverka このマターについてご協力いただけませんか?私はほぼ1週間それにこだわっています。 Re: SC18IS602B Access Issue こんにちは@TomasVaverka 返信ありがとうございます。 マニュアルのその部分を見ました。しかし、私の特定のCASEではそれを使用できません。以下のログは私が搭載で試したものです。 RTK.0> i2c set write-buffer pos 0 data 5100010203 // My PCB's buffer 0x51, 0x01, 02, 03, 04> バッファから 4 バイトのデータを読み取ろうとしています。 RTK.0> i2c show write-buffer // 検証用です。 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 0000 51 00 01 02 03 00 00 00 00 00 00 00 00 00 00 00 0001 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0002 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0003 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0004 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0005 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0006 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0007 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0008 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0009 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0011 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0012 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0013 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0014 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0015 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0016 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0017 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0018 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0019 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 001a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 001b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 001c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 001d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 001e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 001f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 RTK.0> RTK.0> i2c set port 0 dev 0x28 reg 0 write-buffer count 5 // SC18IS602Bデバイスに送信 RTK.0> i2c get port 0 dev 0x28 reg 0 count 10 // SC18IS602B バッファを読み取ろうとしています dev: 0x28、reg: 0x0 で始まる 0000 ----------------------------------------------------------------------- 00000000 00000001 00000002 00000003 00000004 00000005 00000006 00000007 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ----------------------------------------------------------------------- 00000008 00000009 0000000a 0000000b 0000000c 0000000d 0000000e 0000000f 00000000 00000000 私は正しい道を歩んでいるだろうか? Re: SC18IS602B Access Issue こんにちは、 A2、A1、A0 ピンがすべて 0 に設定されている場合、7 ビットのスレーブ アドレスは実際には 0x28 になり、書き込みの場合は完全なアドレス バイトが 0x50、読み取りの場合は 0x51 になります。 Screenshot 2025-07-28 100521.png I2C メッセージ/データ形式については、データシートの『第 7.1 章.1 および『第 7.1 章.2 を参照してください。 Screenshot 2025-07-28 100828.png 第 8 章にはさらに詳しい説明/例もあります。   Screenshot 2025-07-28 101243.png   BRs、トーマス
View full article
S32N B0ボードはGRAYVIP 1.0.22.0をフラッシュした後、コアの電源が切れました VIPエキスパート様 S32N ボードで GrayVIP_IVT_Enablement_Blob.bin を使用しているときに、Elektrobit からこの問題の報告を受け取りました。 GRAYVIP パッケージ: SW32N5_GRAYVIP_1_0_22_0 RTDパッケージ: SW32N_RTD_R21-11_1.8.0_CD05 再現手順: 1. 使用済み CMM : "C:\NXP\SW32N5_GRAYVIP_1_0_22_0\framework\S32N5\プラットフォーム\ivt\deploy\Write_IVT_Blob.cmm" 使用済み bin : "C:\NXP\SW32N5_GRAYVIP_1_0_22_0\prebuilt\gcc\binaries\GrayVIP_IVT_Enablement_Blob.bin" 2. IVT Blob イメージをフラッシュした後、RTD プロジェクトをコンパイルし、CMM ファイル (例: Mcu_Example_S32N55_CRS) を使用して S32N ボードにフラッシュします。 システム.CPU S32N55 - M7 - CRS トレース.DISable SYStem.MemAccess が拒否されました システム.アタッチ 2秒待つ 壊す SYStem.Attach 後、 Trace32 はコアの電源がオフになっていることを示しました。   MCU の例にデバッグ フォルダーを添付しました。make run -> trigger run.cmm -> device.cmmを実行しました。 上の画像に表示されている行はdevice.cmmからのものです。 RTD チームと話し合いましたが、この問題は、FSS FW がこのボードで正常にフラッシュされなかったか、PMIC チップがG rayVIP_IVT_Enablement_Blob.binファイルにマップされていないためにCAN発生します。 (VR55またはFS04)   GRAY_VIP 優先度: 高 出典: パートナー Re: S32N B0 board got Core powered down after flashing GRAYVIP 1.0.22.0 こんにちは@RaduBraga この問題に対処するために VIP チームから何かアクションはありますか? これは、NXP と Elektrobit 間の統合の障害となります。私は、このチケットの重要性をこのチームに確実に認識させ、積極的にサポートを提供したいだけです。 ElektrobitがPMICチップラベル「FS04 P0」付きのS32N 5 B0ボードを受け取ったという重要な情報がもう1つあります。これはSW32N5_GRAYVIP_1_0_22_0\prebuilt\gcc\binaries\GrayVIP_IVT_Enablement_Blob.binでは動作しないようです。 PMICタイプをPMIC_EXTERNALとして、別のGrayVIP_IVT_Enablement_Blob.binを作成する必要があるようです。この情報をチームに転送していただき、PMIC FS04 P0の新しいBlobイメージをご提供いただけますでしょうか。このトピックについて議論したループメールも添付しました。 Re: S32N B0 board got Core powered down after flashing GRAYVIP 1.0.22.0 こんにちは@cuongnguyenphu 、 チームがこのCASEを引き受け、できるだけ早く回答を提供します。 よろしくお願いします、 ラドゥ
View full article
重新安装 S32DS hi 由于我的错误,我出现了 S32DS 编译错误。(尝试将 RTD 版本从 3.0.0 升级到 5.0.0) 在这种情况下,我卸载了 S32DS。 然后,再次安装 S32DS 3.5 版,但许可证未初始化。 这样我就无法安装 DS。 能否提供 S32DS 的激活码? 谢谢!
View full article
i.mx8MP 安全启动-使用 HSM 签名时出现 HAB 错误 你好,恩智浦、 我正在努力在基于 i.MX8M Plus 的板上启用安全启动。 使用 CST 工具版本 4.0.0 生成的证书、密钥和签名时,安全启动可以正常运行。在这种情况下,运行 hab_status 不会显示任何事件。 但是,在另一板上,当我们尝试使用内部 PKI 环境中生成的证书、密钥和签名进行安全启动时,hab_status 会报告多个错误。 以下是 CSF 文件和我们遇到的 HAB 事件。我们使用"HSM 模式" ,并相应配置了签名大小。 我们希望了解在生成签名时应使用哪些选项或参数,特别是如果我们想使用 OpenSSL 命令模拟这一过程。 提前感谢您的支持。 致以最诚挚的问候, Christophe Guerreiro i.MX 8M | i.MX 8M Mini | i.MX 8M Nano 安全 Re: i.MX8MP Secure boot - HAB errors using HSM Signatures 所以,这里有一个更新。 使用 4 个证书时,SRK_TABLE 似乎更大。 由于我们的签名很大,这会导向大的 CSF 二进制文件,并随着某些内存区域用于其他功能而重叠。 我们需要按照建议尽量减少内容管理系统的内容。 一旦完成,我将更新这里的票据。 Re: i.MX8MP Secure boot - HAB errors using HSM Signatures 嗨,@se_cguerr、 CC@anda_despotovici,@ZeeFrench、 在昨天的通话后,我们成功模拟了您的使用情况,并获得了正确签名的图像。 为回答您的上述问题,下面是使用 OpenSSL 生成 CMS 签名的示例命令: openssl cms -sign -md sha256 -outform DER -nosmimecap -nocerts -binary -in ${csf_sigreq_file} -out ${csf_sig_file} -signer ${csf_crt} -inkey ${csf_key} -passin file:../keys/key_pass.txt 我猜您的命令与通话中显示的命令相同。 根据您的要求,下面是验证生成的签名的命令: openssl cms -verify -in ${csf_sig_file} -inform DER -binary -content ${csf_sigreq_file} -certsout /dev/null -certfile ${csf_crt} -noverify -out verified_csf_output.txt 为 IMG 复制这些命令。 SPL& FIT 的重复签署程序。 就我而言,输出签名大小的大小为 509 字节。 因此,我修改了 CSF 标头,设置为 [Header] Signature Size = 509 关于您的签名室目前的限制--只支持对提供的哈希值进行签名,而不支持对原始内容进行签名,有一个重要的更新值得注意。从 OpenSSL>= 3.2 开始,一项未注明的功能允许使用 -digest 选项传递预先计算的哈希值。 我已经在我这边进行了测试,效果和预期的一样。 更新签署程序: 从外部计算内容的哈希值。 csf_sigreq_digest=$(openssl dgst -sha256 ${csf_sigreq_file} | awk '{printf $2}') 使用 -digest 选项签署预计算的哈希值。 $OPENSSL_PATH/openssl cms -sign -md sha256 -outform DER -nosmimecap -nocerts -binary -digest ${csf_sigreq_digest} -out ${csf_sig_file} -signer ${csf_crt} -inkey ${csf_key} -passin file:../keys/key_pass.txt 验证: $OPENSSL_PATH/openssl cms -verify -in ${csf_sig_file} -inform DER -binary -content ${csf_sigreq_file} -certsout /dev/null -certfile ${csf_crt} -noverify -out verified_csf_output.txt 希望对您有所帮助。与我们联系这是否适合你。 Best Maro Re: i.MX8MP Secure boot - HAB errors using HSM Signatures 请参阅我在第一个帖子中提到的以下文件。 我读过 UG10106。 我们在 HSM 模式下使用 CST,同时收到签名请求。我们在适当的唯一标记上注入签名,然后重建 flash.bin 文件。 该程序适用于由 CST 生成的证书/密钥。 我们不使用 PKCS#11。我们使用的是签字室。 感谢您的快速回复。 Regards, Christophe Re: i.MX8MP Secure boot - HAB errors using HSM Signatures 你好 我无法看到描述中提到的 CSF 文件和 HAB 事件。你能否确认一下你是否遵循了 CST UG 在硬件安全模块中使用 CST 一章中描述的程序?如果没有,您这边是否有需要采取不同方法的地方?谢谢。 安达
View full article
所需的启动动画在多台显示器中显示 大家好, 目前,我们正在恩智浦 MX8MP 平台上使用 Android 14 操作系统",启用多显示器" 功能,即使用一个 DSI MIPI 显示器作为主显示器,另一个是 LVDS 显示器。我们已经成功实现了多屏显示功能,但在启动时,安卓启动动画仅在 DSI MIPI 显示屏上播出,而这个安卓启动动画不会在 LVDS 显示屏上播出。 在这里,我需要在两个显示器上都显示安卓启动动画。怎样才能找到解决办法? 图形与显示 i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus 多媒体 Re: Required Boot animation shows in multiple display 你好@Bio_TICFSL 请尽早提供解决方案。我们等待您的答复已经有一段时间了。 顺祝商祺! 马诺吉-库马尔 Re: Required Boot animation shows in multiple display 你好@Bio_TICFSL 您能帮助我们解决这个问题吗? Re: Required Boot animation shows in multiple display 你好@Bio_TICFSL 感谢您的支持,但问题有所不同。我们正在开发 " 启用多显示器 " 并且我们已经成功实现了这个功能。这里的问题是,我们在主显示器(DSI MIPI)中看到的是安卓启动动画,但是在LVDS显示屏中,安卓启动动画没有出现,启动完成后会直接出现主屏幕。 在这里,我需要在两个显示器上都显示安卓启动动画。怎样才能找到解决办法? Re: Required Boot animation shows in multiple display 你好 要在 Android MX8 系统的两台监测上显示启动映像,您需要配置 U-Boot 启动加载程序和 Linux 内核以支持双显示器。这包括修改设备树文件 (DTB/DTBO),并可能在 U-Boot 中调整启动参数。此外,确保使用两台监测的正确显示驱动程序和配置编译内核至关重要。 1。U-Boot 配置: 设备树: 需要更新设备树(DTB 或 DTBO)以反映两个显示器的存在。这包括启用相应的显示控制器(例如 LVDS、HDMI、MIPI-DSI)以及为每台显示器配置其设置。     启动参数: 在 U-启动 中,您可能需要修改 bootargs 以指定正确的显示配置,并可能为双显示器设置加载正确的 DTB/DTBO 文件。       2.内核配置: 设备树: 还应更新内核的设备树(通常位于 arch/arm64/boot/dts/ 下)以反映双显示器设置,类似于 U-Boot 的更改。     显示选择: 内核需要知道每台显示器要使用哪个显示控制器,这通常是通过设备树完成的。       3.安卓专用步骤: 启动映像: 在对内核和设备树进行必要的更改后,需要重建 Android 启动映像 (boot.img)。此镜像包含内核、虚拟磁盘,可能还包含其他二进制文件。     显示屏初始化: Android 系统需要在启动期间初始化两个显示器,这可能涉及对显示驱动程序和配置设置的特定调用。       4.测试: 初始启动: 刷新新启动映像后,启动系统并观察启动过程。您应该在两个显示屏上看到启动徽标和任何其他启动信息。     显示功能: 验证系统启动进入安卓系统后,两个显示屏都能正常工作,并且可以在两个显示屏上与系统交互。     此致          
View full article
iOSでMifare Plus EV2カードを読み取る こんにちは、おはようございます。 私は、読み取りおよび書き込み操作にセキュリティ レベル 3 の MIFARE Plus EV2 カードを使用するプロジェクトに取り組んでいます。Android の場合、TapLinx ライブラリを使用して認証と読み取りを正常に実行できました。しかし、iOS の場合、そのようなライブラリが存在するかどうかはわかりませんでした。開発センターのドキュメントに記載されていますが、見つけることができません。 さらに、私の理解では、このタイプのカードとセキュリティ レベルの CMAC 計算は公開されていないため、APDU を使用して独自の実装を開発できるかどうかはわかりません。 コード・サンプル サンプル・コード オフライン版 Re: Read mifare plus EV2 cards on ios こんにちは@KennethBarrera あなたの調子が良いといいのですが。 iOS の場合は、 UG10045「TapLinx iOS SDK を使用した開発の開始」およびTapLinx SDK > ダウンロード セクションからダウンロードできる TapLinx ソフトウェア開発キット (TLLIBSDK) を参照できます。 MIFARE Plus EV2 には、ネイティブ コマンド セットまたは ISO/IEC 7816-4 ラッピングのサポートが必要です。ご指摘のとおり、コマンド セットと構造に関するドキュメントは NDA に基づいて保護されており、セキュア ファイルを通じてリクエストする必要があります。 よろしくお願いいたします。 エドゥアルド。
View full article
フィリップスチップのデータシートに記載されている 225595-000 747460 ME HSH9136 AY 「Philips チップ 225595-000 747460 ME HSH9136 AY」のデータシートを探しています ありがとうございます。 Re: datasheet for Philips chip written on it 225595-000 747460 ME HSH9136 AY こんにちは@RayBankoさん、 弊社のデータベースでは、ご提供いただいた情報と一致するものは見つかりませんでした。 チップに関する詳細については、NXP の販売代理店にお問い合わせください。 よろしくお願いいたします。 パブロ
View full article
EE_CopyRecord実行中にハードフォールト例外CFSR.STKOFが発生しました 拝啓、 EE_CopyRecord の実行中にハード エラー例外が発生しています。図からわかるように、この関数の最初の命令を実行するとハード フォールトが発生します。この時点以降、ステップ インを実行すると、システムは直接ハード フォールトになります。デバッグ用に vApplicationStackOverflowHook を実装しようとしましたが、この関数は破棄され、ハードフォールト ハンドラー関数に入ります。 この問題が発生する可能性のある理由を理解するのを手伝っていただけますか? ありがとうございました。 エマヌエーレ Re: Hard fault exception CFSR.STKOF during execution EE_CopyRecord こんにちは、 あなたの調子が良いといいのですが。使用している NXP 製品を明確にしていただけますか? よろしくお願いします、 リカルド
View full article
QSPI 闪存大小 MIMXRT1062 大家好 我正在使用 i.MXRT1062 开发一款产品。 能否使用容量大于 128Mb 的 QSPI 闪存?EVK 使用 128MB QSPI 闪存 请看表 3-1。i.MX RT1060X 处理器参考手册的系统内存映射(CM7)显示,FlexSPI2/FlexSPI2 密文最多可使用 240MB/FlexSPI/FlexSPI 密文最多可使用 256MB。 AndrewChoi_0-1761630401542.png 问:在 i.MX RT1062 上使用或非闪存作为引导设备时的最大可用容量是多少? 谢谢 Re: QSPI Flash Size MIMXRT1062 @AndrewChoi 根据 i.MX RT1060 的系统内存映射,您的看法是正确的。FlexSPI 接口映射到 256 MB 可寻址区域。 问 1: 能否使用容量大于 128Mb 的 QSPI 闪存?RT1060-EVK 板上的尺寸是多少? 答:你可以使用大于 128Mb (16 MB) 的 QSPI 或非闪存。处理器的内存映射为主 FlexSPI 接口 [2] 分配 256 MB 的地址空间(从 0x6000_0000 到 0x6FFF_FFF),允许您连接和直接寻址不超过该大小的闪存设备。MIMXRT1060-EVKB 主板装有 64 Mbit (8 MB) QSPI 或非 闪存,部件号为 IS25WP064AJBLE [1]。 问题 2:在 i.MX RT1062 上使用或非闪存作为引导设备时的最大可用容量是多少? 答:在 i.MX RT1062 上用作引导设备的单个或非闪存的最大容量为 256 MB。该限制由 FlexSPI 控制器的 256 MB 可寻址空间确定。内部启动 ROM 设计用于从连接到该接口的串行或非闪存设备启动,并支持闪存中的就地执行 (XIP)。 参考文献: [1] mimxrt1060evkbum [2] IMXRT1060RM
View full article
カーネルドライバのIIO ADCサンプルコード S32G2 のカーネル ドライバーを使用して、いくつかの IIO ADC 入力チャネルを設定しようとしています。私が従うことができる例があるかもしれないと思っていましたか? 「include / linux / iio」ディレクトリの下の消費者機能を使用してADCのチャネルを要求および設定する必要があるかどうかわかりませんか?チャンネルが設定されると、 ポーリングまたは割り込みを通じて定期的に値をキャプチャし、その値をsysfsドライバーノードに書き込む必要があります。 なお、NXPコミュニティフォーラムやカーネルドキュメント(カーネルバージョン5.15)には、S32Gの例が見つかりませんでした。 どんな援助もありがとう。 Re:カーネルドライバのIIO ADCサンプルコード 提案に従って、NXPの「s32cc_adc.c」のADCコードの一部を実装することにしましたLinuxドライバーを新しいドライバーに。 Re:カーネルドライバのIIO ADCサンプルコード BSP 39.0 とカスタム ボードを使用しています。 また、いくつかのドキュメントを見ると、iio_channelを取得するには、確立されたiio_mapが必要ですか?iio_mapはすでにYoctoで生成されていますか、それともボードのdtsファイルで設定する必要があるものですか?
View full article