Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
S32K344 CAN FD MCAL 你好,恩智浦。 EVB: S32K344 环境S32DS RTD 5.0.0 我正在使用 MCAL 构建 CAN FD 项目。 是否有任何示例项目可供我参考? 谢谢。 Re: S32K344 CAN FD MCAL 你好@IanHsueh 您可以参考 RTD 中的示例。它们与本培训演示中显示的相同:S32K3xx 通信模块:带有 rtd 和低级驱动程序的 flexcan。 这些项目配置为环回,因此需要启用正常/用户模式并初始化收发器输出引脚(CAN_H& CAN_L)。 还有一些社区帖子提供了一些实例: 示例 S32K344 FlexCAN_Ip TX/RX/EnhanceRXFIFO DMA 测试 S32DS3.5RTD400 - NXP 社区 已解决:S32K344 EVB 与 MCAL FLEXCAN TJA1153 - NXP Community 致以最诚挚的问候, Julián
記事全体を表示
New Generation of SPSDK (v3.1) is now available Secure Provisioning SDK (SPSDK) v3.1 is available.  For details, please visit here id:SPSDK [start:Aug 5 2025] [end:Sept 5 2025] announcement
記事全体を表示
LINウェイクアップとタイムアウト こんにちは 私は、LIN_STACK_2.0.5_D2410_DesignStudio_updatesite と RTD_R21-11_5.0.0_D2410_DesignStudio_updatesite を搭載した S32k310 を使用しています。 1) マスターノードがウェイクアップコマンドを送信し、スレーブノードがLinnodeの状態をウェイクアップ信号として検出した際に問題が発生しています。しかし、 LPUART_LIN_IP_RX_ACTIVE_EDGE_DETECTのときにLIN_43_LPUART_FLEXIO_Wakeup関数を呼び出す必要があります。LINウェイクアップ機能がLINスタックでどのように処理されるのかご説明いただけますか? 2) LIN タイムアウトについての詳細を知りたいです。LIN がタイムアウト後にスリープ モードになった後、LIN バスはどのようにして起動しますか? Re: LIN Wakeup and Timeout こんにちは@pchavapr4さん、 私はたまたまベンチに持っていた S32K1xx シリーズでこれをテストしました。テスト プロジェクトはここにあります: https://community.nxp.com/t5/S32K-Knowledge-Base/S32K144-LIN-Go-to-Sleep/ta-p/2136890 S32K310でも同様です。 以下の機能はCAN確認できます: Lpuart_Lin_Ip_IRQHandler 初期化時例外ブレークIRQ() Lpuart_Lin_Ip_ProcessWakeupDetect() Lpuart_Lin_Ip_CheckWakeupSignal()。 BR、ダニエル
記事全体を表示
RT1166/RT1170 MIPI-CSI data convert between RGB888/RGB565 Hi We want to use RT1166/RT1170 to process MIPI-CSI RGB565 16-bit data, we want to receive the RGB56 data to RAM. Reference data:  AN13573  Reference thread: https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/iMXRT1176-MIPI-CSI2-to-UVC-reducing-the-frame-bu...   Method1: Sensor RGB565(A) output --> MIPI RGB565 --> RGB888 MIPI controller will save RGB888 to XRGB8888 PXP can convert XRGB8888 to RGB565(B). I think RGB565(B) should be same as RGB565(A) if we don't modify it between format converts. These conversions will not cause any difference between RGB565(A) and RGB565(B). Is it correct? Methold2: Can RT1166/RT1170 bypass the MIPI-CSI RGB565 data to RAM directly without RGB888 format convert? Regards Ken Re: RT1166/RT1170 MIPI-CSI data convert between RGB888/RGB565 @kensu  Method1: Sensor RGB565(A) output --> MIPI RGB565 --> RGB888 MIPI controller will save RGB888 to XRGB8888 PXP can convert XRGB8888 to RGB565(B). I think RGB565(B) should be same as RGB565(A) if we don't modify it between format converts. These conversions will not cause any difference between RGB565(A) and RGB565(B). Is it correct? A: Good question, I assume it should be correct. I don't have the hardware enviroment, but I suggest that you can refer to this example to setup and print them out.  https://github.com/nxp-mcuxpresso/mcux-sdk-examples/tree/main/evkbmimxrt1170/driver_examples/csi/mipi_rgb/cm7  Methold2: Can RT1166/RT1170 bypass the MIPI-CSI RGB565 data to RAM directly without RGB888 format convert? A: No, it can't. Please see Errata(116x), Erra(117x) to find below info, 'Due to an issue in the Video Mux Controller (VIDEO_MUX), raw data and YUV422 (10 bit) formats to the MIPI_CSI2 block are not supported ', it means: if the input data format is  RGB565, the MIPI_CSI converts it to RGB888 internally and sends to CSI. In other words, the CSI input data bus width is 24-bit. The CSI saves the frame as 32-bit format XRGB8888.' 
記事全体を表示
MPC5746Cのレジスタ保護 これらは、MPC5746C のレジスタ保護の下でロック メカニズムを実装しているモジュールです。 0xFFFB0140, /* CMU------------*/ 0xFFFB0040, /* FXOSC----------*/ 0xFFFB0180, /* MC_CGM --------*/ 0xFFFB8000, /* MC_ME ---------*/ 0xFFFA8000, /* MC_RGM --------*/ 0xFFF50000, /* MEMU_0 -------*/ 0xFFFB0080, /* PLLDIG --------*/ 0xFFFA0400, /* PMCDIG --------*/ 0xFFFC0000, /* SIUL2 ---------*/ 0xFFFB0100, /* SXOSC ---------*/ 0xFFF9C000 /* LPU_CTL -------*/ サンプル1: (0xFFFB0000、オフセット - 0x4、32ビット保護) レジスタ: ME_MCTL (モード制御レジスタ、32 ビット保護、表 77-5 に従ってオフセット 0x4) と一致します。 ベースアドレス: 0xFFFB0000。 保護サイズ: 32 ビット (4 バイトすべてが保護されます)。 計算 通常のアドレス:ベース + オフセット = 0xFFFB0000 + 0x4 = 0xFFFB0004 ミラーアドレス(エリア3) :ベース + 0x2000 + オフセット = 0xFFFB0000 + 0x2000 + 0x4 = 0xFFFB2004 ソフトロックビットアドレス(エリア4) : エリア 4 のオフセット: offset/4 = 0x4 / 4 = 0x1。 アドレス: ベース + 0x3800 + オフセット/4 = 0xFFFB0000 + 0x3800 + 0x1 = 0xFFFB3801。 32 ビット レジスタの場合、4 つの SLB (SLB0 ~ SLB3) すべてが 4 つのバイト (たとえば、0x4 ~ 0x7) を制御します。 ソフトロック オプション 1: ミラー アドレスに書き込む: 0xFFFB2004 に 32 ビットの値を書き込みます (例: モード遷移を開始するには 0x80000000。有効な値については MC_ME の章を参照してください)。 これにより、0xFFFB0004 の ME_MCTL が更新され、0xFFFB3801 の SLBRn レジスタの SLB0 ~ SLB3 が設定されます。 例: *(volatile uint32_t *)0xFFFB2004 = 0x80000000; オプション2: 直接SLB書き込み: SLB0~SLB3を設定するには、0xFFFB3801に書き込みます。 4バイトすべてをロックするには、0xFF(WE0~WE3=1、SLB0~SLB3=1)を書き込みます。 例: *(volatile uint8_t *)0xFFFB3801 = 0xFF; ロック解除 0xF0 を 0xFFFB3801 (WE0~WE3=1、SLB0~SLB3=0) に書き込んで SLB0~SLB3 をクリアし、レジスタのロックを解除します。 例: *(volatile uint8_t *)0xFFFB3801 = 0xF0; ハードロック 0x00000001 を 0xFFFB3FFC に書き込んで GCR.HLB を設定し、リセットされるまで SLB をロックします。 例: *(volatile uint32_t *)0xFFFB3FFC = 0x00000001; 以下は、4 つのアドレス セットすべてが有効化され、CAN R/W なレジスタ セットの例です。 以下は、ベース + オフセットおよびミラー アドレスが有効になっていて R/W がCANで、他のアドレスは設定できないレジスタ セットの例です。 SLB ビットはソフト ロックを確認し、GCR ビットはハード ロックを実装するように設定されているため、これは深刻な問題を引き起こします。 すべての MC_CGM キャップ レジスタで同じ問題が見つかります。 これらの異なる動作の理由は何でしょうか。一部のアドレスは変更可能ですが、その他のアドレスは予約されています。 Re: Register Protection for MPC5746C こんにちは、 いずれかのモジュールをハードロックすると、他のすべてのモジュールも自動的にハードロックされ、低電力モードで問題が発生します。FXOSC/SXOSC と CMU をここでハードロックしたくないためです。 レジスタ保護はPbridgeに適用されます。 PBRIDGE には MC_CGM モジュールがあります。 これにより、ペリフェラルが MC_CGM の下にマップされます。これを解決するには、HLB ではなく SLB を使用する必要があるようです。 HLB は MC_CGM 全体をロックします。 よろしくお願いいたします。 ピーター Re: Register Protection for MPC5746C こんにちは、ピーターさん。 ご協力ありがとうございます。すべてのモジュールに対してソフト ロックと監視 SLB を設定できるようになりました。 ハード ロック GCR ビットに関してもう 1 つ質問があります。あなたの説明によれば、CMU、FXOSC、SXOSC、PLLDIG、MCCGM のすべての MCCGM キャップ モジュールには、1 つの共通ベース アドレス (0xFFFB0000) があるはずです。 77.1.1項によればレジスタ保護構成、注記では低電力モードでの動作について説明します。 前述したように、ベース アドレスが同じ場合、いずれかのモジュールをハード ロックすると、他のすべてのモジュールも自動的にハード ロックされ、低電力モードで問題が発生します。FXOSC/SXOSC と CMU をここでハードロックしたくないためです。 この問題を回避する方法はありますか。 ありがとうございます。よろしくお願いします。 Re: Register Protection for MPC5746C こんにちは、 SLBの結果は次のとおりです。 CMU_LFREFR 32 - アドレスのベースとオフセット CGMモジュールのベースは0xFFFB_0000です CMUオフセットは0x140です CGM LFREFRオフセットはモジュールベースから0x14Cです ミラーへの書き込みを介してCMU_LFREFRのSLBを設定しました よろしくお願いいたします。 ピーター Re: Register Protection for MPC5746C こんにちは。これも機能していません。 CMU_LFREFR 32 オフセット 0xCh 保護サイズ - 16 (バイト 2 と 3) 0xFFFB0000 , /* CMU----------*/ ベースアドレス -0xFFFB000C ミラーアドレス -0xFFFB200C SLB - 0xFFFB3803 GCR - 0xFFFB3FFC Re: Register Protection for MPC5746C こんにちは、 簡単なテストを見る: MC_CMU - CSR ベース アドレス - 0xFFFB014C - これはオフセット アドレスです。基地ではありません。 MC_CMU モジュールのベースは 0xFFFB 0140 です。 ミラーアドレス -0xFFFB214C ベース+オフセット+ミラー SLB -0xFFFB3943 参照マニュアルに記載されている CGM 全体のベース アドレスを取得します。 SO計算は次のようになります。 0xFFFB0000 + 3800 + SLBの位置 GCR - 0xFFFB413C 同上 0xFFFB0000+3FF0 よろしくお願いいたします。 ピーター Re: Register Protection for MPC5746C こんにちは、ピーター。SLB と GCR が動作していないサンプルがいくつかあります。これらのアドレスをチェックして、異なる動作が表示されるかどうかをCAN確認してください。そうでない場合、これらのモジュールに何が問題があるのでしょうか? 1. MC_CMU - 0xFFFB0140 - { MODULE_CMU, 0xC,REG_SIZE_16}, CMU_LFREFR ベースアドレス - 0xFFFB014C ミラーアドレス -0xFFFB214C SLB -0xFFFB3943 GCR - 0xFFFB413C 2. MC_CMU - 0xFFFB0140 { MODULE_CMU, 0x18,REG_SIZE_32}, CMU_MDR ベースアドレス - 0xFFFB0158 ミラーアドレス - 0xFFFB2158 SLB - 0xFFFB3946 GCR - 0xFFFB413C 3. PLLDIG 0xFFFB0080 - { MODULE_PLLDIG, 0x20, REG_SIZE_16}, PLLDIG_PLLCR ベースアドレス - 0xFFFB00A0 ミラーアドレス - 0xFFFB20A0 SLB - 0xFFFB0F5D GCR - 0xFFFB407C 4. PLLDIG 0xFFFB0080 - { MODULE_PLLDIG, 0x28,REG_SIZE_32}, PLLDIG_PLLDV ベースアドレス - 0xFFFB00A8 ミラーアドレス - 0xFFFB20A8 SLB - 0xFFFB388A GCR - 0xFFFB407C 5. PMCDIG 0xFFFA0400 - { MODULE_PMCDIG, 0x0,REG_SIZE_32}, ベースアドレス - 0xFFFA0400 ミラーアドレス - 0xFFFA2400 SLB - 0xFFFA3C00 GCR - 0xFFFA43FC 6. PMCDIG 0xFFFA0400 - { MODULE_PMCDIG, 0x10,REG_SIZE_32}, ベースアドレス - 0xFFFA0410 ミラーアドレス - 0xFFFA2410 SLB - 0xFFFA3C04 GCR - 0xFFFA43FC Re: Register Protection for MPC5746C こんにちは、 PREG_PROT をチェックしたところ、リファレンスマニュアルに記載されているとおりに動作します。 ME_CGMレジスタSC_DC0について: ベース: 0xFFFB0000 + オフセット 7E8 ミラー: 0xFFFB07E8 = ベース (0xFFFB0000) + オフセット (7E8) + ミラー (0x2000) この例では、SC_DC0 フォーム ME_CGM モジュールをソフト ロックでロックしています。 内訳は次のとおりです。 エリア 4: 1.5 KB で、エリア 1 のバイトごとに 1 ビットのソフト ロック ビットを保持します。1 つのモジュール レジスタ ワードに関連付けられた 4 つのソフト ロック ビットは、メモリ マップ内のバイト境界に配置されます。ソフト ロック ビット レジスタは、ビット マスクを使用して直接書き込むCAN。 SO、対応する SLB 設定を確認するには、ソフト ロック ビットの領域を 8 で割る必要があります。 ベース(モジュール)+ 3800 + (エリア1のバイトあたり1ビット) ハードロック ビットの場合は、モジュール全体で 1 つになります。 エリア 5 は 512 バイトの大きさで、保護モードの構成ビットを保持します。モジュールごとに 1 つの構成ハード ロック ビットがあり、これによりソフト ロック ビットへのそれ以上の変更がすべて防止され、一度設定されるとシステム リセットによってのみクリアCANます。他のビットが設定されている場合は、保護されたモジュールへのユーザー アクセスが許可されます。 ベース(モジュールの)0xFFFB0000 + オフセット 3FFC GCRはエリア5の端にあります。 よろしくお願いいたします。 ピーター Re: Register Protection for MPC5746C こんにちは、 テストしてできるだけ早くご連絡いたします。 よろしくお願いいたします。 ピーター
記事全体を表示
新一代 SPSDK(v3.1)现已发布 安全配置 SDK (SPSDK) v3.1 现已推出。详情请浏览此处 id:SPSDK [开始时间:2025年8月5日] [结束时间:2025年9月5日] 公告
記事全体を表示
S32K344 CAN FD MCAL こんにちは、NXP。 EVB: S32K344 環境: S32DS RTD 5.0.0 MCAL を使用して CAN FD プロジェクトをビルディングしています。 参照できるサンプル プロジェクトはありますか? ありがとうございます。 Re: S32K344 CAN FD MCAL こんにちは@IanHsueh RTD の例をCAN参照できます。これらは、このトレーニング プレゼンテーションで示されているものと同じです: S32K3XX 通信モジュール: RTD および低レベル ドライバを備えた FLEXCAN。 これらのプロジェクトはループバック用に構成されているSO、通常/ユーザー モードを有効にし、トランシーバ出力ピン (CAN_H および CAN_L) を初期化する必要があります。 例を示すコミュニティ投稿もいくつかあります。 S32K344 FlexCAN_Ip TX/RX/EnhanceRXFIFO DMAテストの例 S32DS3.5RTD400 - NXPコミュニティ 解決済み: S32K344 EVB と MCAL FLEXCAN TJA1153 - NXP コミュニティ よろしくお願いします、 ジュリアン
記事全体を表示
iMX6 SPI controller slave mode burst length When configured for slave mode, my testing indicates that it ignores the burst length and always transfers 32-bits to/from the FIFO. I notice the manual only mentions master mode when it talks about the burst length. Is this by design?  Anyone have it working for 1 byte per word? I set the burst length to 7 (8 - 1) so the control register was loaded with 0x0070e301 and the cfg register with 0. I load the FIFO with 1 byte per word. On a scope I see each byte sent followed by 3 zero bytes. I expect to see the bytes sent consecutively. Works great with 32-bits per word other than the known SS termination issue. i.MX6_All i.MX6UL 回复: iMX6 SPI controller slave mode burst length I ran into the same problem, the burst length doesn't work in salve mode, the default is 32bit. Re: iMX6 SPI controller slave mode burst length @vg53  Hello,   Yes, it is needed to set the burst length to 64*8-1=511, lower SS line, send all 512 bits, and then set SS line to high.     Note: SS is asserted / negated by SPI master. SPI slave can only analyze this signal. Regards, Yuri. Re: iMX6 SPI controller slave mode burst length Hi @Yuri . We want to use iMX8 SPI in slave mode. We need to transfer a 64 byte packet every 32 us. Do I understand correctly I can set the burst length to 64*8-1=511, lower SS line, send all 512 bits, and then set SS line to high? In the manual, they say the data transfer to FIFO upon the positive edge of SS, so I thought I could transfer only 32 bits in a burst in a slave mode. Thank you  Re: iMX6 SPI controller slave mode burst length Hi @Yuri , I see that the BURST_LENGTH parameter is bits 20-32 on CONTROL REGISTER for IMX6dl Thank you.  Re: iMX6 SPI controller slave mode burst length @Yavuz  Hello,    from the erratum: Slave mode with unspecified burst length cannot be supported due to this issue. The burst length should always be specified with the BURST_LENGTH parameter and the SS_CTL[x] should be set to zero.   There is no workaround except for not using the SS_CTL[x] = 1 option in the Slave mode. The accurate burst length should always be specified using the BURST_LENGTH parameter  Regards, Yuri. Re: iMX6 SPI controller slave mode burst length Hi, @Yuri  how to configure the burst length ?  Regards.  Re: iMX6 SPI controller slave mode burst length Hello,   For the slave mode the maximum length of the single SPI burst is defined by FIFO size or SS negation. But due to errata ERR009535, the slave must configure the burst length to match the total number of bits sent by the master in a single transfer (burst).  Regards, Yuri. Re: iMX6 SPI controller slave mode burst length Commenting on my own post. I notice the Linux driver in the BSP (master mode only) configures the burst length to be the number of bits per word, but the response I received from tech. support case #00163683 leads me to believe that the burst length should be set to the number of bits in the entire transfer (at least in slave mode). If that's true, then burst length has a different definitions in master and slave mode -or- the Linux BSP should not be configuring it as bits per word -or- I'm very confused.
記事全体を表示
iMX6 SPI 控制器从模式突发长度 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我的测试表明,当配置为从属模式时,它会忽略突发长度,并始终向 FIFO 传输 32 位数据/从 FIFO 传输 32 位数据。我注意到,手册在谈到连拍长度时只提到了主模式。 这是故意的吗? 有人能用每个字 1 字节吗? 我将连发长度设置为 7(8-1),因此控制寄存器加载了 0x0070e301,cfg 寄存器加载了 0。我在 FIFO 中加载每个字 1 字节。在作用域上,我看到发送的每个字节后面都是 3 个零字节。我希望看到连续发送的字节。 除了已知的 SS 终止问题外,每个字 32 位的工作性能非常好。 i.MX6_All i.MX6UL 回复: iMX6 SPI controller slave mode burst length 我碰到了同样的问题,在salve模式时burst length不生效,默认就是32bit Re: iMX6 SPI controller slave mode burst length @vg53 你好、 是的,需要将突发长度设置为 64*8-1=511,降低 SS 线,发送全部 512 比特,然后将 SS 线设置为高电平。 注意:SS由SPI主站钳位/否定。SPI 从站只能分析该信号。 Yuri。 Re: iMX6 SPI controller slave mode burst length 嗨,@Yuri. 我们希望在从模式下使用 iMX8 SPI。我们需要每隔 32 秒传输一个 64 字节的数据包。我是否可以将突发长度设置为 64*8-1=511,降低 SS 线路,发送全部 512 位,然后将 SS 线路设置为高电平?手册中说,数据在 SS 的正沿时传输到 FIFO,因此我认为在从属模式下一次突发只能传输 32 位。 谢谢 Re: iMX6 SPI controller slave mode burst length 嗨,@Yuri、 我发现 BURST_LENGTH 参数位于 IMX6dl 控制寄存器上的第 20-32 位 谢谢。 Re: iMX6 SPI controller slave mode burst length @Yavuz 你好、 来自勘误:由于这个问题,无法支持具有未指定突发长度的 从模式。突发长度 应始终使用 BURST_LENGTH 参数指定,SS_CTL[x] 应 设置为零。 除了在从属模式下不使用 SS_CTL[x] = 1 选项外,没有其他解决方法。 精确的脉冲串长度应始终使用 BURST_LENGTH 参数指定 Yuri。 Re: iMX6 SPI controller slave mode burst length 您好, @Yuri如何配置突发长度? 此致敬礼 Re: iMX6 SPI controller slave mode burst length <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好 对于从站模式,单个 SPI 脉冲串的最大长度由 FIFO 大小决定 或 SS 否定。但是 从站必须配置脉冲串长度。 以匹配主站在单次传输(突发)中发送的总位数。 此致, 尤里。 Re: iMX6 SPI controller slave mode burst length <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 评论我自己的帖子。 我注意到电路板支持包(仅限主模式)中的 Linux 驱动程序将突发长度配置为每字的位数,但我从技术人员那里收到了回复。支持案例 #00163683 使我相信,突发长度应设置为整个传输的位数(至少在从属模式下)。如果是这样,那么主模式和从模式下的突发长度有不同的定义——或者——Linux 电路板支持包不应该将其配置为每字位数——或者——我很困惑。
記事全体を表示
I can't get EB29 to activate. Re: EB29怎么都激活不了 Hi. Please refer to S32K3 Tools Part 3: How to Install EB Tresos RTD4_0_0 MCAL Chapter 1.2 EB Tresos Studio 29.0.0 Download. EB Client License Administrator 1.5.1 DNS name in the lower left corner of the interface, be careful not to bring Chinese characters. The activation code is updated every now and then on the download EB page. Click on S32K3 Standard Software - > Automotive SW - EB tresos Studio / AUTOSAR Configuration Tool - > EB tresos Studio 29.0.0 If it still doesn't work, please post a screenshot of the error Best Regards, Robin ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "ACCEPT AS SOLUTION " 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 Please open a new thread and refer to the closed one, if you have a related question at a later point in time. -------------------------------------------------------------------------------
記事全体を表示
i.MX および DDR4 チューニング用の設定ツール。 私たちは新しいカードをデザインしています https://www.nxp.com/part/MIMX8QM6AVUFEAB そして、imx ソフトウェア用の設定ツールを見つけました。 私は2025年6月のリリースを持っています - DDR4 トレーニング ツールを実行するために必要なハードウェア要件がわかりません。 構成ツールは、ツールに統合できる定型コードを生成しますが、それに関するドキュメントはありますか。 また、これを特定のコアで実行できますか? A72 プロセッサ コアのみに電力を供給する予定です。 また、DDR4 には 2 つのシリアル ポート (AP と SCU) をコネクテッドする必要があり、私が見た別のツールでは OTG USB について言及されていましたが、これはイメージをロードするためだと思います。 ハードウェアとソフトウェアの要件をよりよく理解するために勉強できるドキュメントがあれば、誰か教えてくれませんか? どうもありがとう ボリス。 i.MX 8ファミリ | i.MX 8QuadMax (8QM) | 8QuadPlus Re: Config Tools for i.MX and DDR4 tuning. こんにちは@BF2025 i.MX の Config Tool ユーザー ガイドについては、添付ファイルを参照してください。 BR
記事全体を表示
S32K144 ERM flag abnormal settings When i am debug the code, SRAM_U double and single bit error flag will be set and the fault address is weird!!! The maximum available RAM address is 0x20007000 and the fault address is bigger than that! I am so confused Re: S32K144 ERM flag abnormal settings Yes, of course, thank you for your answer. best wishes! Re: S32K144 ERM flag abnormal settings Hi @LijieDu, Can you create a new thread, it has nothing to do with the initial issue here. Thank you Re: S32K144 ERM flag abnormal settings WOw that's it! Thanks ~ By the way, another question: when I am doing the ram test below in startup phase, it always resets in step3, I can't find the reason, pls help me/(ㄒoㄒ)/~~ -----------------------↓----------------↓----------------------------------- ;;RAM TEST (__RAM_START=0x1FFF9000 /__RAM_END=0x20006FFF) ;;STEP 1 - Write background 00 with addresses increasing LDR R1, =__RAM_START LDR R2, =__RAM_END SUBS R2, R2, R1 SUBS R2, #1 BLE .TS1_2 MOVS R0, #0 MOVS R3, #4 .TS1_1: ;TEST STEP 1.1 STR R0, [R1] ADD R1, R1, R3 SUBS R2, #4 BGE .TS1_1 .TS1_2: ;TEST STEP 1.1 ;;STEP 2 - Verify background and write inverted background 0xFF with addresses increasing LDR R1, =__RAM_START LDR R2, =__RAM_END SUBS R2, R2, R1 SUBS R2, #1 BLE .TS2_2 LDR R3, =0xFFFFFFFF .TS2_1: ;TEST STEP 2.1 LDR R0, [R1] CMP R0, #0 BNE Fst_RAMTSTFAIL STR R3, [R1] ADDS R1, R1, #4 SUBS R2, #4 BGE .TS2_1 .TS2_2: ;TEST STEP 2.2 ;;STEP 3 - Verify inverted background 0xFF and write background 0x00 with addresses increasing LDR R1, =__RAM_START LDR R2, =__RAM_END SUBS R2, R2, R1 SUBS R2, #1 BLE .TS3_2 MOVS R4, #0 .TS3_1: ;TEST STEP 3.1 LDR R0, [R1] LDR R3, =0xFFFFFFFF CMP R0, R3 BNE Fst_RAMTSTFAIL STR R4, [R1] ADDS R1, R1, #4 SUBS R2, #4 BGE .TS3_1 .TS3_2: ;TEST STEP 3.2 ;;STEP 4 - Verify background 0x00 and write inverted background 0xFF with addresses .... ;;STEP 5 - Verify inverted background and write background with addresses decreasing .... Re: S32K144 ERM flag abnormal settings Hello @LijieDu, Please close the Memory and Variable views that are currently monitoring the SRAM. Regards, Daniel Re: S32K144 ERM flag abnormal settings Yes, I have disabled the EIMCR[GEIEN] in the erm handler function. By the way, When I just run the code without debug, it can run normal, but with debug tools and debug the code, it always generate the ram ecc fault, or just pause the code and continue to run it , will generate the fault too. Re: S32K144 ERM flag abnormal settings Hello @LijieDu, Do you disable the error injection in the ERM interrupt? EIMCR[GEIEN] = 0. In the SRAM_U region, there is the Stack located. The EIM must be disabled before the Stack is read. Regards, Daniel
記事全体を表示
would you check SpiTimeClk2Cs, SpiTimeCs2Clk and SpiTimeCs2CS? i am using s32k314, s32ds RTD4.0.0. i am testing spi communication.  but i think it is not work well. so would you check SpiTimeClk2Cs, SpiTimeCs2Clk and SpiTimeCs2CS? 1. what is meaning SpiTimeClk2Cs, SpiTimeCs2Clk and SpiTimeCs2CS? 2. would you check spi configure SpiTimeClk2Cs, SpiTimeCs2Clk and SpiTimeCs2CS compare with pics. 3. When controlling the CS pin of SPI communication with GPIO instead of PS0, I want to match the timing for normal SPI clock operation. How can I do this? (Communication is not working when controlled with PS0.)  1) control cs pin by GPIO(miso data is wrong.) 2) control cs pin by PS0 4. how fix that point in spi clock?(mark part) thanks to help Re: would you check SpiTimeClk2Cs, SpiTimeCs2Clk and SpiTimeCs2CS? @PavelL  and when i set SpiDataShiftEdge is Tailing, source generation is pic's right side.(CPOL(1U), CPHA(1U)). and when i set SpiDataShiftEdge is Leading, source generation is pic's Left side(CPOL(1U), CPHA(1U)).  so if i have to set CPOL =1, CPHA =1 for using BNO080, i have to set SpiDataShiftEdge is Leading, and SpiShiftClockIdleLevel is high. is it right? Re: would you check SpiTimeClk2Cs, SpiTimeCs2Clk and SpiTimeCs2CS? @PavelL  hello. i respond sooo late. i did other work.  and i did not solve spi yet.. anyway i don't know you remember your respond.  you responded my setting(SpiDataShiftEdge) is wrong, but other person is leading is right.  This is Post: https://community.nxp.com/t5/S32K/how-is-set-spi-communication-mode/m-p/2117524 so, what is correct? ( i am soooo sorry, i respond so late...) Re: would you check SpiTimeClk2Cs, SpiTimeCs2Clk and SpiTimeCs2CS? Hello @rlaxortn , Q1: What is the meaning of SpiTimeClk2Cs, SpiTimeCs2Clk, and SpiTimeCs2Cs? A1: SpiTimeCs2Clk corresponds to the CS setup time (tcssu) — the delay between CS going active and the first SPI clock edge. SpiTimeClk2Cs is the delay between the last SPI clock edge and CS going inactive — not explicitly specified by your device. SpiTimeCs2Cs is the minimum time between two consecutive CS activations — i.e., from CS going inactive to the next activation. Q2: Would you check the SPI configuration (SpiTimeClk2Cs, SpiTimeCs2Clk, and SpiTimeCs2Cs) and compare it with the timing diagrams? A2: The values for SpiTimeClk2Cs, SpiTimeCs2Clk, and SpiTimeCs2Cs can typically be left at 1 µs, which is safe for most devices. However, there is a critical issue with the SpiDataShiftEdge setting — it should be set to TRAILING, because your device (BNO080) requires CPOL = 1 and CPHA = 1. Q3: When controlling the CS pin of SPI communication with GPIO instead of PS0, I want to match the timing for normal SPI clock operation. How can I do this? (Communication is not working when controlled with PS0.) A3: This should not be a problem if the timing is handled correctly. The recommended sequence when using GPIO for CS is: Pull CS LOW Wait for 0.5–1 µs Start the SPI transfer Wait for the transfer to complete Wait again for 0.5–1 µs Release CS HIGH This mimics the behavior of hardware-controlled CS and ensures proper timing for the slave device. Q3a: Controlling CS pin by GPIO results in incorrect MISO data. A3a: This is likely caused by an incorrect SpiDataShiftEdge setting, as mentioned above. Please ensure it is set to TRAILING to match CPHA = 1. Q3b: Controlling CS pin by PS0 (hardware-controlled) A3b: This setup looks correct overall. The only concern is the initial CLK pulse before CS goes active. However, since this pulse occurs before CS is asserted, it should be harmless and ignored by the slave device. Q4: How to fix the marked point in the SPI clock (unexpected pulse)? A4: It is indeed unusual that a similar pulse appears even when CS is controlled by the LPSPI module. Please check what code is executed between pulling CS low and starting the SPI transfer. Any premature enabling of the LPSPI module or misconfigured timing parameters could cause this behavior. Best regards, Pavel
記事全体を表示
S32V234 的完整详细信息 嗨,团队、 我想购买一台 S32V234-EVB2,它可以在演示中显示,同时实时部署,确定它与索尼相机等子部件工作的完整性级别。 S32V234-EVB2 评估板 12 V 电源适配器 2x10 针至 2x5 针 适配器 ,适用于 JTAG 我与你们的一位代表 LINA 交谈过。我很高兴她帮了我,也帮了 Veronika。 我要的是原样,或者可以是多个部件,这样我就可以组装它,并在我向你们下单购买时为我的工作分配一个支持。 这是我的项目用途,我是真正的买家,一旦我得到完整的细节,我就会得到它,我对它的满意程度会让我完全愿意从贵公司购买它。我在该产品中提供了完整的详细信息,包括演示中定义的所有部件。 Re: Complete details of S32V234 你好@SY1602、 感谢您联系我们。我知道你的要求是购买 S32V234 开发板,因为这个社区是为了获得技术支持,我无法帮助你完成购买流程,请联系 S32V234 产品页面查看可用部件,并查看你所在地区的可用代理商: 如果您在查找某些信息时遇到困难,请告诉我、 如果我对您的要求理解有误,请告诉我。 谢谢!
記事全体を表示
imx93 - キーを押した後に再起動する こんにちは、 他のボードで特定の操作を実行するために、ボードを停止する必要がある場合があります。 そして、その責任者が遠隔地にいることも多々あります。 そのため、以前のボード セット (x86 アーキテクチャ ベース) に機能を開発し、管理者がキーを押した後にボードを停止 (/sbin/halt) して再起動できるようにしました。 Linux カーネルの machine_restart() 関数内にフックを実装して呼び出しました。 unsigned char キー; printk( KERN_ERR "再起動するには任意のキーを押してください\n"); キー = inb(0x3f8); while (inb(0x3f8) == キー); 今度は、imx93 ベースのボードでも同じことを実行したいと思います。 次のように試してみましたが、while ループに留まらず、すぐにボードを再起動します。シリアルコンソールとしてLPUART1を使用します。     unsigned charキー; #REGBASE 0x44380000を定義する     void __iomem *io = ioremap (REGBASE, SZ_4K); printk ( KERN_ERR "再起動するには任意のキーを押してください\n" ); キー = readl (io + 0x1C ) & 0x3FF ;     while ( ( readl (io + 0x1C ) & 0x3FF ) == キー );   注: ドキュメントでは DATA_RO レジスタ (オフセット 0x30) の存在についても言及されていますが、動作は同じです。   これを解決する方法について誰か提案がありますか? ありがとうございます。 よろしくお願いいたします。 パトリック・アグレイン
記事全体を表示
VR5510 OTP Modify Configuration Hi. I'm having trouble modifying the OTP configuration with the VR5510 and failing to enter test mode, and I'd like to ask for some advice. Here are my steps: Tested according to AN13182 documentation. According to 5.1 Entering Debug mode/test mode, after setting the VDDOTP voltage, read the FS_STATES(0x18h) data as 0x20, 0x03. According to the table Table 1. FS_STATES judgement, in which the DBG_MODE bit is 1, Entering Debug mode is successful. - After entering debug mode, a set of test mode keys must be sent over I2C to enter test mode. This is necessary to be able to access the OTP register and modify it to the desired settings. The VDDOTP pin must be held high until a test mode key is accepted. - The same set of test mode keys must be written to both the Main Test Mode Entry Register (M_TM_ENTRY, 0x1Fh) and the Safety Test Mode Entry Register (FS_TM_ENTRY, 0x26h). Each of the following keys must be written to each register in turn. - key1: 11010101_10100111 - key2: 10111000_11101110 - key3: 00001111_00110111 The 3 keys converted to hexadecimal data are - key1: 0xD5, 0xA7 - key2: 0xB8, 0xEE - key3: 0x0F, 0x37 CRC is calculated using the lookup table method, here is the CRC table and lookup function static const uint8_t crc8_lookup[256] = { 0x00,0x1D,0x3A,0x27,0x74,0x69,0x4E,0x53,0xE8,0xF5,0xD2,0xCF,0x9C,0x81, 0xA6,0xBB, 0xCD,0xD0,0xF7,0xEA,0xB9,0xA4,0x83,0x9E,0x25,0x38,0x1F,0x02,0x51,0x4C,0x6B,0x76, 0x87,0x9A,0xBD,0xA0,0xF3,0xEE,0xC9,0xD4, 0x6F,0x72,0x55,0x48,0x1B,0x06,0x21,0x3C, 0x4A,0x57,0x70,0x6D,0x3E,0x23,0x04,0x19,0xA2,0xBF,0x98,0x85,0xD6,0xCB,0xEC,0xF1, 0x13,0x0E. 0x29,0x34,0x67,0x7A,0x5D,0x40,0xFB,0xE6,0xC1,0xDC,0x8F,0x92,0xB5,0xA8, 0xDE,0xC3,0xE4,0xF9,0xAA,0xB7,0x90,0x8D,0x36,0x2B,0x0C,0x11, 0x42,0x5F,0x78,0x65, 0x94,0x89,0xAE,0xB3,0xE0,0xFD,0xDA,0xC7,0x7C,0x61,0x46,0x5B,0x08,0x15,0x32,0x2F, 0x59,0x44,0x63,0x7E,0x2D,0x30, 0x17,0x0A,0xB1,0xAC,0x8B,0x96,0xC5,0xD8,0xFF,0xE2, 0x26,0x3B,0x1C,0x01,0x52,0x4F,0x68,0x75,0xCE,0xD3,0xF4,0xE9,0xBA,0xA7,0x80,0x9D, 0xEB,0xF6,0xD1,0xCC,0x9F,0x82,0xA5,0xB8,0x03,0x1E,0x39,0x24,0x77,0x6A,0x4D,0x50, 0xA1,0xBC,0x9B,0x86,0xD5,0xC8,0xEF,0xF2,0x49,0x54, 0x73,0x6E,0x3D,0x20,0x07,0x1A, 0x6C,0x71,0x56,0x4B,0x18,0x05,0x22,0x3F,0x84,0x99,0xBE,0xA3,0xF0,0xED,0xCA,0xD7, 0x35,0x28,0x0F,0x12, 0x41,0x5C,0x7B,0x66,0xDD,0xC0,0xE7,0xFA,0xA9,0xB4,0x93,0x8E, 0xF8,0xE5,0xC2,0xDF,0x8C,0x91,0xB6,0xAB,0x10,0x0D,0x2A,0x37,0x64,0x79, 0x5E,0x43, 0xB2,0xAF,0x88,0x95,0xC6,0xDB,0xFC,0xE1,0x5A,0x47,0x60,0x7D,0x2E,0x33,0x14,0x09, 0x7F,0x62,0x45,0x58,0x0B,0x16,0x31,0x2C, 0x97,0x8a,0xAD,0xB0,0xE3,0xFE,0xD9,0xC4 }; uint8_t crc8_table(const uint8_t *data, uint32_t len) { uint8_t crc = 0xFF; while(len--) { crc = crc8_lookup[crc ^ *data++]; } return crc; } Encapsulate the data and crc checksum results into an array according to the data format in datasheet 23.I2C: uint8_t key20_1[5] = {0x40, 0x1F, 0xD5, 0xA7, 0xA8}; uint8_t key21_1[5] = {0x42, 0x26, 0xD5, 0xA7, 0x24} uint8_t key20_2[5] = {0x40, 0x1F, 0xB8, 0xEE, 0xEA}; uint8_t key21_2[5] = {0x42, 0x26, 0xB8, 0xEE, 0x66}; uint8_t key20_3[5] = {0x40, 0x1F, 0x0F, 0x37, 0x16}; uint8_t key20_3[5] = {0x40, 0x1F, 0x0F, 0x37, 0x16}; uint8_t key21_3[5] = {0x42, 0x26, 0x0F, 0x37, 0x9A}; Write the 3 keys into two registers respectively. VR5510_Write(key20_1);// W:0x20, 0x1F, (0xD5, 0xA7) VR5510_Write(key21_1);// W:0x21, 0x26, (0xD5, 0xA7) VR5510_Write(key20_2);// W:0x20, 0x1F, (0xB8, 0xEE) VR5510_Write(key21_2);// W:0x21, 0x26, (0xB8, 0xEE) VR5510_Write(key20_3);// W:0x20, 0x1F, (0x0F, 0x37) VR5510_Write(key21_3);// W:0x21, 0x26, (0x0F, 0x37) - After successfully sending the test mode entry key, read bit 6 of the M_TM_STATUS1 (0x25h) register and bit 15 of the FS_STATES (0x18h) register to verify the test mode status. If both bits are set to 1, the test mode entry operation is successful. Read two more registers of data VR5510_Read(state_buf1, data);// R:0x20, 0x25, (0x00, 0x0C) VR5510_Read(state_buf2, data);// R:0x21, 0x18, (0x20, 0x03) FS_STATES(0x18h) data is 0x20, 0x03. according to Table Table 1. FS_STATES judgment, bit 15 is 0. M_TM_STATUS1(0x25h) data is 0x00, 0x0C. According to Table 2. M_TM_STATUS1 judgment, bit 6 is 0. Failed to enter test mode. In the case of entry failure, try to modify the OTP configuration according to 5.2 Modifying a programmed OTP in Debug mode instructions, first read the registers and then write the new data, and finally read again, the data did not change, the modification failed. VR5510_Write(OTP1_R1_W); VR5510_Read (OTP1_R2_R, data). VR5510_Write(OTP2_W1_W); VR5510_Write(OTP2_W2_W). VR5510_Write(OTP3_R1_W); VR5510_Read(OTP3_R2_R, data). May I ask where is the problem in failing to enter test mode and what should be done to fix it. Re: VR5510 OTP 修改配置 Any questions submit a ticket through the link below, this is something only you can see: Home Re: VR5510 OTP 修改配置 Leave a phone number. Re: VR5510 OTP 修改配置 Can't we change our current chip anymore? Only an empty chip can be tested and configured according to the AN13182 document, and after the test is completed, the OTP will be performed according to the configuration at the time of test, and after the OTP, it can't be modified any more, right? Re: VR5510 OTP 修改配置 If you have already done OTP, the output is decided by OTP, you can't change the registers through IIC after powering up, so it's useless. You yourself through the socket of the board to take an empty chip A0 version of the chip area to redo the OTP, only this is the most effective, otherwise it is very troublesome. Re: VR5510 OTP 修改配置 Model MVR5510AMDAHES, we purchased the chip with OTP already written, we now need to modify the voltage of BUCK3 when we use it, is it possible to use I2C to modify the configuration? Re: VR5510 OTP 修改配置 Hello: Do you want to make your own OTP for VR5510? If it is hi can you tell me the exact model number of the VR5510 that I have on hand right now? KITVR5510SKTEVM | VR5510 PMIC Programming Board | NXP Semiconductors Above is the board of our VR5510 specializing in OTP sockets, you see if it is more convenient to do OTP with this one.
記事全体を表示
S32V234の完全な詳細 こんにちは、チーム 私はS32V234-EVB2を購入したいと思っています。これは、ソニーのカメラやその他の類似品を含むサブパーツとの連携の整合性レベルを定義する、リアルタイムで展開されたデモで表示されます。 S32V234-EVB2 評価ボード 12V電源アダプター JTAG用2x10ピンから2x5ピンへのアダプタ 私はあなたの代表者の一人であるLINAと話しました。彼女が私とヴェロニカを助けてくれて嬉しいです。 私は、購入注文をいただいた際に、そのまま同じもの、または複数のパーツから組み立てて、私の仕事のサポートを任せられるようにしたいと思っています。 これは私のプロジェクトの目的です。完全な詳細を入手したら、私は真の買い手となり、御社から購入することに完全に満足し、満足のいく結果を得るためにそれを手に入れるつもりです。私はデモで定義されているすべての部品を含む完全な詳細を備えたこの製品にいます。 Re: Complete details of S32V234 こんにちは@SY1602さん、 お問い合わせいただきありがとうございます。S32V234 開発ボードを購入したいというご要望だと承知いたしましたが、このコミュニティは技術サポートを目的としているため、購入プロセスについてお手伝いすることはできません。S32V234製品ページで入手可能な部品を確認し、お住まいの地域で利用可能な代理店をご確認ください。 情報を見つけるのが難しい場合はお知らせください。 もしあなたのリクエストを私が誤解していたら、お知らせください。 よろしくお願いします。
記事全体を表示
S32K144 ERMフラグ異常設定 コードをデバッグすると、SRAM_U のダブル ビットおよびシングル ビット エラー フラグが設定され、障害アドレスがおかしくなります。使用可能な最大 RAM アドレスは 0x20007000 ですが、障害アドレスはそれよりも大きいのです。SO混乱しています Re: S32K144 ERM flag abnormal settings はい、もちろんです。ご回答ありがとうございます。 幸運をお祈りしています! Re: S32K144 ERM flag abnormal settings こんにちは@LijieDuさん CAN新しいThreadを作成できますか。これはここでの最初の問題とは何の関係もありません。 よろしくお願い申し上げます。 Re: S32K144 ERM flag abnormal settings わあ、それだ!ありがとう〜 ところで、もう一つ質問があります。 起動段階で以下のRAMテストを実行すると、常にステップ3でリセットされますが、その理由がわかりません。 助けてください/(ㄒoㄒ)/~~ -----------------------↓----------------↓----------------------------------- ;; RAM テスト (__RAM_START=0x1FFF9000 /__RAM_END = 0x20006FFF) ;;ステップ1 - アドレスが増加しながら背景00を書き込む LDR R1、=__RAM_START LDR R2、=__RAM_END サブ R2、R2、R1 サブス R2、#1 BLE .TS1_2 ムービー R0、#0 MOVS R3、#4 .TS1_1: ;テストステップ1.1 STR R0、[R1] R1、R1、R3を追加 サブス R2、#4 BGE .TS1_1 .TS1_2: ;テストステップ1.1 ;;ステップ2 - 背景を確認し、アドレスが増加するにつれて反転した背景0xFFを書き込む LDR R1、=__RAM_START LDR R2、=__RAM_END サブ R2、R2、R1 サブス R2、#1 BLE .TS2_2 LDR R3、=0xFFFFFFFF .TS2_1: ;テストステップ2.1 LDR R0、[R1] CMP R0、#0 BNE Fst_RAMTSTFAIL STR R3、[R1] R1、R1、#4 を追加 サブス R2、#4 BGE .TS2_1 .TS2_2: ;テストステップ2.2 ;;ステップ3 - 反転された背景0xFFを確認し、アドレスが増加しながら背景0x00を書き込む LDR R1、=__RAM_START LDR R2、=__RAM_END サブ R2、R2、R1 サブス R2、#1 BLE .TS3_2 MOVS R4、#0 .TS3_1: ;テストステップ3.1 LDR R0、[R1] LDR R3、=0xFFFFFFFF CMP R0、R3 BNE Fst_RAMTSTFAIL STR R4、[R1] R1、R1、#4 を追加 サブス R2、#4 BGE .TS3_1 .TS3_2: ;テストステップ3.2 ;;ステップ4 - 背景0x00を確認し、反転した背景0xFFをアドレスに書き込む .... ;;ステップ5 - 反転した背景を確認し、アドレスが減少する背景を書き込む .... Re: S32K144 ERM flag abnormal settings こんにちは@LijieDuさん 現在 SRAM を監視しているメモリ ビューと変数ビューを閉じてください。 よろしくお願いいたします。 ダニエル Re: S32K144 ERM flag abnormal settings はい、 ermハンドラ関数でEIMCR[GEIEN]を無効にしました。 ちなみに、デバッグなしでコードを実行すると、正常に実行されますが、デバッグ ツールを使用してコードをデバッグすると、常に RAM ECC 障害が生成されます。また、コードを一時停止して実行し続けると、障害も生成されます。 Re: S32K144 ERM flag abnormal settings こんにちは@LijieDuさん ERM 割り込みでのエラー注入を無効にしていますか? EIMCR[GEIEN] = 0。 SRAM_U 領域にはスタックが配置されています。 スタックを読み取る前に EIM を無効にする必要があります。 よろしくお願いいたします。 ダニエル
記事全体を表示
VR5510 OTP 修改配置 Hi, 我在使用 VR5510 修改OTP配置时遇到了问题,进入test mode失败,想请教一下。 以下是我的操作步骤: 按照 AN13182 文档进行测试。 根据5.1 Entering Debug mode/test mode,将VDDOTP电压设置完成后,读取FS_STATES(0x18h)数据为0x20, 0x03。 根据表格Table 1. FS_STATES判断,其中DBG_MODE位为1,进入Debug mode成功。 • 在进入调试模式后,必须通过 I2C 发送一组测试模式键才能进入测试模式。这是为了能够访问 OTP 寄存器并将其修改为所需设置所必需的。在测试模式键被接受之前,VDDOTP 引脚必须保持高电平状态。 • 同一组测试模式键必须同时写入主测试模式入口寄存器(M_TM_ENTRY,0x1Fh)和安全测试模式入口寄存器(FS_TM_ENTRY,0x26h)。以下每个键必须依次写入每个寄存器。 – key1: 11010101_10100111 – key2: 10111000_11101110 – key3: 00001111_00110111 3个key转换成16进制数据为 – key1: 0xD5, 0xA7 – key2: 0xB8, 0xEE – key3: 0x0F, 0x37 CRC使用查表计算法,以下是CRC表和查表函数 static const uint8_t crc8_lookup[256] = { 0x00,0x1D,0x3A,0x27,0x74,0x69,0x4E,0x53,0xE8,0xF5,0xD2,0xCF,0x9C,0x81,0xA6,0xBB, 0xCD,0xD0,0xF7,0xEA,0xB9,0xA4,0x83,0x9E,0x25,0x38,0x1F,0x02,0x51,0x4C,0x6B,0x76, 0x87,0x9A,0xBD,0xA0,0xF3,0xEE,0xC9,0xD4,0x6F,0x72,0x55,0x48,0x1B,0x06,0x21,0x3C, 0x4A,0x57,0x70,0x6D,0x3E,0x23,0x04,0x19,0xA2,0xBF,0x98,0x85,0xD6,0xCB,0xEC,0xF1, 0x13,0x0E,0x29,0x34,0x67,0x7A,0x5D,0x40,0xFB,0xE6,0xC1,0xDC,0x8F,0x92,0xB5,0xA8, 0xDE,0xC3,0xE4,0xF9,0xAA,0xB7,0x90,0x8D,0x36,0x2B,0x0C,0x11,0x42,0x5F,0x78,0x65, 0x94,0x89,0xAE,0xB3,0xE0,0xFD,0xDA,0xC7,0x7C,0x61,0x46,0x5B,0x08,0x15,0x32,0x2F, 0x59,0x44,0x63,0x7E,0x2D,0x30,0x17,0x0A,0xB1,0xAC,0x8B,0x96,0xC5,0xD8,0xFF,0xE2, 0x26,0x3B,0x1C,0x01,0x52,0x4F,0x68,0x75,0xCE,0xD3,0xF4,0xE9,0xBA,0xA7,0x80,0x9D, 0xEB,0xF6,0xD1,0xCC,0x9F,0x82,0xA5,0xB8,0x03,0x1E,0x39,0x24,0x77,0x6A,0x4D,0x50, 0xA1,0xBC,0x9B,0x86,0xD5,0xC8,0xEF,0xF2,0x49,0x54,0x73,0x6E,0x3D,0x20,0x07,0x1A, 0x6C,0x71,0x56,0x4B,0x18,0x05,0x22,0x3F,0x84,0x99,0xBE,0xA3,0xF0,0xED,0xCA,0xD7, 0x35,0x28,0x0F,0x12,0x41,0x5C,0x7B,0x66,0xDD,0xC0,0xE7,0xFA,0xA9,0xB4,0x93,0x8E, 0xF8,0xE5,0xC2,0xDF,0x8C,0x91,0xB6,0xAB,0x10,0x0D,0x2A,0x37,0x64,0x79,0x5E,0x43, 0xB2,0xAF,0x88,0x95,0xC6,0xDB,0xFC,0xE1,0x5A,0x47,0x60,0x7D,0x2E,0x33,0x14,0x09, 0x7F,0x62,0x45,0x58,0x0B,0x16,0x31,0x2C,0x97,0x8A,0xAD,0xB0,0xE3,0xFE,0xD9,0xC4 }; uint8_t crc8_table(const uint8_t *data, uint32_t len) { uint8_t crc = 0xFF; while(len--) { crc = crc8_lookup[crc ^ *data++]; } return crc; } 根据数据手册 23.I2C 中的数据格式,将数据和crc校验结果封装成数组: uint8_t key20_1[5] = {0x40, 0x1F, 0xD5, 0xA7, 0xA8}; uint8_t key21_1[5] = {0x42, 0x26, 0xD5, 0xA7, 0x24}; uint8_t key20_2[5] = {0x40, 0x1F, 0xB8, 0xEE, 0xEA}; uint8_t key21_2[5] = {0x42, 0x26, 0xB8, 0xEE, 0x66}; uint8_t key20_3[5] = {0x40, 0x1F, 0x0F, 0x37, 0x16}; uint8_t key21_3[5] = {0x42, 0x26, 0x0F, 0x37, 0x9A}; 分别将3个key写入两个寄存器中, VR5510_Write(key20_1);// W:0x20, 0x1F, (0xD5, 0xA7) VR5510_Write(key21_1);// W:0x21, 0x26, (0xD5, 0xA7) VR5510_Write(key20_2);// W:0x20, 0x1F, (0xB8, 0xEE) VR5510_Write(key21_2);// W:0x21, 0x26, (0xB8, 0xEE) VR5510_Write(key20_3);// W:0x20, 0x1F, (0x0F, 0x37) VR5510_Write(key21_3);// W:0x21, 0x26, (0x0F, 0x37) • 在成功发送测试模式入口键后,读取 M_TM_STATUS1(0x25h)寄存器的第 6 位和 FS_STATES(0x18h)寄存器的第 15 位,以验证测试模式状态。如果这两个位都设置为 1,那么测试模式的进入操作即为成功。 再读取两个寄存器数据 VR5510_Read(state_buf1, data);// R:0x20, 0x25, (0x00, 0x0C) VR5510_Read(state_buf2, data);// R:0x21, 0x18, (0x20, 0x03) FS_STATES(0x18h)数据为0x20, 0x03。根据表格 Table 1. FS_STATES 判断,第 15 位为0, M_TM_STATUS1(0x25h)数据为0x00, 0x0C。根据表格 Table 2. M_TM_STATUS1 判断,第 6 位为0。 进入test mode失败。 在进入失败的情况下,尝试按照5.2 Modifying a programmed OTP in Debug mode说明进行修改OTP配置,先读取寄存器后再写入新数据,最后再读取,数据没有改变,修改失败。 VR5510_Write(OTP1_R1_W); VR5510_Read(OTP1_R2_R, data); VR5510_Write(OTP2_W1_W); VR5510_Write(OTP2_W2_W); VR5510_Write(OTP3_R1_W); VR5510_Read(OTP3_R2_R, data); 请问,进入test mode失败是在哪出了问题呢,应该怎么解决。 Re: VR5510 OTP 修改配置 有啥问题提交ticket通过下面的链接,这个是只有您自己能看得到的:  Home Re: VR5510 OTP 修改配置 留个电话 Re: VR5510 OTP 修改配置 我们现在的芯片已经无法再更改了吗?只有空芯片才能按照AN13182 文档进行测试和配置,测试完成之后按照测试时的配置进行OTP,OTP之后就不能再修改了,对吗? Re: VR5510 OTP 修改配置 假如是已经做过了OTP了,这个输出是再OTP的决定的,你无法再上电以后通过IIC 更改寄存器的这样是没用的。 您自己通过socket的板子拿一个空芯片A0版本的芯片区重新做OTP,只能这样最有效,否则很麻烦。 Re: VR5510 OTP 修改配置 型号为MVR5510AMDAHES,我们购买的是已经写好OTP的芯片,我们现在使用时需要修改BUCK3的电压,是否可以使用I2C修改配置呢 Re: VR5510 OTP 修改配置 你好: 请问您是想自己做VR5510的OTP 吗? 假如是hi的话您能告诉我现在手上VR5510的具体型号吗? KITVR5510SKTEVM | VR5510 PMIC Programming Board | NXP Semiconductors 上面是我们VR5510专门做OTP的socket的板子,您看看用这个做OTP是不是更方便
記事全体を表示
何をしても EB29 ビザを有効にできません。 Re: EB29怎么都激活不了 こんにちは S32K3 ツールパート 3: EB Tresos RTD4_0_0 MCAL のインストール方法のセクション 1.2、具体的にはEB Tresos Studio 29.0.0 のダウンロードを参照してください。 EB Client License Administrator 1.5.1 インターフェースでは、左下隅のDNS 名に中国語の文字を含めないように注意してください。 アクティベーションコードは、EBをダウンロードしたウェブページで定期的に更新されます。S32K3標準ソフトウェア-> Automotive SW - EB tresos Studio / AUTOSAR構成ツール -> EB tresos Studio 29.0.0をクリックしてください。 それでも問題が解決しない場合は、エラーのスクリーンショットを送信してください。 よろしくお願いします、 ロビン --------------------------------------------------------------------------------- 注記: - この投稿があなたの質問への回答である場合は、「解決策として承認」ボタンをクリックしてください。ありがとう! - スレッドは最後の投稿から7週間フォローされます。それ以降の返信は無視されます。 後ほど関連する質問がある場合は、新しいスレッドを開いて、閉じたスレッドを参照してください。 ---------------------------------------------------------------------------------
記事全体を表示