Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
i.MX8MM eMMC sd3 时钟 dse en 转换速率设置 上述打击垫控制设置并未在参考手册中描述。我们为什么要测试/调整这些设置?以及如何测试/调整这些设置? Re: i.MX8MM eMMC sd3 clk dse en slew rate setting 你好@NLFOHE 希望你一切都好。 实际上,该焊盘位于寄存器名称下方:IOMUXC_SW_PAD_CTL_PAD_NAND_WE_B。 Manuel_Salas_0-1785352172806.png 多路复用模式寄存器应配置为 uSDHC3 (IOMUXC_SW_MUX_CTL_PAD_NAND_WE_B): Manuel_Salas_1-1785352244434.png 顺祝商祺! 萨拉斯。 Re: i.MX8MM eMMC sd3 clk dse en slew rate setting 你好,萨拉斯, 由于假期原因,问题尚未解决。是否有关于如何在这个特定时钟信号上使用 SCC 的应用笔记?
記事全体を表示
LLCE CAN LLCE CAN通信を実施する際に問題が発生しました。2つのCANノードが2つの120Ω終端抵抗で直接接続されている環境で、ピアデバイスがリスニングモードのときにACKERRが発生します。同時に、LLCEファームウェアが自動的に再送信を行い、バスの最大帯域幅を使用しているように見えます。自動再送信の回数を設定する方法、または自動再送信を停止する方法があるかどうかを知りたいです。 回复: LLCE CAN RTDSW32G_RTD_4.4_4.0.2_P04_D2312とS32G_LLCE_1_0_9を使用します。 回复: LLCE CAN こんにちは、 @JACK_Q こんにちは 私の理解では、これはLLCEソフトウェアとは関係ないはずです。主な原因はCANプロトコル層のACKメカニズムにあります。相手側がリスニング専用モードの場合、ACKは送信されません。このとき、S32G LLCE側から送信されたフレームはACKを受信せず、ACKERRを報告します。その後、コントローラは再送信を続行しますが、これはCAN送信失敗後の動作と一致します。 上記の操作はプロトコルに規定されているとおりです。再送信回数を設定するような構成は見当たりません。 BR チェイン 回复: LLCE CAN 実際のプロジェクトアプリケーションでは、ACKERRやその他の問題によるネットワークストームで再送信が発生することは絶対に避けたいところです。そこで、自動再送信を無効にする方法があるかどうかを知りたいです。自動再送信を制御するオプションがない場合、ソフトウェアによる監視と設定が唯一の解決策となるのでしょうか? 回复: LLCE CAN こんにちは、 @JACK_Q ご状況は理解いたしました。確かに、上位レベルのソフトウェアで適切な処理戦略を監視・設定することは一般的に推奨されます。 BR チェイン
記事全体を表示
S32K1 相補型PWM こんにちは、NXPの専門家の皆様 私たちは日産のエアコンコンプレッサープロジェクトでS32K142チップを使用しました。しかし、日産は、チップのFTMがどのようにして相補的なPWM出力の実現を保証するのかを知りたいと要請した。そのため、この機能の検証のために、説明資料や裏付け資料、またはテストレポートの提供にご協力をお願いしたいと考えております。ありがとう。 Chenxu1_0-1785987344020.png Re: S32K1 Complementary PWM こんにちは@ Chenxu1 チップレベルの保護は主にアーキテクチャ上のもので、1つのチャネルがPWMタイミングを定義し、伴随チャネルは内部補数ロジックによって生成され、オプションのデッドタイム/同期更新ハードウェアにより非重複と整合性のある更新が維持されます。 S32K-RM Rev14.1: Senlent_0-1785999338085.png Re: S32K1 Complementary PWM こんにちは、Senlentさん。ご返信ありがとうございます。 FTMが相補的なPWMを出力する仕組みについては、我々は明確に理解している。チップレベルでは、補完的な波形が位置をずれていないことをどう保証しているのでしょうか?これがお客様が知りたいことです。 Re: S32K1 Complementary PWM こんにちは@ Chenxu1 AN5303および提供されたベアメタルコードを読み取ってテストできます。 https://www.nxp.com/docs/en/application-note/AN5303.pdf Senlent_0-1785997622463.png 参考までに、前回のテスト時に記録した手順をいくつかご紹介します。 相補型PWMモードを設定し、2µsのデッドタイムを挿入しました(プロジェクト全体を保存し忘れましたが、変更は非常に簡単です)。 Senlent_3-1785997707326.png Senlent_1-1785997665931.png Senlent_2-1785997677611.png
記事全体を表示
S32K388 TCP/IPスタック5.0.0が動作しません こんにちは、 @PavelL さん。 以前は、以下の設定でTCP/IPスタックのサンプルプロジェクトを実行することができました。 • S32KDS バージョン 3.6.5 • RTD(リアルタイム・ドライバ)バージョン7.0.0 • TCP/IPスタック バージョン 4.0.0 しかし、以下のバージョンにアップグレードして同じセットアップ手順を実行したところ、動作しなくなりました。 • S32KDS バージョン 3.6.8 • RTD (リアルタイム・ドライバ) version 7.0.1 • TCP/IPスタック バージョン 5.0.0 プロジェクトを添付しました。改めてご協力ありがとうございました。 Re: S32K388 TCP/IP stack 5.0.0 not working こんにちは、 @James_Zhang_SE さん、 調査に時間が必要です。今週中に返信できるよう最善を尽くします。 ご理解いただきありがとうございます。 よろしくお願いいたします。 パベル Re: S32K388 TCP/IP stack 5.0.0 not working こんにちは、 @James_Zhang_SE さん、 業務量が多く返信が遅れてしまい、申し訳ございません。 根本原因はEthIf_Cfg.cです。、このThreadですでに議論したように、tcpip stack 4.0.0 S32K388コンパイル中に lwip フォルダが欠けています このサンプルは、私のS32K388EVB-Q289で現在正常に動作しています。 とにかく、あなたのプロジェクトに多くの変更を加えましたが、最も重要なのは EthIf_Cfg ファイルです。すべての修正ファイルは添付のzipファイルで見つけることができます。変更内容はご自身で確認していただいても構いません。 提供されたコードには一切保証が付いておらず、保証もございませんのでご注意ください。 パッチでファイルを置き換えた後は、必ずコードの更新を行ってください。 よろしくお願いいたします。 パベル Re: S32K388 TCP/IP stack 5.0.0 not working こんにちは、パベルさん。 ご助力ありがとうございます!以前と同じ手順を適用した後、pingを実行してTCPループバックをテストすることができました。いくつか簡単な質問があります。 Ethif Configの修正やRTDの回避策については、FUTUREのドライバやサンプルプロジェクトのリリースで追加されるのでしょうか? [[ ## completed ##]] 私はこのスタックにあまり詳しくないので。何かがうまく動作しない場合、体系的なデバッグ方法を提案していただけますか? Re: S32K388 TCP/IP stack 5.0.0 not working こんにちは、 @James_Zhang_SE さん、 現在の状況をお知らせいただきありがとうございます。   もし前回の投稿が問題解決の助けになったなら、解決策としてマークしてください。同じような問題に直面している他のユーザーの助けになるかもしれません。   1点目について:   EthIf_Cfg問題を担当ソフトウェアチームに報告しました。修正プログラムのリリース日はまだ未定です。RTDの回避策をMACドライバーかクロック設定領域で実装すべきかについては、社内でまだ議論が続いています。今のところは現状を受け入れ、手動で回避策を適用する必要があります。   2点目について:   私の通常のデバッグ手順は、ピン構成、クロック構成、割り込み構成、FIFOサイズ、および必要なRTD回避コードを確認することです。gPTPの例も非常に参考になります。なぜなら、比較に利用できる機能的なイーサネット関連構成を提供しているからです。 よろしくお願いいたします。 パベル
記事全体を表示
コード、接続、NXPとWS2812 こんにちは、 私はNXPのマイクロコントローラ初心者で、16ピクセルWS2812B RGB LEDストリップをインターフェースしたいと考えています。 このプロジェクトにおすすめのNXP開発ボードはどれですか? また、WS2812B LED制御に関するプロジェクト例やSDKsの例、ドキュメントも教えていただけると助かります。 ありがとう。 Re: Code, Connections, NXP with WS2812 NXP製品にご関心いただきありがとうございます! FRDM-MCXA366は、あなたのプロジェクトに最適なボードです。 NXPは、MCX A366を使って WS2812B LED を制御する方法を具体的に示した、初心者向けの専用アプリケーションノートを提供しています。このドキュメントには、ボードの推奨事項、ハードウェア接続方法、ソースコード、および段階的なセットアップ手順が含まれています。 AN14980 – MCX A366上でFlexIOを用いたWS2812バスのエミュレーション この応用ノートでは、MCX A366のFlexIOモジュールを使ってWS2812通信プロトコルをエミュレートし、LEDを駆動する方法を詳細WS2812B説明しています。 これでデザインを始めるために必要なすべてが揃っているはずです。 他に質問があればお知らせください よろしくお願いいたします。 アロンドラ Re: Code, Connections, NXP with WS2812 こんにちは、アロンドラさん。 ご提案ありがとうございます!私たちのデザインはまだ評価段階にあります。 基板を決める前に、LPC5514JBD64EがWS2812 LEDにも対応できるか確認したいです。 よろしくお願いします、 キショール
記事全体を表示
RW612 FLEXCOMM3/I2S3 支持驱动程序 我们使用 RW612 FLEXCOMM3/I2S3,并采用以下固定硬件布线: - GPIO24 = 来自 PCM6120 SDOUT 的 I2S 数据输入 - GPIO25 = I2S SCK 输出至 PCM6120 BCLK - GPIO26 = I2S WS 输出至 PCM6120 FSYNC 编解码器为 PCM6120,处于从属模式。 RW612 旨在作为 I2S 主设备,生成 BCLK/WS 并接收音频数据。 我们已核实的内容: - GPIO25/GPIO26 可以在普通 GPIO 模式下正确驱动 - FLEXCOMM3 时钟源为 12.288 MHz 的音频 PLL - 与 PCM6120 的 I2C 通信正常 PCM6120寄存器配置已接受 观察到的行为: 1. 配置为 I2S RX 且 kI2S_MasterSlaveNormalMaster 的 FLEXCOMM3 不会在 GPIO25/GPIO26 上生成任何 SCK/WS 边沿。 2. 将 FLEXCOMM3 配置为 I2S TX,并使用 kI2S_MasterSlaveNormalMaster 也无法工作:FIFOSTAT.TXNOTFULL=1,但在写入 FIFOWR 后 TXLVL 仍为 0,并且引脚上没有出现 SCK/WS 边沿。 3. PCM6120 报告缺少时钟(ASI_STS=0xFF,DEV_STS1=0x80)。 问题: 1.RW612 FLEXCOMM I2S RX 在正常主模式下是否会将 SCK/WS 驱动到外部引脚? 2. 对于“主时钟生成 + 从外部编解码器接收数据”的使用场景,是否支持单个 FLEXCOMM 实例,还是需要双 FLEXCOMM 架构(TX 主设备 + RX 从设备,带 I2S 桥接器)? 3.对于 FLEXCOMM3 I2S TX 主站,除了 I2S_TxInit()、FIFOWR 写入和 MAINENABLE 之外,接受 FIFO 写入是否还有其他先决条件? 4. 对于 I2S 时钟输出,FLEXCOMM3 在 GPIO24/25/26(AON 功能域)上是否存在任何已知的限制? 请帮忙解答这个话题 Re: RW612 FLEXCOMM3/I2S3 Supporting driver 嗨@duyhung ,希望你一切都好。 请问您进行测试时使用的是 FreeRTOS 还是 Zephyr?你使用的是FRDM-RW612板吗? 请同时提供您使用的版本(SDK 或 Zephyr),以及您是否以示例为基础进行开发。 此外,RW612(UM11865)参考手册第28.2节包含I2S外设的基本配置指南,请问您是否已按照这些一般步骤操作? Re: RW612 FLEXCOMM3/I2S3 Supporting driver 嗨@RomanVR , 感谢您的回复。详情如下。 1. 实时操作系统 我们正在使用 裸机和 FreeRTOS 均用于测试。这些测试中没有 Zephyr 参与。所有初始化和 I2S 配置均直接使用 NXP SDK 驱动程序完成。 2. 板 我们是 不是 使用 FRDM-RW612。我们正在使用一个 定制开发板 基于 RW612ETA2I。MCU相同,但板布局不同。 音频编解码器(PCM6120)通过线路连接到 FLEXCOMM3 / I2S3 在以下固定引脚上: GPIO 信号方向 I2S 数据(来自 PCM6120 的 SDOUT) GPIO24 输入 I2S SCK(BCLK 至 PCM6120) GPIO25 输出 I2S WS(FSYNC 到 PCM6120) GPIO26 输出 I2C SDA(PCM6120 配置) GPIO56 (FC14) 双向 I2C SCL(PCM6120 配置) GPIO57 (FC14) 双向 AUX_EN(PCM6120 电源) GPIO54 输出 3. SDK 版本 我们正在使用 SDK_2.x_RD-RW612-BGA,版本 25.03.00 。 4. 基本示例 我们使用了 rdrw612bga_i2s_dma_record_playback 作为参考示例。该示例使用 FLEXCOMM1(TX 主设备)+ FLEXCOMM0(RX 从设备)+ I2S 桥接器,我们已确认其工作正常。 然而,由于硬件限制,我们不得不使用一种 单路 FLEXCOMM(仅限 FC3) 整个 I2S 链路到 PCM6120。PCM6120 必须以从机模式工作,因为我们没有外部时钟源作为 BCLK。我们尝试将 FC3 配置为 kI2S_主从正常主 使其在接收数据时生成 SCK/WS。 5. UM11865 第 28.2 节 – I2S 配置步骤 我们已审阅 UM11865 第 28.2 节,并确认所有 6 种配置均正确无误。 步骤如下: 步骤 1:启用 Flexcomm,使用 CLOCK_EnableClock + RESET + CLOCK_AttachClk 步骤 2:FIFO 配置(FIFOCFG=0x35,ENABLETX=1,SIZE=8) 步骤 3:通过 IO_MUX_SetPinMux(IO_MUX_FC3_I2S) 设置 I2S 引脚,启用 AON MCI_IOMUX 步骤 4:速率配置(CFG1 MSTSLVCFG=0b11=NormalMaster,DIV=3 → BCLK=3.072MHz) 步骤 6:在 FIFOCFG 中启用 DMA 尽管我们已遵循所有步骤,但仍观察到以下情况: - GPIO25/GPIO26 上没有 SCK/WS 边沿 - TX FIFO 不接受数据:TXNOTFULL=1,但 FIFOWR 写入后 TXLVL 仍为 0 第 28.2 节步骤 4 指出:“对于控制器操作,时钟决定 I2S 速率”,但没有具体说明 PERSEL=I2S_RECEIVE 是否与 NormalMaster 预计会将 SCK/WS 驱动到焊盘上。 请您澄清一下: 1.PERSEL=I2S_RECEIVE (0b101) 是否能够驱动 SCK/WS 作为输出 当 MSTSLVCFG=NormalMaster 时? 2. 为什么在使用 PERSEL=I2S_TRANSMIT 向 FIFOWR 写入数据后,TXLVL 仍然为 0? FIFOWR 写入操作是否需要先启用 MAINENABLE 权限? 6. 观察到的问题——我们的具体问题 完成以上所有配置后, GPIO25 和 GPIO26 产生零边沿。PCM6120 报告缺少时钟信号(ASI_STS = 0xFF, DEV_STS1 = 0x80)。 我们进一步运行了诊断程序:我们将 FC3 配置为 I2S TX 主控端 (而不是 RX 主控端)并发现 写入 FIFOWR 不会递增 TXLVL — FIFOSTAT 保持不变 0x30 无论我们写多少个字,(TXNOTFULL=1,TXLVL=0)。 TX 主探测后的相关寄存器状态:   CFG1 = 0x17003C(MSTSLVCFG=3 = NormalMaster,DATALEN=24,MAINENABLE=0) 分频比 = 3(分频器=4,BCLK = 12.288MHz / 4 = 3.072MHz) FIFOCFG = 0x35 (ENABLETX=1, TXI2SE0=1) FIFOSTAT = 0x30(写入后 TXNOTFULL=1,TXLVL=0) MAINENABLE=1 之后: STAT = 0x5(BUSY=1,LR=1 — 内部时钟逻辑运行) GPIO25/GPIO26 上的 SCK/WS 边沿:0 我们向恩智浦提出的具体问题: 当 FLEXCOMM3 I2S 配置为 kI2S_主从正常主 (无论是 TX 还是 RX),RW612 上的 SCK/WS 是否是预期行为? 不是 即使 STAT 显示外设内部正在运行,驱动信号仍然会输出到 GPIO25/GPIO26(AON 功能域)? 或者:采用单FLEXCOMM拓扑结构(一个飞控同时作为时钟主控和RX数据接收器)。 有 对于这种使用场景,RW612 I2S 硬件是否必须支持两个独立的 FlexComm 实例(一个 TX 主站 + 一个 RX 从站,通过 I2S 桥接器)? 谢谢! Re: RW612 FLEXCOMM3/I2S3 Supporting driver 嗨@duyhung ,感谢您提供更多关于您设置的详细信息。 根据参考手册(RM00278),当 I2S 实例配置为正常主模式时,SCK 和 WS 信号配置为生成,但不发送或接收数据,如RM00278的CFG1[MSTSLVCFG]寄存器中的31.1.2 节所述。在 I2S 驱动程序中,此配置应用于“ I2S_TxInit(); ”函数中,该函数还将正在使用的 Flexcomm 实例和 FIFO 配置为发射器实例。 根据前面的信息,建议采用共享信号的双 Flexcomm 拓扑结构(就像您已经测试过的示例一样),正如UM11865的3.6.2.1.1 节中的图 9所示的类似示例所演示的那样。 RomanVR_0-1785886440838.png 此外,如果您以 I2S with DMA 回放示例为基础,能否请您分享一下您对该示例所做的修改?
記事全体を表示
MIMXRT1060-EVKB - 调试器无法到达 ResetISR/main 程序,GDB 在闪存编程后断开连接 您好,NXP团队 我的MIMXRT1060-EVKB突然出现了一个奇怪的问题。之前板工作正常,但现在我无法调试任何应用程序,包括 SDK 示例。 环境 电路板:MIMXRT1060-EVKB IDE:MCUXpresso IDE 24.12.x 调试探针:板载链路服务器 连接方式:USB 问题 当我启动调试会话时: 项目构建成功。 Flash编程成功完成。 编程完成后,调试器重置目标,但永远不会到达 ResetISR 或 main()。 GDB 会话立即终止。 控制台输出: 关闭闪存驱动程序 MIMXRT1060_SFDP_QSPI.cfx 闪存写入完成 Flash程序摘要:耗时0.06秒,写入850584字节 使用系统RESET和停止目标开始执行 已停止(已RESET)[RESET原因未知] GDB 短截线 (crt_emu_cm_redlink) 终止 - GDB 协议问题:管道已被 GDB 关闭。 我已经尝试过了 使用新的 SDK 示例(UART 中断示例)进行了测试——行为相同。 在 ResetISR 处设置了断点,但从未触发。 main() 函数永远不会被执行。 执行批量擦除操作——无变化。 重启了电脑。 我在另一台全新安装了 MCUXpresso 的笔记本电脑上进行了尝试——问题依旧。 已确认 DIP 开关配置为QSPI Flash 启动模式,而不是串行下载器 (ISP) 模式。 任何建议都将不胜感激。 谢谢 普拉蒂尤什。 i.MX RT106x Re: MIMXRT1060-EVKB - Debugger no longer reaches ResetISR/main, GDB disconnects after flash programm 你好@ShellyZhang , 谢谢你的建议。 我完全按照您推荐的步骤操作了。我断开了电源线和调试线,切换了SW4的最后两个引脚,使板进入串行下载模式,重新连接了板,并使用 LinkServer GUI Flash Programmer 执行了批量擦除。批量擦除操作已成功完成。 之后,我将板恢复到QSPI 启动模式,RESET了板,并开始了一个新的调试会话。 遗憾的是,这个问题依然存在。应用程序编程成功,但调试器无法到达 ResetISR 或 main() 函数。 我还验证了未经修改的 SDK 示例项目也会出现同样的情况,因此这似乎并非我的应用程序特有的问题。   谢谢! 普拉蒂尤什 Re: MIMXRT1060-EVKB - Debugger no longer reaches ResetISR/main, GDB disconnects after flash programm 亲爱的@Prathyush_27 , 请尝试以下顺序: 1. 断开板上的电源线和调试线,然后将板的启动模式设置为串行下载模式。 2. 重新连接电源线和调试线,然后使用MCUXpresso IDE → GUI Flash Tool / LinkServer GUI Flash Programmer → Erase Flash Memory → Mass Erase 。 3. 将板恢复到QSPI 启动模式,重置板,然后开始新的调试会话。 此致, 雪莉 Re: MIMXRT1060-EVKB - Debugger no longer reaches ResetISR/main, GDB disconnects after flash programm 你好@ShellyZhang , 谢谢你的帮助。 我找到了问题的根本原因。原来是 SW2 DIP 开关配置的问题。SW2 上的最后两个开关被意外拨动,导致调试器无法正确启动应用程序。 将最后两个 SW2 开关恢复到原来的位置后,一切都按预期运行了。调试器现在可以成功到达 ResetISR 和 main() 函数,调试功能正常。 这是我开发板上的配置问题,而不是SDK或调试器的问题。 再次感谢您的支持。我希望这些信息对将来遇到类似问题的人有所帮助。 Re: MIMXRT1060-EVKB - Debugger no longer reaches ResetISR/main, GDB disconnects after flash programm 亲爱的@Prathyush_27 , 请尝试以下两种方法? 1. 验证闪存编程和启动 请尝试使用MCUXpresso Secure Provisioning Tool 26.06在电路板处于串行下载模式时配置一个简单的 LED 闪烁应用程序,然后将启动模式切换回 QSPI 启动模式。 如果 RESET 后 LED 应用程序运行成功,则表明闪存设备和启动过程运行正常。在这种情况下,我怀疑 LinkServer GUI Flash Programmer 可能没有成功完成闪存擦除操作。 如果 LED 应用程序在 RESET 后可以启动并运行,请尝试再次启动正常的调试会话,看看问题是否仍然存在。 2. 从内存运行应用程序 请修改项目配置以从内存运行应用程序: 2.1 启用 Link 应用程序到 RAM: ShellyZhang_0-1785828173999.png 2.2 在“已定义符号”下,配置: ShellyZhang_1-1785828247988.png XIP_EXTERNAL_FLASH=0 XIP_BOOT_HEADER_ENABLE=0 2.3 重建项目。 2.4 启动正常的调试会话并运行应用程序。 请告知我们两项测试的结果,特别是 LED 应用程序能否从 QSPI 闪存成功启动,以及基于 RAM 的应用程序能否在调试模式下运行。 顺祝商祺! 雪莉 Re: MIMXRT1060-EVKB - Debugger no longer reaches ResetISR/main, GDB disconnects after flash programm 你好 Prathyush_27, 感谢你的回复。您的反馈将有助于我们更好地了解问题,也可能对遇到类似问题的人有所帮助。 此致, 雪莉
記事全体を表示
68LC302 和串行引导功能 大家好。希望到了 2026 年,仍然有人对 LC302 有一些了解。 我一直在做一个涉及 LC302 的小项目,我对使用串行引导功能很感兴趣。我就是弄不好,不知道是不是需要特别注意什么才能让它正常工作。 我已经尝试了我能想到的一切办法,目前正在考虑更换我现有的 LC302,以防它出现故障,但在采取这一措施之前,我想先问问这个问题。仅供参考,包装上的标记是(带有摩托罗拉标志): MC68LC302PU25CT 2J29A QQDJ0316 我用5V电源供电。 基本上,我无法让它回显我发送给它的任何内容。我偶然看到一篇帖子,似乎描述了同样的问题,但我遇到的问题似乎并不相同: https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/We-have-been-using-the-68LC302-for-decades-without-major/mp/612300 我用示波器/逻辑分析仪尝试过/观察到以下现象: 我尝试过使用PLL模式和不使用PLL模式。在 PLL 模式下,我使用了一个 4MHz 的振荡器(4.192MHz 的振荡器很难找到)。在这种模式下,我使用了 9174 波特率(4MHz*4,/109,/16)。如果没有锁相环,我使用了一个 20MHz 的振荡器,波特率为 11467。我使用信号发生器输入 4.192MHz 信号,并使用了数据手册中给出的波特率,但仍然没有成功。 如果我将 PA7 拉高以禁用引导模式,我可以观察到 AS 引脚上有一些短暂的活动,这大概是因为 CPU 尝试从外部存储器读取其复位向量。如果我将 PA7 拉低以启用引导模式,我就不再观察到这种活动了,大概是因为 CPU 处于 RESET 状态。 我很快就发现 PA7 上似乎有一个电流源,并且输出大约 3-4mA 的电流(用万用表电流模式测量),超过了我的外部下拉电阻,导致逻辑高电平。我觉得这电流非常大,有人能解释一下这是为什么吗?这似乎与上述导致 PA7 意外拉高的帖子略有相关。或许是我的零件有问题? Reset 和 HALT 同时钳位(过去几年我在业余项目中积累了丰富的 68k 经验)。 🙂 我已经反复检查了所有接线,包括 TX/RX 信号的极性,甚至为了以防万一,还将 SCC1 的流控制输入拉到了反相状态。我用示波器测量过,我的 USB 转串口适配器确实能产生我请求的波特率,而且将 TX 连接到 RX 可以让 PuTTY 回显我发送的字符,所以我相当确信那里没有什么异常情况发生。 我还没有连接任何内存总线,因为目前我只是想看看能否通过串口加载一些代码并让 LED 闪烁,但是 BUSW 引脚已经绑定为 16 位总线操作,这重要吗? 在开始拆焊之前,大家还有什么其他建议吗? 谢谢您! Re: 68LC302 and serial bootstrap feature 你好,谢谢你的留言。 我已经确认我使用的是与 SCC1 相关的引脚。 我的电路是安装在带绕线的万用板上的,所以除了我绕的线之外,其他任何引脚都不会受到其他因素的影响。我用万用表验证过,复位和停止信号同时钳位,并且电压达到 0V,所有引脚都达到所需的电压电平,没有浮空引脚。 另外,正如我在帖子中提到的,我也尝试过使用信号发生器提供的 4.192MHz 信号和数据手册中规定的波特率,但这并没有帮助。 抱歉,我之前说我把 CD1 连接到了它的否定状态,我只是把术语搞混了,它实际上是接地的(钳位),为了保险起见,CTS1 也接地了。 我尝试发送 576 字节的数据进行测试,看看是不是因为某种原因它没有回显这些数据,但仍然能够正确接收它们。 谢谢! Re: 68LC302 and serial bootstrap feature 你好, 我首先要检查的是 CD1 。对于 LC302 串行引导回显路径,手册中说 SCC 硬件会将接收到的字符回显到 TXD1 上,但 CD1 必须置位;在 SCC1 上,外部 CD1 引脚必须拉低。如果你将 SCC1 调制解调器控制输入拉到“否定”状态,这可能就是你看不到回声的原因。 LC302启动说明中的其他要点: 通过在硬复位期间采样 PA7 = 0 来启用串行引导,其中硬复位意味着 RESET 和 HALT 同时钳位。 PA7 不能悬空;RESET时必须故意将其拉高或拉低。 SCC1 接收到的前 576 个字节存储在双端口 RAM 中,并且接收到的每个字符都会从 TXD1 回显出来;设备只有在接收到所有 576 个字节后才会退出启动模式。 对于内部时钟引导,记录的标称时钟假设为 4.192 MHz 或 32.768 kHz,SCC 编程为大约 9600 波特。 在异步 UART 模式下,使用外部时钟选项时,比特率为 TCLK1/RCLK1 时钟速率的 1/16。 所以在更换零件之前,我会先尝试这种最简化的配置: 同时按住 RESET 和 HALT 键。 将 PA7/启动 低电平拉下,并用足够强的下拉电阻来克服您的板上的任何阻力。 使用 PA5 选择所需的时钟模式: PA5 = 0 :内部启动时钟模式。 PA5 = 1 :外部时钟位于 TCLK1/RCLK1 倍波特率。 将 PA12/MODCLK0 与时钟源保持一致;手动在硬复位期间对其进行采样,以区分标称 EXTAL 频率。 CD1 低。 保持 RXD1 、 TXD1 、 RCLK1 和 TCLK1 接线与 SCC1 一致,而不是与 SCC2 一致。LC302 描述中的 SCC1 启动功能。 发送完整的 576 字节测试流,而不是只发送一个字符,尽管一旦接收正常工作,回显应该逐个字符地出现。 来自 PA7 的 3–4 mA 电流很可疑。根据数据手册,输入漏电流值最大仅为 20 µA,远低于毫安级。由于 PA7 也是一个双向多功能引脚,如果其他东西正在驱动它,或者该器件已经离开复位采样状态,则可能会发生争用,但在复位作为启动期间,读取低电平不应该需要灌入几毫安的电流。我会检查 PA7 上是否存在板级上拉/驱动器/焊接桥,验证封装引脚方向,并在 RESET 和 HALT 同时主动钳位时测量电流。 还有一点需要注意:你尝试的 4 MHz 内部时钟并不等同于 4.192 MHz。如果调整另一侧,对于某些 UART 来说可能足够接近,但文档中记录的内部引导模式假定标称 LC302 时钟值,因此为了消除变量,我会使用 4.192 MHz 和文档中记录的波特率,或者使用外部时钟模式并提供干净的 TCLK1/RCLK1 = 16 × baud 。   此致问候 Re: 68LC302 and serial bootstrap feature 于是,我把原来的 68LC302 换成了另一个,它工作了大约 2 秒钟(回显了我发送的字符),直到我重启了它,从那以后它就再也无法工作了。 最初我没有将 CD1 接地,因为数据手册上说,就串行引导过程而言,这是“无关紧要的”,而且在这种配置下确实可以工作。它停止工作后,我尝试将 CD1 接地,但这并没有解决问题。 近在咫尺,却又远在天边。这个项目简直就是被诅咒了。 😞 这个电路似乎在 PA7 上有某种较大的电流源,需要一个相当大的电阻来将其拉低到足够低的水平,或者需要一个三态驱动器来覆盖它。 Re: 68LC302 and serial bootstrap feature 我觉得你这是在损坏芯片。有几种方法可以做到这一点,阅读你的帖子后,我想到了两种可能性。 你正在(或曾经)使用外部信号发生器来运行时钟。你是否已对信号发生器的电缆进行端接,以避免反射和过冲?如果信号发生器连接一根 50 欧姆的同轴电缆,而电缆末端没有 50 欧姆的电阻,那么在 10V 到 -5V 的电压范围内,信号会出现故障(反射)。那肯定会损坏芯片。 如果你有一台安捷伦信号发生器(其他的可能类似),将其编程为“0 至 5V”,并且没有注意到“端接或非端接”选项,那么将其设置为端接并且不添加任何参数,它将产生 0-10V 的信号,然后该信号会波动到 -10V 至 20V。使用一台性能良好的(高频,例如 100MHz 或更高)示波器检查 CPU 的时钟信号。 你是如何为驱动 CPU 串口的芯片供电的?你是否使用了一个由 CPU 供电的 5V 电源供电的 MAX RS232 收发器(并从 PC 或其他设备获得 12V RS232 电源)?或者您使用的是直接连接到 CPU 的外部 TTL 电平(3.3V 或 5V)串行端口?如果你使用的是后者,那么当你关闭 CPU 电源时,你仍然会将外部电压输入到该 CPU 引脚中。TTL-RS232 空闲电压为 5V,因此这样做可能会损坏引脚,甚至导致致命的闩锁效应。谷歌表示,如果这样做,该芯片可能会发生致命的闩锁效应。请在维基百科上查找“闩锁”。 确保所有部件都牢固连接在一起。但这是使用 CAN 的人总是忘记做的事情。RS-232 也一样。 Tom Re: 68LC302 and serial bootstrap feature 最初我用信号发生器测试时,没有进行端接。在最近的例子中,我使用了一个板载的 20MHz 振荡器,为了简化操作,暂时忽略了 PLL 配置。(不过,这并不是我希望在项目最终版本(如果我能完成的话)中使用的配置,因为我还想使用一个 4MHz 的振荡器来驱动另一个部件。) 整个电路板的电源来自 Mikroe 公司的小型 USB 转串口模块,该模块上有一个 MCP2221A 芯片。不幸的是,该电路在 5V 电源中串联了一个二极管,因此板看到的电压接近 4.7V,但我也使用了一个台式电源来提供稳定的 5V 电压。 [[ ## completed ##]]我想不出 CPU 没有电源但任何引脚上却有 5V 信号的情况——要么所有引脚都有电源,要么就没有。 但如果这种情况会导致闩锁效应并损坏芯片,那么我现在可能就放弃整个项目了,因为我打算把它集成到 Arduino 风格的板上,如果这些部件对奇怪的电源情况过于敏感,那么它们可能非常适合这个项目。 😞 Re: 68LC302 and serial bootstrap feature 我想另一种选择就是在PCB板上好好地制作一个版本。我已经设计好了一个,但我希望先用原型测试一下这个设计,然后再投入到PCB的生产中。我感觉如果我把它构建成一个版本在PCB板上,那里有更好的电气环境,也许它就能正常工作了。 之所以想制作原型,部分原因是想确保我拥有正确的逻辑,以便在 RESET 期间将跳线引脚在其跳线和 GPIO 之间进行多路复用,从而进入引导模式。MCP2221A 的一些 GPIO 可以提供 RESET 和引导使能,这样你既可以单独进行 RESET,也可以在启用引导的情况下进行 RESET。 我的信号发生器是 Siglent SDG2122X。我使用它时,将其设置为峰峰值 5V,偏移量为 2.5V,使其范围从 0 到 5V,而不是 -2.5 到 +2.5。 我的示波器是 Keysight MSOX2024A,我用它来检查来自信号发生器的信号。我当时并没有使用完全最佳的接地设置,所以时钟信号出现了过冲/欠冲,但我认为这是因为我没有在示波器探头上使用分组夹或接地弹簧——我更感兴趣的是测量芯片引脚上的频率,并再次确认电压是否达到 5V,并且没有被任何东西拉低。我不记得射击过度/不足的程度了,我想我得再测量一下。 Re: 68LC302 and serial bootstrap feature 我回家后得检查一下信号发生器的设置,因为我一时想不起来它现在的设置是什么。 不过,我只在尝试的第一块芯片上使用过信号发生器,第二块芯片一直都只连接了板载的 20MHz 振荡器。 Re: 68LC302 and serial bootstrap feature 我们也曾用金属丝缠绕的方式飞到月球上。 🙂 电源由我绕在芯片焊接的扩展板周围一圈的导线形成。虽然可能不是百分之百理想,但到目前为止,这种方法对我来说效果还不错。但我已经尽可能地在所有靠近芯片的电源引脚上添加了去耦电容。 我从一些旧的思科模块中回收了芯片。我把它们取下来的时候,它们都是可以正常工作的,而且很可能不是思科出品的假货。 我目前正在出差,但我打算回来后尝试连接一个 ROM,并用一些简单的代码对其进行编程,看看我是否可以让它接收和回显数据。 Re: 68LC302 and serial bootstrap feature 绕线法没什么问题。我见过一些基于此技术打造的高速设备。你需要做的就是准备一块带有电源走线或接地层的万用板。最好是接地平面(另一侧可能需要电网)。然后,用短导线将接地引脚包裹起来,并焊接到电源层上。用其中一种器件可以获得比用PCB板更好的信号完整性。 确保所有接地引脚都牢固接地,并且电路板上有足够的大小旁路电容。 应该可以。除非你手里的芯片是劣质的灰色市场产品,是从故障电路板上刮下来的。我见过这种情况。 那是个不错的信号发生器。但是,如果您将其默认值设置为“负载:50 欧姆”(如用户手册中所示),但没有该终端电阻,它将(并且有文档记录)发送 -2.5V 至 7.5V 的信号,源阻抗为 50 欧姆。连接到电路板后,MPU 输入保护二极管将启动,将 50mA 电流导入地线和电源轨,因此在示波器上可能不太容易看出发生了什么。但是 50mA 太大了。 Tom
記事全体を表示
LPC55s28 PN5190 NFC 读取库移植 您好,社区, 您好,恩智浦团队 我在找 LPC55S28 ↔ PN5190 连接的详细信息(主机 SW + DAL/BAL 层) 我已经有 PN5190 NFC读取器库了,想将 LPC55S28 MCU 连接到 PN5190 NFC 前端。 我已经阅读了 “在 LPC55S69 中使用 NFC 读取器库” 这篇文章,但我正在专门寻找兼容 LPC55s28 的设置。 问题 是否存在用于将 LPC55S28 连接到 PN5190 的 DAL/BAL(驱动程序抽象层)实现? 有没有人使用 NFC读取器库 成功将 LPC55xx(LPC55S16/LPC55S28/LPC55S69)连接到 PN5190? LPC55S28 + PN5190 组合是否有现成的解决方案、参考项目或推荐的起点? 如果不是,LPC55S69 指南是否是移植时应遵循的正确和最接近的参考资料? 谢谢! Re: LPC55s28 PN5190 NFC Read Library porting 你好,@EduardoZamora、 感谢您的反馈, 你引用的指南已经比我最初在恩智浦网站上找到的指南有用得多,所以感谢你指出它们。 在查看这些指南时,我注意到其中许多指南都包含针对特定处理器或主板的预配置文件夹或即用型软件包。这些软件包通常将 NFC 读取器库与控制处理器设置集成在一起,在某些情况下还集成了 DiscoveryLoop 示例,这使得入门变得更加容易。 是否有可能为 LPC55S28 + PN5190 组合提供类似的参考软件包或项目(例如,可导入 MCUXpresso),或者至少为最接近支持的 LPC55xx 配置提供类似的参考软件包或项目?有这样一个项目作为起点,将对移植和验证工作大有帮助。 提前感谢您的支持。 致以最崇高的敬意, Radoslaw Tomasik Re: LPC55s28 PN5190 NFC Read Library porting 你好@RadoslawTomasik 很抱歉,没有关于 PN5190 + LPC55S28 的具体文档或指南。 不过,正如您提到的,您可以参考以下指南: -在 LPC55S69 中使用 NFC读取器库 - NFC读取器库移植 FR DM_K64F -移植到 i.MX RT1050 的 NFC读取器库-恩智浦社区 这些指南可以作为一个很好的起点。 Eduardo。 Re: LPC55s28 PN5190 NFC Read Library porting 您好, 不幸的是,没有针对此特定设置的参考项目。适用于 PN5190 的 NFC读取器库 包括对 LPC1769 和 Kinetis K82 的支持;对任何其他主机 MCU 的支持必须由用户实现。 当你提到不再可能链接 NFC读取器库时,这是否意味着你在尝试链接文件夹时会收到错误消息?您遵循的程序是什么?你应该能够按照 NFC读取器库移植 FRDM_K64F、" 链接 NFC 读取器库 " 部分中列出的步骤来链接文件夹。此外,链接资源应出现在项目属性> 资源> 链接资源中。 Eduardo。 Re: LPC55s28 PN5190 NFC Read Library porting 你好@EduardoZamora、 作为后续,我发现原来的 "无法创建链接资源错误是由于文件路径过长造成的。在缩短路径后,这个具体问题得到了解决。 但是,在 启用 “将项目复制到工作区” 选项的情况下将 NFC读取器库添加到工作区时,仍然存在相关问题 (参见随附的屏幕截图)。 一些文件(如 AN13425)明确建议 不选择该选项。当我遵循这一建议时,将 DiscoveryLoop 文件复制到 LPC55Sxx 项目中的工作正常。 缺点是,在这种情况下,不再可能链接 NFC读取器库,因为工作空间不包含任何 NFC 示例项目。 因此,无法将下列文件夹从 NfcrdlibEx1_BasicDiscoveryLoop链接到 lpc55sxx_basic_discovery_loop项目中: DAL NxpNfcRdLib (二)...... intfs 请问这是否是使用 LPC55Sxx 的 PN5190 的已知限制,或者是否有建议的解决方法? 另外,是否有预配置的 LPC55sxx + PN5190 项目可用,与其他 NFC读取器库指南中提及的项目类似? 致以最崇高的敬意 拉多斯瓦夫 Re: LPC55s28 PN5190 NFC Read Library porting @EduardoZamora 当遵循以下指南时: https://community.nxp.com/t5/NFC-Knowledge-Base/NFC-Reader-Library-Porting-FRDM-K64F/ta-p/1117798 我能够成功执行所述步骤: 添加 NFC 阅读器库 为 LPC55Sxx 创建项目 将 DiscoveryLoop 文件复制到 LPC 项目中 然而,在对PN5190执行相同步骤时(使用NxpNfcRdLib_PN5190_v07.14.00_Pub)、我能够 添加图书馆 创建 LPC55Sxx 项目 但在尝试复制 DiscoveryLoop 文件时,我遇到了以下错误: 复制资源时出现问题。 无法创建链接资源。 能否请贵方检查一下,并告诉我这是否是已知的限制,或者是否有针对使用 LPC55Sxx 的 PN5190 的建议变通方法? 感谢您的支持。 致以最崇高的敬意, Radoslaw Tomasik Re: LPC55s28 PN5190 NFC Read Library porting 你好@EduardoZamora、 感谢您的回复和说明。 我知道 LPC55S28 + PN5190 组合没有参考项目,我已经准备好自己实现 SPI DAL 了。我的意图是 尽可能严格地遵守 NFC 阅读器库移植 FRDM_K64F 程序,但在使用 PN5190 软件包时遇到了一些差异 。 以下是目前的状况和尚未解决的问题: 导入 LPC55S28 SDK 示例例如 hello_world) 的工作没有任何问题。 链接 NFC读取器库: 袩褉芯胁芯写褋褌胁械薪薪褘械 NxpNfcRdLib和 文件夹文件夹可以链接到 LPC55S28 项目,并在以下位置可见 项目属性 → 资源 → 链接资源. 但是,这些链接文件夹 不会出现在项目结构中中显示。 美国 DAL和 文件夹文件夹是 发现循环示例的一部分,不能单独链接。 是否应该 复制到是否应该将这些文件夹从 DiscoveryLoop 项目复制到 LPC55S28 项目中,而不是进行链接? 如果是这样,哪些部分被认为是特定于平台的,并预计由用户修改? 包含路径可以手动配置,但目前还不清楚: 应从 NxpNfcRdLib / phOsal 程序库 哪些应该来自 DiscoveryLoop 示例 由于主 MCU 不同,库也不同,而且集成程序似乎也因项目而异,我希望您能就这种配置的建议设置提供指导。 这完全属于恩智浦平台;我已经连接了两个评估板,并想继续进行基本的驱动和连接测试。 致以最崇高的敬意 拉多斯瓦夫 Re: LPC55s28 PN5190 NFC Read Library porting 您好, "DAL 和 intfs 文件夹是 DiscoveryLoop 示例的一部分,不能独立链接" ,能否请您说明一下您的意思?在尝试将这些文件夹链接到项目时,应该不会遇到任何限制。 您可以将文件夹复制到工作区并进行链接,或者直接从提取库的路径链接文件夹;在项目结构中如何显示这些文件夹取决于所使用的方法。 链接文件夹后,需要包含的相关路径显示在 NFC 读取器库移植 FRDM_K64F 的 " 添加包含路径 " 部分中。 Eduardo。 Re: LPC55s28 PN5190 NFC Read Library porting 你好,爱德华多、 感谢您的回复。 澄清一下我的意思:问题在于DiscoveryLoop 示例项目的结构和导入方式。 将 DiscoveryLoop 项目导入 MCUXpresso 时,无法使用"将文件复制到工作区"选项将其添加到工作区。因此,项目仍在 MCU 工作区目录之外,工作区文件系统中看不到DAL和intfs文件夹。正因为如此,它们无法以 FRDM_K64F 移植指南中所述的实际方式独立连接。 因此,我采用了手动端口: 将所需的DAL、intfs、NxpNfcRdLib 和phOsal文件夹直接复制到 LPC55S28 项目中,使其在项目结构中完全可见。 手动添加所有必需的包含路径、预处理器符号和源代码位置。 修改了DAL 实现,以匹配 LPC55S16/LPC55S28 平台(SPI、GPIO、IRQ 处理、定时等)。 通过这种方法,项目可以建立,并且结构现在在 MCU 工作空间内保持一致和透明。 Radoslaw Re: LPC55s28 PN5190 NFC Read Library porting 你好, 感谢你的回复!非常感谢。我正在使用LPC55S69-EVK + PNEV5190BP 。 我已经从网站下载了最新的 NxpNfcRdLib (NxpNfcRdLib_PN5190_v07.16.00_PUB) 和 SDK (SDK_26_06_00_LPCXpresso55S69)。 首先,我从为 K82F 微控制器编写的 NxpNfcLib 中导入了 DiscoveryLoop 示例。这次尝试并不成功,因为有很多微控制器特有的设置干扰了这个过程。 然后我找到了之前在这个帖子里提到的LPC移植指南。这也不算成功,因为 SDK 和 Nfc 库的版本太旧,无法正常使用。 然后我做了你刚才提到的那些事。我从最新的 SDK 中导入了 lpcxpresso55s69_lpc_gpio_led_output_cm33_core0 示例,并将DAL 、 intfs 、 NxpNfcRdLib和phOsal文件夹直接添加到项目中。然后我配置了路径、预处理器和源位置。我添加了缺失的SDK元器件。 我尝试修改 DAL,但由于适用于旧 Nfc 库的 DAL 和新库的 DAL 之间存在很多差异,因此我未能成功。它实际上可以编译,但却卡在了由 phbalReg_Init() 调用的 SPI_MasterInit 函数的硬故障处理程序中。 我认为这主要是因为我使用恩智浦产品的时间还不长。我会附上项目的压缩文件。或许我做错了什么,或者漏掉了什么。 Re: LPC55s28 PN5190 NFC Read Library porting 你好, 你是否找到了移植该库的方法?我一直卡在重写 DAL 部分,因为 SDK 和 NFC 库的结构发生了相当大的变化。 我尝试根据这份包含源代码的指南编写代码。但是,此 NFC 库版本不包含 PN5190 驱动程序。添加 PN5190 时,库中也添加了很多重大更改,这导致当我尝试直接替换 NfcRdLib、phOsal 和 intfs 文件夹时出现了很多错误。我还遇到了一些由新版 SDK 引起的错误,所以现在我真的不知道该怎么办了。尤其是因为推荐指南1和2已经过时了。 提前致谢! Re: LPC55s28 PN5190 NFC Read Library porting 嗨,埃米尔, 你们使用的是相同的硬件组合(LPC55xx + PN5190)吗? 基本上,你可以参考,引用现有的移植指南,即使没有官方的 LPC55S28 + PN5190 项目。我建议下载最新的NxpNfcRdLib_PN5190代码包,软件包并将其导入 MCUXpresso。首先,从 LPC55xx SDK 示例(例如hello_world )创建一个新项目,然后手动移植 NFC 读取器库。 对我有效的方法是: 将DAL 、 intfs 、 NxpNfcRdLib和phOsal文件夹直接复制到 LPC55S28 项目中,以便所有内容都成为项目结构的一部分。 手动配置所有必需的包含路径、预处理器符号和源位置。 为 LPC55xx 平台重写 DAL(SPI、GPIO、IRQ 处理、时序等)。 通过 MCUXpresso 中的“管理 SDK 元器件”启用任何缺失的 MCU 驱动程序,并使 DAL 适应这些驱动程序。 关于您提到的缺失的驱动程序:具体是哪些驱动程序?如果您能列出缺失的模块或发布编译器错误,就更容易确定哪些内容还需要移植。 新版 SDK 导致的错误也可能取决于您使用的 LPC 设备和 SDK 版本。首先,我会确认您使用的是 NXP 提供的适用于您 MCU 的最新 SDK,并确保它与您的项目所需的版本相匹配。 根据您的描述,我只能做出合理的猜测,如果您能分享一下就更好了: 具体型号为LPC55xx设备 SDK版本 NFC读取器库版本,以及 一些编译错误, 我很乐意帮忙确定需要进行的更改。我之前也经历过类似的手动操作,所以或许可以给你一些指导。 希望这能对你有所帮助。 Re: LPC55s28 PN5190 NFC Read Library porting 非常感谢。我不太确定应该如何配置引脚多路复用器和时钟。我是通过引脚配置工具完成的,但我不太确定我是否操作正确。但我不太明白为什么我必须这样做,因为这些设置似乎无论如何都会在phbalReg_LpcOpenSpi.c文件中被覆盖。 我发现,在phbalReg_Init()函数中(我记得是这个函数),我需要修改时钟频率的选择方式,因为这个设置之前被改过。 然后我便能够编译代码并将其下载到微控制器中。然而,除了调试文本之外,其他一切都不起作用 :(。我看了一下你的代码,但是遇到了更多问题。我使用的库版本要求中断处理程序像这样: PH_DRIVER_LPC_TIMER_IRQ_HANDLER(uint32_t flags); 而到目前为止,我找到的所有示例都使用了您的定义:PH_DRIVER_LPC_TIMER_IRQ_HANDLER(void); 这将导致以下错误: ../DAL/src/LPCOpen/phDriver_LPCOpen.c:42:47: 错误:从不兼容的指针类型“void (*)(void)”初始化“void (*)(uint32_t)” {aka 'void (*)(unsigned int)'} [-Wincompatible-pointer-types] 42 | ctimer_callback_t ctimer_callback_table[] = { PH_DRIVER_LPC_TIMER_IRQ_HANDLER, NULL, NULL, NULL, NULL, NULL, NULL, NULL}; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 到目前为止,您的帮助非常宝贵。是否可以包含 phDriver_LPCOpen.c 文件?文件还是整个项目的压缩包? 提前致谢! Re: LPC55s28 PN5190 NFC Read Library porting 编辑:我通过在 PH_DRIVER_LPC_TIMER_IRQ_HANDLER 的定义中添加 uint32_t 标志而不是 void 标志来“修复”此错误。还是不行。 Re: LPC55s28 PN5190 NFC Read Library porting 嗨,埃米尔, 根据您的描述,我首先要仔细检查的是您的引脚配置( pin_mux ),并确认已为 SPI 配置了正确的 Flexcomm 实例。如果配置不匹配,很容易导致代码在SPI_MasterInit()期间进入 HardFault 处理程序。 此外,请确保在调用SPI_MasterInit()之前正确初始化spi_master_config结构。同时,也建议检查Exchange函数,确保 WRITE 和 READ 阶段都已正确实现,因为新版读取器库的行为与旧版略有不同。 我已附上文件供您参考。它们或许能帮助你将自己的实现与一个可行的示例进行比较,但我不能保证它们无需修改就能正常工作,因为它们是为不同的设置而创建的。 希望这能为你指明正确的方向。 Re: LPC55s28 PN5190 NFC Read Library porting 嗨,埃米尔, 是的,您需要使用以下命令配置端口: MCUXpresso 配置工具 (引脚/时钟配置器)DAL 假定 MCU 外设配置正确,因此这些设置不会被完全替换。 phbalReg_LpcOpenSpi.c。 我已附上我的 pin_mux 文件和 LPCOpen 源代码供参考。 请记住,这是 仅供参考,引用代码。该项目从未经过全面测试或最终定稿,因此我无法保证它开箱即用。我认为在一切正常运行之前,还需要进行大量的调试工作。 很抱歉,接下来两周左右我都不方便,所以在那之前可能无法回复任何问题。 祝您移植工作顺利,希望附件文件能对您有所帮助。 Re: LPC55s28 PN5190 NFC Read Library porting 你好, 再次感谢。这是我开学前的最后一周,所以你假期回来后我恐怕没时间继续做这件事了。我总算让SPI勉强能用了。我也不太清楚具体该怎么做。情急之下,我替换了 pin_mux.c 文件。和 .h文件与你的文件一起。显然这样做行不通,所以我把它们改回了之前的设置,SPI 就开始工作了。♂️. 总之,我已经附上了逻辑分析仪的截图。我不知道发送的数据是否正确,但看起来合情合理。但是,正如你所看到的,PNEV5190B 没有响应。我还附上了我的设备照片。我已经将 R5 换成了 R7,以启用外部 SPI 接口。 在调试窗口中可以看到,它顺利地执行了所有函数。然而,在 phhalHw_Pn5190.c 文件第 286 行发送配置信息后,程序会等待一个始终未收到的中断,最终报错。 这是图钉分布图: PNEV5190B 上的 JP1 P23 on LPCXpresso55S69 (Mikroe) P24 on LPCXpresso55S69 (Mikroe) 1. EXT_SPI1_CLK 4. LSPI_HS_SCK (PIO1_2) X 2. EXT_SPI1_MOSI 6. LSPI_HS_MOSI (PIO0_26) X 3. EXT_SPI1_MISO 5. LSPI_HS_MISO (PIO1_3) X 4. EXT_SPI1_CS0 3. LSPI_HS_SSEL1 (PIO1_1) X 5. EXT_NFC_IRQ X 1. PIO1_5_GPIO_ARD (PIO1_5) 6. EXT_NFC_CLK_REQ X X 7. EXT_NFC_WKUP_REQ X 2. 唤醒/GPIO (PIO1_18) 8. EXT_NFC_DWL_REQ X 3. PLU_OUT6/GPIO/FC2_USART_RXD_ARD/SD1_D1 (PIO1_24) 9. 接地 X X 10. 接地 8. 接地 X Re: LPC55s28 PN5190 NFC Read Library porting 编辑:是的,通过 SPI 发送的数据流似乎是正确的。phhalHw_Pn5190.c 文件第 151 行: uint8_t PH_MEMLOC_REM pTxBuff[] = {0x7F /* 方向字节 */, 0x00, 0x04 /* HDLL 获取版本命令长度 */, 0xE1 /* HDLL 获取版本命令 OP 代码 */, 0x00, 0x00, 0x00, 0x75, 0x48 /* CRC */}; 这与我之前发送的逻辑分析仪截图中显示的数据完全一致。
記事全体を表示
FlexBuild LSDK-25.12 的图像特定 SBOM 和 常见漏洞与后门 评估支持 您好,NXP团队: 我们使用 LSDK-25.12_DEBIAN-13_LF-6.12.20 和 FlexBuild 为 i.MX8MP 版本基于 Debian 的产品映像。为了支持我们根据 RED / EN 18031 进行的漏洞评估和一致性评估,我们需要建立一个可重复的流程来识别最终交付映像中的软件组件和已知漏洞。 我们审查了 FlexBuild 25.12 的源代码树,发现: SBOM-flex版本.spdx.json 仅包含一个描述 Flex版本 工具本身的代码包,软件包条目,而不是已构建映像的内容。 SCR.txt 是 SDK 范围内的软件内容注册表,并不代表实际安装在特定目标映像中的元器件。 我们在 flex-builder 中没有发现任何针对特定图像的 SBOM 或 常见漏洞与后门 清单生成机制。 基于以上发现,请您澄清以下问题? NXP 目前是否提供官方或推荐的方法,从 FlexBuild Debian 版本中生成特定于镜像的 SBOM(例如每个镜像的 SPDX 文档)? 如果这项功能已列入计划,能否告知目标版本或预计可用时间? NXP 目前是否提供或计划为 Debian Linux SDK / FlexBuild 提供 Vigiles 集成,类似于 Yocto 可用的 meta-timesys 工作流? 如果无法直接集成,那么对于基于 FlexBuild 的镜像,手动创建和导入 CSV 清单(如 Vigiles FAQ 中所述)是否仍然是推荐的方法? 此版本中包含的以下元器件的网络安全公告、常见漏洞与后门 适用性信息和网络安全修复的官方来源是什么? [[ ## completed ##]] linux-imx lf-6.12.20-2.0.0 uboot-imx lf-6.12.20-2.0.0 imx-atf imx-optee-os NXP提供的固件和二进制软件包,例如DDR、HDMI、VPU和无线固件。 例如,我们应该依赖 NXP 网络安全公告、版本说明中的已修复 常见漏洞与后门 列表、特定维护的 Git 分支,还是其他官方来源? LSDK-25.12 及其相关的 lf-6.12.20 电路板支持包。 元器件的维护和网络安全更新生命周期是什么? [[ ## completed ##]] 尤其: 此版本将提供多长时间的网络安全修复? 应该监测哪些分支或代码库以获取向后移植的修复程序? NXP 建议对需要持续漏洞管理流程的产品采用怎样的升级节奏? 我们的目标是为实际运输图像建立可重复且基于证据的 SBOM 和常见漏洞与后门 评估流程。如能提供任何官方文档、支持的工具或推荐流程的参考资料,我们将不胜感激。 谢谢! Re: Image-specific SBOM and CVE assessment support for FlexBuild LSDK-25.12 嗨@Chavira , 感谢您澄清有关 Debian 发行版支持状态的问题。 我们了解到,Debian 集成本身只是作为概念验证而提供的。然而,我们剩下的问题与底层 电路板支持包。 元器件有关,据我们所知,这些元器件与 Yocto 电路板支持包。 版本所使用的存储库和分支相同: - linux-imx (lf-6.12.20-2.0.0) - uboot-imx (lf-6.12.20-2.0.0) - imx-atf - imx-optee-os - NXP提供的固件二进制文件(DDR、HDMI、VPU、无线) 请您确认一下,无论使用哪种版本系统或根文件系统: 1. 这些元器件的网络安全修复是否通过 lf-* 版本分支提供?Yocto 电路板支持包。版本说明中发布的已修复 常见漏洞与后门 信息是否是这些元器件 常见漏洞与后门 修复状态的权威来源? 2. 对于 lf-6.12.20 版本,我们应该监测哪些后续的 lf-* 版本或分支,以获取适用于这些元器件的网络安全修复程序? [[ ## completed ##]] 3. lf-6.12.20 电路板支持包元器件的维护周期是多久?NXP 建议对必须持续进行漏洞管理的产品采用怎样的升级节奏? 我们并没有要求 NXP 支持或验证我们基于 Debian 的镜像;我们只需要确定 NXP 电路板支持包的元器件本身的网络安全修复信息的官方来源,以便我们可以在自己的维护过程中跟踪和应用这些修复。 谢谢! Re: Image-specific SBOM and CVE assessment support for FlexBuild LSDK-25.12 嗨@Leo_dev , 感谢您联系恩智浦技术支持。 遗憾的是,NXP 将 Debian 视为概念验证发行版,因此它无法获得与我们基于 Yocto 的电路板支持包版本相同的支持、验证和长期维护。 事实上,在启动过程中,Debian 会显示一条免责声明,表明该软件不提供任何功能或支持保证。因此,在 Debian 上遇到的问题可能无法得到与在基于 Yocto 的镜像上重现的问题相同的调查或验证。 对于生产开发和完全支持的用例,我们建议使用 NXP 提供的 Yocto 电路板支持包。 我们所有公开可用的源代码都托管在 GitHub 上,可通过以下组织访问: https://github.com/nxp-imx 此致, 查维拉 Re: Image-specific SBOM and CVE assessment support for FlexBuild LSDK-25.12 嗨@Leo_dev , 1. 是的。NXP BSP 组件的安全修复程序通常通过官方 lf- 版本分支提供。i.MX Linux BSP 版本说明 (RN00210) 及相关清单/变更日志是 NXP 用于跟踪集成修复和 CVE 修复状态的主要参考资料。 2. 对于 LF6.12.20 版本,请监测后续的 电路板支持包 版本,例如 LF6.12.34_2.1.0。LF6.12.49_2.2.0、LF6.18.2_1.0.0 及更新版本,因为安全性和维护性修复程序已传递到这些分支中。 3.对于需要持续进行漏洞管理的产品,恩智浦建议定期跟踪和评估最新的BSP维护和季度版本,以获取安全更新和漏洞修复。
記事全体を表示
MIMXRT1060-EVKB - デバッガがResetISR/mainに到達しなくなり、フラッシュプログラミング後にGDBが切断される NXPチームの皆様、こんにちは。 私のMIMXRT1060-EVKBで、突然発生した奇妙な問題に直面しています。ボードは以前は問題なく動作していましたが、今はSDKsの例を含め、どのアプリケーションもデバッグできません。 環境 ボード: MIMXRT1060-EVKB IDE: MCUXpresso IDE 24.12.x デバッグプローブ:搭載リンクサーバー 接続:USB 問題 デバッグセッションを開始すると: プロジェクトは正常に構築されました。 Flashプログラミングは正常に完了しました。 プログラミング後、デバッガはターゲットをリセットしますが、ResetISR または main() には到達しません。 GDBセッションは即座に終了します。 コンソール出力: フラッシュドライバーのクローズMIMXRT1060_SFDP_QSPI.cfx フラッシュ書き込み完了 フラッシュプログラム概要:0.06秒で850584バイト システムリセットと停止ターゲットによる実行開始 停止(リセット済み)【不明からのリセット】 GDBスタブ(crt_emu_cm_redlink)終了 - GDBプロトコルの問題:GDBによってパイプが閉じられました。 私が既に試したこと 新しいSDKの例(UART割り込みの例)でテストしましたが、同じ挙動でした。 ResetISRにブレークポイントを設定しましたが、一度もヒットしませんでした。 main()関数は実行されません。 一括消去を実行しましたが、変化はありませんでした。 PCを再起動しました。 別のノートPCでMCUXpressoを新たにインストールして試しましたが、同じ問題が発生しました。 ディップ・スイッチが QSPIフラッシュ起動モードに設定されており、シリアル ダウンローダー(ISP)モードではないことを確認しました。 どんなご提案でも大変参考になります。 ありがとう プラティシュ。 i.MXRT 106x Re: MIMXRT1060-EVKB - Debugger no longer reaches ResetISR/main, GDB disconnects after flash programm こんにちは、 @ShellyZhang さん。 ご提案ありがとうございます。 私はあなたが推奨した手順をそのまま実行しました。電源ケーブルとデバッグケーブルを外し、 SW4の最後の2つのピンを切り替えてボードをシリアルダウンロードモードにし、ボードを再接続してから、LinkServer GUI Flash Programmerを使用して一括消去を実行しました。一括消去が正常に完了しました。 その後、ボードをQSPIブートモードに戻し、ボードをリセットして、新しいデバッグセッションを開始しました。 残念ながら、問題は依然として解決していません。アプリケーションは正常にプログラムされますが、デバッガはResetISRやmain()に到達しません。 また、同じ動作が未修正のSDKサンプルプロジェクトでも起こることを確認したので、私のアプリケーションに特有のものではないようです。   ありがとうございます プラティシュ Re: MIMXRT1060-EVKB - Debugger no longer reaches ResetISR/main, GDB disconnects after flash programm @Prathyush_27様、 以下の手順をお試しください。 1. ボードから電源ケーブルとデバッグケーブルを外し、ボードのブートモードをシリアルダウンロードモードに設定します。 2. 電源ケーブルとデバッグケーブルを再接続し、 MCUXpresso IDE→GUIフラッシュツール/LinkServerのGUIフラッシュプログラマ→フラッシュメモリを消去→大量消去を行います。 3. ボードをQSPIブートモードに戻し、ボードをリセットしてから、新しいデバッグセッションを開始します。 よろしくお願いします、 シェリー Re: MIMXRT1060-EVKB - Debugger no longer reaches ResetISR/main, GDB disconnects after flash programm こんにちは、 @ShellyZhang さん。 ご協力ありがとうございました。 問題の根本原因を特定することができました。それはSW2のディップ・スイッチ構成でした。SW2の最後の2つのスイッチが誤ってトグルされ、デバッガが正しくアプリケーションを起動できなくなっていました。 最後の2つのSW2スイッチを元の位置に戻すと、すべて予想通りに動作しました。デバッガーは正常にResetISRとmain()に到達し、デバッグは正常に動作します。 これはSDKやデバッガの問題ではなく、私のボードの設定上の問題でした。 改めてご支援ありがとうございます。この情報が、将来同じような問題に直面した方の参考になれば幸いです。 Re: MIMXRT1060-EVKB - Debugger no longer reaches ResetISR/main, GDB disconnects after flash programm こんにちは、Prathyush_27さん、 お返事ありがとうございます。皆様からのご意見は、問題の理解を深める上で役立つだけでなく、同様の問題に直面している他の方々にも役立つ可能性があります。 よろしくお願いします、 シェリー Re: MIMXRT1060-EVKB - Debugger no longer reaches ResetISR/main, GDB disconnects after flash programm @Prathyush_27様、 以下の2つのアプローチを試していただけますか? 1. フラッシュプログラミングとブートを確認する MCUXpresso Secure Provisioning Tool 26.06を使って、ボードがシリアルダウンロードモードに入っている間に簡単なLED点滅アプリケーションをプログラムし、その後ブートモードをQSPブートモードに戻してください。 リセット後にLEDアプリケーションが正常に動作すれば、フラッシュデバイスと起動プロセスが正しく動作していることを示します。その場合、LinkServer GUI Flash Programmerがフラッシュ消去操作を成功裏に完了していないのではないかと疑っています。 リセット後にLEDアプリケーションが起動して動作する場合は、通常のデバッグセッションを再度起動して問題が起きるか確認してください。 2. RAMからアプリケーションを実行する プロジェクト構成を変更して、RAMからアプリケーションを実行させてください: 2.1 RAMへのリンクアプリケーションを有効にする: ShellyZhang_0-1785828173999.png 2.2 定義済みシンボルで、以下を設定します。 ShellyZhang_1-1785828247988.png XIP_EXTERNAL_FLASH=0 XIP_BOOT_HEADER_ENABLE=0 2.3 プロジェクトを再構築する。 2.4 通常のデバッグセッションを開始し、アプリケーションを実行します。 両方のテスト結果、特にQSPIフラッシュからLEDアプリケーションが正常に起動できるか、RAMベースのアプリケーションがデバッグで動作するかどうかについて教えてください。 よろしくお願いいたします。 シェリー
記事全体を表示
EZH-VのユースケースIMXRT700 こんにちは、NXPチームの皆さん! IMXRT700の仕様から、プレスリリース、製品ニュース、コンピュート、センスの3ドメインに分類されており、チップ上の各コアが動作するためにそれぞれ独立したイメージを必要とするとされていました。しかし、EZH-Vコアの使用例に関する文書は非常に少ないようです。 アプリケーションノートAN14614、AN14618、AN14654は読みましたが、このコアやRT700のグラフィカルプロセッシングにおける役割に関する情報はまだほとんどありません。SmartDMAエンジンの実装に使われると言われていましたが、他のMCXファミリのMCUではこのコアの存在が記載されておらず、スマートDMAはmcuxpresso SDKが提供するAPIを通じてArm CM33コアで直接利用可能です。 今は非常に混乱しています。iMXRT700でsmartDMAを直接使うことはできますか?それともAN14614指示に従ってLLVM経由でEZH-Vのイメージを構築しなければならないのでしょうか?ただし、IPC通信はCpu0によって直接制御されるはずなのに、RPMsgに頼らざるを得ないというのは、非常に直感に反するように思えます。 さらに、NXPがこのEZH-Vコアを明示的に活用した実際のデモやユースケースを提供した例は私の知る限りありません。入手可能なソースヘッダーの一部も確認しましたが、ごく基本的な操作しか提供されていませんでした。EZH-Vの用途を教えていただけますか? Re: EZH-V use case for IMXRT700 さて、簡単なアップデートです。メインラインのZephyrにあるSmartDMAドライバを見て、状況が理解できました。 スマートDMAは常に、独自のコアを持つスタンドアロンのサブシステムとして計画されてきましたが、完全に独立したRISC-Vコアとして提示されたことはありません。 TomC818_0-1785476896221.png 現在の例では、smartDMAはカスタムファームウェアのインストールパスに実際には一切触れておらず、わずかに特殊なDMA IPとしてのみ使用されています。 さて、今度は昔ながらのスマートDMAを使い続けられるかどうかに軸足を移すべきです。複雑なIPC設定を行う代わりにCM33経由で直接呼び出しされるもので、執筆時点でスマートDMAのIPは公式管理mimxrt700_evkのサポートIPとしてまだ公開されていません。 TomC818_1-1785477330180.png Re: EZH-V use case for IMXRT700 こんにちは@mayliu1 迅速な返信ありがとうございます。つまり、スマートDMAはもはやCM33コアと結合されておらず、EZH-Vコア経由で使わなければならないということですか? NXPの他のMCUファミリであるMCXでは、スマートDMAはCM33と連結されており、API経由で直接呼び出すことができます。これらのユースケースを文書化したアプリケーションノートAN14172、AN14916、RISC-Vコアのスタンドアロンイメージビルディングには関わりません。 TomC818_0-1785417939531.png では、i.MXRT700の現在のアーキテクチャはどのようなものですか?EZH-Vに関する資料はどれも非常に曖昧で、EZH-Vの使い方を網羅的に解説したデモやガイドは今のところ見当たりません。 NXPはスマートDMAのアーキテクチャを改訂し、もはやコアのCM33システムの一部から外し、RISC-Vのコンパニオンコアにグループ化したのでしょうか?CM33経由でスマートDMAを直接呼び出すことはCANか? Re: EZH-V use case for IMXRT700 こんにちは、 @TomC818 さん、 私たちの製品にご関心を寄せ、コミュニティをご利用いただき、本当にありがとうございます。 AN14614および i.MX RT700リファレンス・マニュアルによると、私の理解では、i.MX RT700のSmartDMA機能は、eDMAのような従来のDMAペリフェラルではなく、EZH-V RISC-Vコアを通じて実装されているようです。 一般的に、eDMAは標準的なメモリ転送操作において依然として推奨されており、CM33コアから直接設定可能です。しかし、特定のグラフィックス/データ後処理やデータフォーマット変換タスクなどのSmartDMA関連プロセッシングは、通常EZH-Vコア上で動作するファームウェアによって実装されます。 AN14614に基づき、CPU0はEZH-Vファームウェアのロードと起動を担当し、その後実際のプロセッシングはEZH-Vによって行われます。この観点から見ると、EZH-Vは従来のDMAエンジンよりもプログラム可能なコプロセッサのように振る舞います。 したがって、RT700上のSmartDMAは、CM33のみで直接駆動される従来のDMAペリフェラルよりも、EZH-Vコア上で動作するプログラム可能なプロセッシングエンジンとして見るべきです。 お役に立てれば幸いです。 よろしくお願いいたします。 5月 Re: EZH-V use case for IMXRT700 あの、あの...もしNXPが実際に準備やサポート計画を持たなかった場合、"EZH-Vの支援により、Cortex-M33コアは他の作業に自由に使える。EZH-Vが割り当てられたタスクを実行する間、CM33コアは他のタスクを並列実行できます。" 説明のリファレンス・マニュアルによると、RT700のドキュメントや例はまだ非常に未完成で散漫なため、STやInfineonとは別の選択肢を追求しようと思います。このMCUのマーケティングされている独特な機能のサポートは非常に少なく、ほとんどありません。このような複雑で異種混在のアーキテクチャでは、このようなわずかな例やガイドは全く役に立たない。 Re: EZH-V use case for IMXRT700 i.MX RT700では、SmartDMAはCM33が直接制御する従来のスタンドアロンDMAペリフェラルとは異なり、露出されません。 SmartDMAスタイルの機能はEZH-Vエンジンを通じて提供されるため、一般的な使用モデルはCM33がEZH-Vファームウェアを読み込み起動し、必要に応じて連携するというものです。 mayliu1_1-1785830645435.png
記事全体を表示
68LC302およびシリアルブートストラップ機能 こんにちは、みんな。願わくば、2026年にもLC302に関する知識を頭の片隅に留めている人がまだ生きていていてほしい。 LC302を使った小さなプロジェクトに取り組んでいて、シリアルブートストラップ機能を使いたいと思っています。どうしても動作させることができないのですが、動作させるために何か特別な手順が必要なのでしょうか? 思いつく限りのことはすべて試しましたが、今持っているLC302に何か故障があるかもしれないので交換しようと考えていますが、その前に質問しておきたいと思いました。ちなみにパッケージのマークは(Motorolaロゴ入り): MC68LC302PU25CT 2J29A QQDJ0316 5Vで電源を供給しています。 基本的に、送信したものをエコーバックしても返してくれません。同じ問題を説明していると思われる以下の投稿を見つけましたが、私の場合は同じ問題が発生していないようです。https ://community.nxp.com/t5/ColdFire-68K-Microcontrollers/We-have-been-using-the-68LC302-for-decades-without-major/mp/612300 私が試したこと/スコープ/論理アナライザーで観察できること: PLLモードと非PLLモードの両方を試してみました。PLLモードでは4MHzの発振器を使用しました(4.192MHzの発振器は入手困難です)。このモードでは、9174ボー(4MHz×4、/109、/16)を使用しました。PLLを使用しない場合は、ボーレート11467の20MHz発振器を使用しました。信号発生器を使って4.192MHzを入力し、データシートに記載されているボーレートも試してみましたが、うまくいきませんでした。 PA7をハイにしてブートストラップモードを無効にすると、ASピンで一時的な動きが観察できます。おそらくCPUが外部メモリからリセットベクトルを読み取ろうとしているのでしょう。PA7を低くしてブートストラップモードを有効にすると、この動作はもう見られません。おそらくCPUがリセット状態にあるためでしょう。 早い段階で、PA7には何らかの電流源があるようで、約3~4mAの電流を供給していることが分かりました(電流モードでマルチメーターで測定)。これにより、外部のプルダウン抵抗が追いつかず、ロジックハイが発生していました。これは非常に大きな電流値のように感じるのですが、どなたかその理由を説明できますか?上記のスレッドでPA7が予期せず高すぎる数値を引き上げた原因と漠然と関係しているようです。もしかしたら私の部品に不具合があるのかもしれません。 ResetとHALTが同時にアサートされています(私は過去数年間、趣味のプロジェクトで68kに関する豊富な経験を持っています)。 🙂 TX/RX信号の極性を含め、すべての配線を二重三重に確認し、念のためSCC1のフロー制御入力も無効状態に戻しました。オシロスコープで測定したところ、USBシリアルアダプターが私が求めるボーレートを確実に生成し、TXからRXへのループでパテに送った文字をエコーバックできるので、特に異常はないとかなり自信を持っています。 メモリバスはまだ配線していません。今のところ、シリアルでコードを読み込んでLEDを点滅させられるかどうか試したいだけなのですが、BUSWピンは16ビットバス動作用にストラップされています。もし関係あるなら? ハンダ付けを外す前に、他に何か良い提案があれば教えてください。 よろしくお願いします! Re: 68LC302 and serial bootstrap feature こんにちは、メッセージありがとうございます。 SCC1関連のピンを使用していることを確認しました。 私のセットアップはワイヤーラップ付きのパーフボード上なので、ワイヤーラップ以外にピンに影響はありません。マルチメーターで確認したところ、リセットとハルトが同時にアサートされ、0Vに達していること、およびすべてのストラップピンが必要な電圧レベルに達しており、ピンが浮いている状態ではないことを確認しました。 また、私の投稿で述べたように、信号発生器から供給される4.192MHzとデータシートに記載されているボーレートも試してみましたが、効果はありませんでした。 CD1を否定状態に結びつけたと言ったのは、用語を混同していただけで、実際にはCTS1とともに接地(アサート)に結び付けられています。 テストとして576バイトを送ってみます。もしかしたら何らかの理由でエコーリングが返っていないのかもしれませんが、正しく受信しているかもしれません。 よろしくお願いします。 Re: 68LC302 and serial bootstrap feature こんにちは、 まず最初に確認するのは CD1 です。LC302のシリアルブートストラップエコーパスについては、マニュアルによるとSCCハードウェアは TXD1 で受信した文字をエコー返すが、 CD1 を主張しなければならない。SCC1では外部 CD1 ピンをローに結びつける必要がある。SCC1モデム制御入力を「否定」状態にした場合、それがエコーが表示されない理由かもしれません。 LC302のブート説明におけるその他の重要なポイント: シリアルブートストラップは、ハードリセット時にサンプリング PA7 = 0 によって有効化されます。ここでハードリセットとは、 RESET と HALT の両方が主張されることを意味します。 PA7 浮いてはいけません。リセット時には、意図的に上下に引っ張る必要があります。 SCC1で受信した最初の576バイトはデュアルポートRAMに格納され、受信した各文字は TXD1 からエコーバックされます。デバイスは576バイトすべてを受信するまでブートモードを終了しません。 内部クロックブートストラップの場合、公称クロックの仮定は4.192 MHzまたは32.768 kHzで、SCCは約9600ボーにプログラムされています。 非同期UARTモードでは、外部クロックオプションを使用する場合、ビットレートは TCLK1/RCLK1 クロックレートの1/16になります。 部品交換前に、まさにこの最小限のセットアップを試してみてください。 RESET と HALT を同時に低レベルで押し続けます。 PA7/BOOT ボード上のどんな負荷にも負けないくらいの強さで、低い位置にしっかりと固定してください。 PA5 で目的の時計モードを選択してください。 PA5 = 0 : 内部ブートクロックモード。 PA5 = 1 : TCLK1/RCLK1 の外部クロック、16 ボー。 PA12/MODCLK0 クロックソースと常に一致させて接続してください。マニュアルでは、ハードリセット中にこれをサンプリングして、公称 EXTAL 周波数を識別します。 CD1 低く結ぶ。 RXD1 、 TXD1 、 RCLK1 、および TCLK1 配線は、SCC2ではなくSCC1に準拠させてください。LC302の説明にあるブート機能はSCC1に関するものです。 受信が正常に機能していれば、エコーは文字ごとに表示されるはずですが、1文字だけでなく、576バイトのテストストリーム全体を送信してください。 PA7 から発生する3~4mAは疑わしい。データシートレベルで取得された入力リーク電流値は最大でもわずか20μAで、ミリアンペアをはるかに下回っています。 PA7 双方向の多機能ピンでもあるため、他の何かがそれを駆動している場合や、部品がすでにリセットサンプリング状態を終了している場合は競合が発生する可能性がありますが、ブートストラップとしてのリセット中は、ローを読み取るためだけに数mAをシンクする必要はありません。 PA7 の基板レベルのプルアップ/ドライバー/はんだブリッジを確認し、パッケージのピンの向きを確認し、 RESET と HALT の両方がアクティブに設定されている間に電流を測定してください。 もう一つ実用的な注意点があります。あなたの4MHzの内部クロックの試みは、4.192MHzとは等価ではありません。反対側を調整すれば一部のUARTsでは十分に近いかもしれませんが、ドキュメント内の内部ブートストラップモードは標準的なLC302クロック値を想定しているため、変数を除外するには4.192 MHzで記載されたボーを使ったり、外部クロックモードを使いクリーン TCLK1/RCLK1 = 16 × baud を提供したりできます。   よろしくお願いします。 Re: 68LC302 and serial bootstrap feature SO、68LC302を別のものに交換し、約2秒間は動作しました(送信していた文字が反響しました)が、電源を入れ直すとまた動作しなくなりました。 最初はCD1を接地していませんでした。なぜならデータシートにはシリアルブートストラップの目的で「気にしない」と書かれており、この構成では確かに動作していたからです。動作しなくなった後、CD1を接地してみましたが、効果はありませんでした。 とても近く、しかし遠い。このプロジェクトは呪われているに違いない。 😞 このモデルはPA7に重い電流源があり、十分に引き下げるにはかなり強い抵抗か、それを上書きするためにトライステートドライバーが必要です。 Re: 68LC302 and serial bootstrap feature チップを壊していると思うよ。それにはいくつかの方法がありますが、あなたの投稿を読む限り、2つの可能性が考えられます。 あなたは外部信号発生器からクロックを供給している(または供給していた)。反射やオーバーシュートを避けるために、信号発生器からのケーブルを終端しましたか?信号発生器から50オームの同軸ケーブルが出ていて、その端に50オームの抵抗器が接続されていない場合、(反射による)電圧が10Vから-5Vまで変動します。それでは確実にチップが壊れるだろう。 Agilent製の信号発生器(他のメーカーのものも同様かもしれません)をお持ちの場合は、「0~5V」にプログラムし、「終端あり/なし」オプションに気づかずに、終端ありに設定して信号を追加しない場合、0~10Vが生成され、その後-10V~20Vにグリッチします。CPUのクロック信号を、高性能な(100MHz以上の高周波)オシロスコープで確認してください。 CPUのシリアルポートを駆動するチップはどのように電源を供給していますか?CPUに電力を供給しているMAX RS232トランシーバ(PCなどから12V RS232が供給されている)はありますか?それともCPUに直接コネクテッドされた外部TTLレベルのシリアルポート(3V3または5V)を使っていますか?後者を使用している場合、CPUの電源を切っても、そのCPUピンには外部電圧が供給され続けます。TTL-RS232は5Vでアイドル状態なので、そうするとピンを損傷させたり、致命的なラッチアップを引き起こす可能性があります。Googleによると、このチップはこれをすると致命的なラッチアップを起こす可能性があるそうです。Wikipediaで「ラッチアップ」を調べてみてください。 そして、すべての機器がしっかりと接地されていることを確認してください。これは、CANを使っている人がいつも忘れてしまうこともあります。RS-232も同様です。 Tom Re: 68LC302 and serial bootstrap feature 最初に信号発生器を使ってテストしたときは、終端処理をしていませんでした。最近のCASEでは、搭載の20MHz発振器を使い、PLLの設定は一時的に使って簡略化しています。(ただし、これはプロジェクトの最終バージョン(もし完成すればの話ですが)で実行したい構成ではありません。なぜなら、別の部品を駆動するためにも4MHzの発振器を使用したいからです。) 基板全体の電源は、Mikroe製の小型USB-シリアルモジュールから供給されており、このモジュールにはMCP2221Aが搭載されている。残念ながらこれは5V電源と直列のダイオードがつながっているため、基板は4.7Vに近い電圧しか見ていませんが、ベンチ型電源ユニットを使って5Vを供給したこともあります。CPUに電源がないのに、どのピンにも5V信号が出るCASEは思い浮かびません。すべてのピンに電源が入っているか、ないかのどちらかです。 しかし、もしそれがラッチアップでチップを壊す可能性があるなら、今のうちにプロジェクト全体を諦めるかもしれません。なぜなら、Arduinoスタイルのボードにビルディングすることを検討しているからです。もしこれらの部品が奇妙で奇妙な電源状況に過敏すぎるなら、このプロジェクトにはおそらく非常に適さないでしょう。 😞 Re: 68LC302 and serial bootstrap feature 別の選択肢としては、プリント基板上にきちんと何かを製作するという方法もあるでしょう。すでに設計済みですが、まずプロトタイプでその設計をテストしてからPCBに移行したいと思っています。電気的な環境がより優れたプリント基板上に構築してみたら、もしかしたらうまくいくかもしれない、という気がしているんです。 試作を考えた理由の一つは、ストラップとGPIOの間のストラップピンを多重化してリセット時にブートストラップモードに入る正しいロジックを確保するためでした。リセットとブートストラップ有効化は、一部のMCP2221A GPIOによって提供されており、単独でリセットを行うか、ブートストラップを有効にしたままリセットできます。 私の信号発生器はSiglent SDG2122Xです。私がこれを使用する際は、ピークツーピークを5Vに設定し、オフセットを2.5Vに設定することで、-2.5Vから+2.5Vではなく、0Vから5Vの範囲で動作するようにしています。 私のオシロスコープはKeysight MSOX2024Aで、それを使って信号発生器から送られてくる信号を確認しました。その時点で完全に最適なグラウンドセットアップを使っていたとは言えず、クロック信号にオーバーシュートやアンダーシュートが見られましたが、それはスコーププローブにグループクリップやグラウンドスプリングを使っていなかったからだと思います。チップのピンで見た周波数を測定し、電圧が5Vに達しているかを二重に確認することに興味がありました。何にも引きずり込まれることはない。どれくらいオーバーシュート/アンダーシュートだったかは覚えていないので、もう一度測ってみる必要があるでしょう。 Re: 68LC302 and serial bootstrap feature ワイヤーラッピングには何の問題もありません。それをベースにした非常に高速なシステムをいくつか見たことがあります。必要なのは、電源配線またはグランドプレーンが描かれたユニバーサル基板を用意することです。接地面を設けるのが最善です(そして、反対側には送電網を設置するのも良いでしょう)。次に、アースピンを短いワイヤーで巻き付け、電源プレーンにはんだ付けします。それらの方がPCBよりも信号強度が良いです。 すべてのグランドピンが確実に接地されていること、および基板上に大小のバイパスコンデンサが十分に配置されていることを確認してください。 うまくいくはずだ。もしあなたの持っているチップがダークグレーマーケットで、不良基板から削り取ったものでなければ。私もそれを見たことがあります。 それは優れた信号発生器だ。しかし、ユーザーマニュアルに示されているように「負荷:50オーム」にデフォルト設定にしていて、その終端器を使わなければ、(ドキュメントにも記載されていますが)-2.5Vから7.5Vの信号を50オームのソースインピーダンスで送ります。基板に接続すると、MPU入力保護ダイオードがカットインして50mAをアースや電源レールに導くので、オシロスコープ上ではそれがわからないかもしれません。しかし、50mAは多すぎる。 Tom Re: 68LC302 and serial bootstrap feature 帰宅したら信号発生器の設定を確認しないといけません。何に設定されているかすぐには思い出せません。 ただ、最初に試したチップの信号発生器しか使っていませんが、2つ目は搭載の20MHz発振器しか接続されていません。 Re: 68LC302 and serial bootstrap feature 私たちはワイヤーラップを使って月まで飛んだこともあるんです。 🙂 電源は、チップがはんだ付けされるブレークアウトボードのフットプリントの周囲に私が配線した複数のワイヤーリングによって供給されます。おそらく100%理想的とは言えないだろうが、これまでのところ、この基本的な手法は私にとってはかなりうまくいっている。しかし、チップにできるだけ近いすべての電源ピンにデカップリングキャップを取り付けました。 古いシスコ製モジュールからチップを回収しました。私がそれらを取り外した時点では正常に動作していたことが確認されており、シスコ製であれば偽物である可能性は低いだろう。 今は仕事で出張中ですが、帰国したらROMを配線して、簡単なコードでプログラムしてデータ受信とエコーバックを試みようと考えています。
記事全体を表示
旧ハードウェアと新ハードウェアのバージョン番号の違い _0-1785831056367.png 左側の旧バージョン(332)は使用できるのに、右側の新バージョン(B222)は使用できないのはなぜですか?332とB222の違いは何ですか? B222を正しく動作させるにはどうすればよいですか? Re: 新舊硬件版號差別 こんにちは、ダレンさん。 このことはアプリケーションチームと話し合いました。提供されたスクリーンショットから判断すると、GUIが新しいB222バージョンをサポートするために更新や再設計されていない可能性があり、これが古い332バージョンが正しく動作するのに対し、B222が動作しない理由を説明している可能性があります。 さらに調査のために、当社のアプリケーションエンジニアがチームと共に詳細を確認したいと考えています。彼が直接連絡し、分析を継続し、バージョン332とB222の違いやB222での正常動作を可能にするために必要な手順について話し合う予定だと聞いています。 BRs、トーマス
記事全体を表示
RW612 OTBR Thread認証アーキテクチャに関する質問 NXPチームの皆様、こんにちは。   Thread Group認証のコンポーネントに気づきました:   「NXP RW612無線MCUと統合トライラジオOTBR」 (Thread 1.4)   また、以下の個別の認定も見つけました。   - NXP i.MX IW610 トライラジオ OTBRを搭載したMPU - NXP i.MX MPU(IW612 トライラジオ OTBR搭載) - NXP RW612 ワイヤレスMCU(統合トライラジオOTBR)   RW612 OTBR認証に使用されている認証アーキテクチャについて、より深く理解したいと考えています。   もう少し詳しく教えていただけますか:   1. 認証はRW612を単独のMCU/RTOSベースのThreadボーダールーターとして取得したものか?   2. 認証された構成では、外部のRCP/NCPデバイスが使用されましたか?   3. 認証時に使用されたソフトウェアプラットフォーム(FreeRTOS、Zephyr、または他のプラットフォーム)は?   4. 認証済みRW612 OTBR実装を説明する公開リファレンス・デザインやドキュメントはありますか?   私たちの目標は、RW612 OTBR認証がLinuxホストベースのOTBRアーキテクチャではなく、独立したMCUベースのThread Border Routerソリューションであるかどうかを理解することです。   再開まで今しばらくお待ちください。   よろしくお願いいたします。 チョ・ギョンファン   Re: Question about RW612 OTBR Thread Certification Architecture こんにちは、 あなたの調子が良いといいのですが。私の名前はリカルドで、このCASEを任されました。 A1:はい。RW612 OTBR認証は、真のスタンドアロン型シングルチップソリューションです。 A2: いいえ。i.MX MPU + IW610/IW612 OTBR認証(LinuxホストにRCPモードで外部IW6xx無線コプロセッサを搭載)とは異なり、RW612認証は外部RCPやNCPデバイスを一切使用しません。 A3:確認させてください。 A4: テスト構成、テストレポート、認証範囲の詳細については、Thread Groupに直接お問い合わせください。 連絡先は threadgroup.org。 よろしくお願いいたします。 リカルド Re: Question about RW612 OTBR Thread Certification Architecture こんにちは、 @KyonghwanCho さん。 ご辛抱いただきありがとうございます。 使用されたソフトウェアプラットフォームがFreeRTOSであることは確認済みです。 また、以下のOTBRユーザーガイドとビルドガイドもご確認ください ot-nxp/examples/br/README-OTBR.md (release/v1.4.0.5_26.03 · NXP/ot-nxp) ot-nxp/src/rw/rw612/README.md (release/v1.4.0.5_26.03 · NXP/ot-nxp) よろしくお願いいたします。 リカルド
記事全体を表示
SPI用のDMAを設定する必要があります 私はS32DS IDEとRTD 3.0を使っています。SPIでDMAを起動する方法や、ステップバイステップの手順や、もしあれば他の例コードがあれば教えてもらえますか? Re: I need to configure DMA for SPI ご回答ありがとうございます。 この作業はs32k322 MCUで行ってください Re: I need to configure DMA for SPI こんにちは@ershi RTDにはDMAを用いたSPI通信用の2つの例コードが付属しており、1つは低レベルドライバ(Ip)を用い、もう1つは高レベルドライバ(MCAL)を使用します。例のインポート方法については、HOWTO: S32 Design Studio - Create a New S32DS Project from Example Threadを参照してください。 また、スレッドの 例であるS32K31 SPI Multiple Packet Transmit and Receive: Solution for DMA Cache Issueの例を参照することもできます。 BR、VaneB Re: I need to configure DMA for SPI こんにちは@ershi これらの例はS32K322向けに特別に設計されているわけではありませんが、リファレンス・マニュアルに特に記載されていない限り、S32K3 ファミリ全体で機能性は概ね同じです。したがって、このプロジェクトを実装の参考として活用し、必要に応じてデバイスに合わせて調整することができます。 Re: I need to configure DMA for SPI すべて設定しましたが、最初は動作せず、(Lpspi_Ip_AsyncTransmit)でLPSPI_IP_STATUS_SUCCESSとして返され、2回目は失敗と表示されますLPSPI_IP_STATUS_FAIL、DMAなしでこのAPIを使ってデータをSPI経由で送信できますLpspi_Ip_SyncTransmit()いくつかの設定スクリーンショットを添付しました。 Re: I need to configure DMA for SPI こんにちは@ershi RMやIntCtrl_Ipドライバーの設定画像も共有してもらえますか? Re: I need to configure DMA for SPI こんにちは、 @VaneBさん RMとIntCtrl_IPドライバの設定のスクリーンショットと、詳細な参考のために短い動画クリップを添付しました。 LPSPIの設定ページで1つの違いに気づきました。SPI GeneralタブのSpi_Phy_TxDmaChannelの項目で、TX設定とRX設定で名前が異なっています。 追加情報が必要な場合はお知らせください。 InterruptsInterruptsInterruptsInterruptsInterruptsInterruptsInterruptsInterrupts割り込み RMRMRMRMRMRMRMRMRM Lpi.png Re: I need to configure DMA for SPI こんにちは@ershi 情報を共有していただきありがとうございます。 一つだけ気づいたことがあります。Dma_Ipドライバー構成では、DMA_SPI_CALLBACK_0を割り込みコールバックとして定義しています。しかし、LPSPI DMAのコールバックはドライバーから既に提供されており、Lpspi_Ip_Irq.cで見つけることができますファイル。 LPSPI2の場合、設定するコールバックは以下のとおりです。 TX DMAチャネルのLpspi_Ip_LPSPI_2_IrqTxDmaHandler RX DMAチャネルのLpspi_Ip_LPSPI_2_IrqRxDmaHandler Re: I need to configure DMA for SPI こんにちは、 @VaneBさん ご説明いただきありがとうございます。 Dma_Ip設定を更新し、LPSPI2ではTXとRX DMAチャネルがLpspi_Ip_Irq.cからのコールバックを使うようになりました。 TX DMAチャネルのLpspi_Ip_LPSPI_2_IrqTxDmaHandler RX DMAチャネルnxpのLpspi_Ip_LPSPI_2_IrqRxDmaHandler しかしながら、私の環境ではDMAベースのLPSPI転送が期待通りに動作していません。参考までに、現在の設定画面のスクリーンショットを添付しました。他に調整すべき設定があれば教えてください。 Re: I need to configure DMA for SPI こんにちは@ershi SPIコミュニケーションをどのように実装しているのか教えていただけますか?また、以前共有したサンプルコードをテストしてみましたか? Re: I need to configure DMA for SPI こんにちは、 @VaneBさん 以前の設定を削除し、SPIデータはDMA経由で送信されるようになりましたが、データが一致しないという問題が発生しています。 #define RX_MSG_SIZE (15U) #define TX_MSG_SIZE (15U) uint8_t txBuffer_check[TX_MSG_SIZE] = {0x48,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11,0x12,0x13,0x14,0x15}; uint8_t rxBuffer_check[]={0}; if(Lpspi_Ip_AsyncTransmit(&Lpspi_Ip_DeviceAttributes_SpiExternalDevice_1_Instance_2_BOARD_InitPeripherals,txBuffer_check,rxBuffer_check,TX_MSG_SIZE,spi_DMA_Function) == LPSPI_IP_STATUS_SUCCESS) { Dma_Ip_ReturnType status = {0},status1 = {0}; Dma_Ip_LogicChannelStatusType channelStatus ={0},channelStatus1 ={0}; status = Dma_Ip_GetLogicChannelStatus(DMA_LOGIC_CH_0,&channelStatus); status1 = Dma_Ip_GetLogicChannelStatus(DMA_LOGIC_CH_1,&channelStatus1);   return SYS_SUCCESS; } Re: I need to configure DMA for SPI こんにちは@ershi LPSPI2のSOUT信号をSINに直接接続していますか、それともロジックアナライザを使用して送受信データを検証していますか? Re: I need to configure DMA for SPI こんにちは、 @VaneB さん。 コードを書き直したところ、今は完璧に動作しています。データは正しく入力されています。 ご協力ありがとうございました。 Re: I need to configure DMA for SPI こんにちは、 @VaneBさん 前回はSPI用のDMAの設定について説明しました。RXバッファのデータがロジックアナライザのデータと一致していないことに気づきました。Txバッファは正常に動作しています。詳細情報はDropboxに追加しました。
記事全体を表示
LPC55s28 PN5190 NFC読み取りライブラリの移植 こんにちは、コミュニティの皆様 こんにちは、NXPチーム LPC55S28 ↔ PN5190 接続の詳細(ホスト SW + DAL / BAL 層)を探しています PN5190 NFC リーダー ライブラリをすでに所有しており、 LPC55S28 MCU をPN5190 NFC フロントエンドに接続したいと考えています。 「LPC55S69 で NFCリーダ ライブラリを使用する」という記事を確認しましたが、特に LPC55S28 と互換性のあるセットアップを探しています。 質問 LPC55S28 を PN5190 に接続するための既存の DAL/BAL (ドライバ抽象化レイヤー) 実装はありますか? NFCリーダ ライブラリを使用して LPC55xx (LPC55S16 / LPC55S28 / LPC55S69) を PN5190 に正常に接続できた方はいますか? LPC55S28 + PN5190 の組み合わせにすぐに使えるソリューション、参照プロジェクト、または推奨される開始点はありますか? そうでない場合、LPC55S69 ガイドは移植時に従うべき正しい最も近いリファレンスですか? ご回答をお待ちしています。 Re: LPC55s28 PN5190 NFC Read Library porting こんにちは@EduardoZamoraさん、 ご返信ありがとうございます。 あなたが参照したガイドは、私が最初に NXP の Web サイトで見つけたものよりもすでにずっと役立つので、指摘していただきありがとうございます。 これらのガイドを確認しているときに、多くのガイドに特定のプロセッサまたはボード用に事前構成されたフォルダーまたはすぐに使用できるパッケージが含まれていることに気付きました。これらのパッケージでは通常、NFCリーダ ライブラリが制御プロセッサのセットアップと統合され、場合によっては DiscoveryLoop の例も統合されるため、簡単に開始できます。 LPC55S28 + PN5190 の組み合わせ、または少なくともサポートされている最も近い LPC55xx 構成に対して、同様のリファレンス パッケージまたはプロジェクト (たとえば、MCUXpresso にインポート可能なもの) を提供することは可能でしょうか?このようなプロジェクトを出発点とすることは、移植と検証に非常に役立ちます。 サポートのほど、どうぞよろしくお願いいたします。 よろしくお願いします、 ラドスワフ・トマシク Re: LPC55s28 PN5190 NFC Read Library porting こんにちは@RadoslawTomasik 申し訳ありませんが、PN5190 + LPC55S28 に関する特定のドキュメントやガイドはありません。 ただし、おっしゃるとおり、次のガイドを参照することができます。 - LPC55S69でNFCリーダライブラリを使用する - NFCリーダ ライブラリ 移植 FRDM_K64F - NFCリーダーライブラリのi.MX RT1050への移植 - NXPコミュニティ これらのガイドは良い出発点になります。 よろしくお願いいたします エドゥアルド。 Re: LPC55s28 PN5190 NFC Read Library porting @エドゥアルド・ザモラ 以下のガイドに従う場合: https://community.nxp.com/t5/NFC-Knowledge-Base/NFC-Reader-Library-Porting-FRDM-K64F/ta-p/1117798 記載されている手順を正常に実行できました: NFCリーダライブラリを追加する LPC55Sxx用のプロジェクトを作成する DiscoveryLoop ファイルを LPC プロジェクトにコピーします。 ただし、 PN5190 ( NxpNfcRdLib_PN5190_v07.14.00_Pubを使用)で同じ手順を実行すると、私は次のことができます: ライブラリを追加する LPC55Sxxプロジェクトを作成する しかし、DiscoveryLoop ファイルをコピーしようとすると、次のエラーが発生します。 リソースのコピー中に問題が発生しました。 リンクされたリソースを作成できません。 これをあなたの側で確認して、これが既知の制限であるかどうか、または LPC55Sxx を使用した PN5190 に推奨される回避策があるかどうかをお知らせください。 再開まで今しばらくお待ちください。 よろしくお願いします、 ラドスワフ・トマシク Re: LPC55s28 PN5190 NFC Read Library porting こんにちは、 残念ながら、この特定のセットアップに関する参照プロジェクトはありません。PN5190 用の NFCリーダ ライブラリには、LPC1769 および Kinetis K82 のサポートが含まれています。その他のホスト MCU のサポートはユーザーが実装する必要があります。 NFCリーダ ライブラリのリンクが不可能になったとおっしゃっていますが、フォルダーをリンクしようとするとエラー メッセージが表示されるということですか?あなたが従っている手順は何ですか?NFCリーダ ライブラリの移植 FRDM_K64Fの「NFCリーダ ライブラリのリンク」セクションに記載されている手順に従って、フォルダーをリンクできるはずです。また、リンクされたリソースは、プロジェクト プロパティ > リソース > リンクされたリソースに表示されます。 よろしくお願いいたします エドゥアルド。 Re: LPC55s28 PN5190 NFC Read Library porting こんにちは@EduardoZamoraさん、 調査の結果、元の「リンクされたリソースを作成できません」というエラーは、ファイルパスが長すぎることが原因であることがわかりました。パスを短くしたところ、この特定の問題は解決しました。 ただし、 「プロジェクトをワークスペースにコピー」オプションを有効にして NFCリーダ ライブラリをワークスペースに追加すると、関連する問題が依然として発生します(添付のスクリーンショットを参照)。 いくつかのドキュメント(例:AN13425)では、このオプションを選択しないことを明示的に推奨しています。この推奨に従うと、DiscoveryLoopファイルをLPC55Sxxプロジェクトにコピーすると正常に動作します。 欠点は、この場合、 ワークスペースに NFC サンプル プロジェクトが含まれていないため、 NFCリーダ ライブラリをリンクできなくなること です。 その結果、 NfcrdlibEx1_BasicDiscoveryLoopから次のフォルダーをlpc55sxx_basic_discovery_loopプロジェクトにリンクすることはできません。 ダル NxpNfcRdLib フォサル intfs これは LPC55Sxx を使用した PN5190 の既知の制限事項なのか、あるいは推奨される回避策があるのかどうか教えていただけますか? また、他の NFC リーダー ライブラリ ガイドで参照されているものと同様の、事前構成された LPC55Sxx + PN5190 プロジェクトは利用できますか? よろしくお願いします、 ラドスラフ Re: LPC55s28 PN5190 NFC Read Library porting こんにちは、 「DAL および intfs フォルダーは DiscoveryLoop の例の一部であり、個別にリンクすることはできません」とはどういう意味ですか?これらのフォルダーをプロジェクトにリンクしようとするときに、制限に直面することはありません。 フォルダーをワークスペースにコピーしてリンクするか、ライブラリを抽出したパスからフォルダーを直接リンクすることができます。プロジェクト構造での表示方法は、使用する方法によって異なります。 含める必要のある関連パスは、フォルダーをリンクした後、 NFCリーダ ライブラリ ポーティング FRDM_K64Fの「インクルード パスの追加」セクションに表示されます。 よろしくお願いいたします エドゥアルド。 Re: LPC55s28 PN5190 NFC Read Library porting こんにちは@EduardoZamoraさん、 ご返信とご説明ありがとうございます。 LPC55S28 + PN5190の組み合わせに関するリファレンスプロジェクトは存在しないと承知しており、SPI DALを自分で実装する準備はできています。NFCリーダーライブラリの移植手順FRDM_K64Fにできるだけ忠実に従うつもりですが、PN5190パッケージを扱う際にいくつかの違いに遭遇しています。 現在の状況と未解決の質問は次のとおりです。 LPC55S28 SDK の例(例: hello_world ) をインポートすると 、問題なく動作します。 NFCリーダ ライブラリをリンクします: NxpNfcRdLibとphOsalフォルダはLPC55S28プロジェクトにリンクされており、以下に表示されます。 プロジェクト プロパティ → リソース → リンクされたリソース。 ただし、これらのリンクされたフォルダーは、 移植ガイドに示されているように プロジェクト構造には表示されません 。 DAL および intfs フォルダー は DiscoveryLoop サンプル の一部であり 、個別にリンクすることはできません。 これらのフォルダーは、 リンクされるのではなく、DiscoveryLoop プロジェクトから LPC55S28 プロジェクトに コピーする 必要がありますか? もしそうなら、どの部分がプラットフォーム固有であると考えられ、ユーザーによって変更されることが予想されますか? インクルード パスは手動で設定できますが、明確ではありません。 NxpNfcRdLib / phOsalライブラリ から取得する必要があるインクルードディレクトリ DiscoveryLoopの例 からどれが来るか ライブラリはホスト MCU によって異なり、統合手順もプロジェクトごとに異なるようですので、この構成の推奨セットアップについてご指導いただければ幸いです。 これは完全に NXP プラットフォーム内です。すでに両方の評価ボードがコネクテッドされており、基本的なドライバーと接続のテストを進めたいと思います。 よろしくお願いします、 ラドスラフ Re: LPC55s28 PN5190 NFC Read Library porting こんにちは、エドゥアルドさん。 ご返信よろしくお願いします。 私が言いたいことを明確にすると、問題はDiscoveryLoop サンプル プロジェクトがどのように構成され、インポートされるかということです。 DiscoveryLoop プロジェクトを MCUXpresso にインポートする場合、 「ファイルをワークスペースにコピー」オプションを使用してワークスペースに追加することはできません。その結果、プロジェクトは MCU ワークスペース ディレクトリの外部に残り、 DALおよびintfsフォルダーはワークスペース ファイル システム内で表示されなくなります。このため、FRDM_K64F 移植ガイドに記載されているように、実際にはこれらを独立してリンクすることはできません。 このため、私は手動ポートを進めました: 必要なDAL 、 intfs 、 NxpNfcRdLib 、およびphOsalフォルダーを LPC55S28 プロジェクトに直接コピーし、プロジェクト構造で完全に表示されるようにしました。 必要なすべてのインクルード パス、プリプロセッサ シンボル、およびソースの場所を手動で追加しました。 LPC55S16/LPC55S28 プラットフォーム (SPI、GPIO、IRQ 処理、タイミングなど) に合わせてDAL 実装を変更しました。 このアプローチにより、プロジェクトがビルドされ、MCU ワークスペース内で構造の一貫性と透明性が確保されます。 よろしくお願いいたします。 ラドスラフ Re: LPC55s28 PN5190 NFC Read Library porting こんにちは、 お返事ありがとうございます!大変感謝いたします。私はLPC55S69-EVKとPNEV5190BPを使用しています。 ウェブサイトから最新のNxpNfcRdLib(NxpNfcRdLib_PN5190_v07.16.00_PUB)とSDK(SDK_26_06_00_LPCXpresso55S69)をダウンロードしました。 最初はK82Fマイクロコントローラ用に作成したNxpNfcLibからDiscoveryLoopの例をインポートしました。これは大きな成功とは言えませんでした。なぜなら、マイクロコントローラ固有の設定が多数存在し、それが処理を妨げていたからです。 その後、このThreadで先ほど触れたLPCのポーティングガイドを見つけました。これも成功しませんでした。なぜならSDKやNfcのライブラリ版は基本的に古すぎて適切に使えなかったからです。 それから、あなたが既におっしゃったことを実行しました。最新のSDKからlpcxpresso55s69_lpc_gpio_led_output_cm33_core0例を取り込み、DAL、 intfs、 NxpNfcRdLib、 phOsal フォルダをプロジェクトに直接追加しました。次に、パス、プリプロセッサ、およびソースの場所を設定しました。そして、欠けているSDKコンポーネントを追加しました。 DALを修正しようと試みましたが、旧NFCライブラリで動作していたDALと新ライブラリのDALにはかなりの違いがあったため、うまくいきませんでした。コンパイル自体は成功するのですが、phbalReg_Init() 関数内で呼び出される SPI_MasterInit 関数のハードフォルトハンドラで処理が停止してしまいます。 これは主に私がNXP製品を使い始めたばかりだからだと思います。プロジェクトのzipファイルを添付します。もしかしたら、私が何か間違ったことをしたのかもしれないし、何か見落としていたのかもしれない。 Re: LPC55s28 PN5190 NFC Read Library porting こんにちは、 ライブラリの移植方法は分かりましたか?SDKとNFCライブラリの構造がかなり大きく変わったため、DALの書き直しで何度も行き詰まっています。 付属のソースコードを含むこのガイドを参考に、自分のコードを作成しようとしました。しかし、このNFCライブラリ版にはPN5190ドライバは含まれていません。PN5190が追加された際に、ライブラリにかなり重要な変更が加えられたため、NfcRdLib、phOsal、intfsフォルダを単純に置き換えようとした際に多くのエラーが発生しました。また、新しいSDKバージョンが原因でエラーがいくつか発生し、今はどうすればいいのか正直わかりません。特に、推奨ガイド1と2はもはや最新の情報ではないからです。 前もって感謝します! Re: LPC55s28 PN5190 NFC Read Library porting こんにちは、エミールさん。 同じハードウェア構成(LPC55xx + PN5190)を使用していますか? 基本的に、公式のLPC55S28 + PN5190プロジェクトがなくても、既存のポーティングガイドを参考にすることができます。最新の NxpNfcRdLib_PN5190 パッケージをダウンロードしてMCUXpressoにインポートすることをお勧めします。まずはLPC55xxのSDK例(例: hello_world)から新しいプロジェクトを作成し、NFCリーダーライブラリを手動で移植します。 私にとって効果的だった方法は以下のとおりです。 Copy the DAL, intfs, NxpNfcRdLib, and phOsal folders directly into the LPC55S28 project so everything is part of the project structure. 必要なインクルードパス、プリプロセッサシンボル、およびソースの場所をすべて手動で設定します。 LPC55xxプラットフォーム用にDALを書き直してください(SPI、GPIO、IRQの処理、タイミングなど)。 MCUXpressoの Manage SDK Components を使って欠けているMCUドライバを有効にし、DALをそれらのドライバーに適応させます。 あなたが言及したドライバについてですが、具体的にはどのドライバですか?欠けているモジュールをリストアップしたり、コンパイラのエラーを投稿できれば、まだ移植が必要なモジュールを特定するのがずっと簡単になります。 新しいSDKによるエラーは、使用しているLPCデバイスやSDKバージョンによっても異なる場合があります。まずはNXPで入手可能な最新のMCU SDKを使っているか確認し、プロジェクトで期待されるバージョンと一致しているか確認してください。 あなたの説明から推測するしかありませんが、もし教えていただければ: 正確なLPC55xxデバイス、 SDKバージョンは、 NFCリーダライブラリ版、 コンパイルエラーのいくつか、 必要な変更点を特定するお手伝いを喜んでさせていただきます。私も似たような手動移植を経験したので、適切な方向を教えられるかもしれません。 これが少しでもあなたの前進に役立つことを願っています。 Re: LPC55s28 PN5190 NFC Read Library porting こんにちは、エミールさん。 あなたの説明から、まずはピン設定(pin_mux)を再確認し、正しいFlexcommインスタンスがSPI用に設定されているか確認してください。そこが不一致すると、SPI_MasterInit()中にコードがハードフォールハンドラに入り込む可能性があります。 さらに、 SPI_MasterInit()を呼び出す前に、 spi_master_config構造体が正しく初期化されていることを確認してください。また、新しい Reader ライブラリは古いバージョンとは若干異なる動作を想定しているため、 Exchange関数を見直して、WRITE フェーズと READ フェーズの両方が正しく実装されていることを確認することをお勧めします。 参考資料としてファイルを添付しました。実装と実際の実例を比較するのに役立つかもしれませんが、異なるセットアップ用に作られたため、修正なしで動作するとは保証できません。 これが正しい方向への手がかりになれば幸いです。 Re: LPC55s28 PN5190 NFC Read Library porting どうもありがとうございます。pin_muxとクロックをどのように設定すればよいのか、よくわかりません。ピン設定ツールを使って設定したのですが、正しく設定できたかどうか自信がありません。しかし、なぜこのようなことをしなければならないのかもよく分かりません。というのも、これらの設定はphbalReg_LpcOpenSpi.cファイルで上書きされているように見えるからです。 phbalReg_Init() 関数だったと思うのですが、そこでクロック周波数の選択方法を変更する必要があることが分かりました。というのも、以前に変更されていたからです。 その後、コードをコンパイルしてマイクロコントローラにダウンロードすることができました。しかし、デバッグテキスト以外は何も機能しません:(。あなたのコードを見てみましたが、さらに問題が見つかりました。私が使用しているライブラリのバージョンでは、割り込みハンドラは次のように記述する必要があります: PH_DRIVER_LPC_TIMER_IRQ_HANDLER(uint32_t flags); 一方、これまでに見つけたすべての例では、あなたの定義である PH_DRIVER_LPC_TIMER_IRQ_HANDLER(void); を使用しています。 これにより、以下のエラーが発生します。 ../DAL/src/LPCOpen/phDriver_LPCOpen.c:42:47: エラー: 互換性のないポインタ型 'void (*)(void)' からの 'void (*)(uint32_t)' {別名 'void (*)(unsigned int)'} の初期化 [-Wincompatible-pointer-types] 42 | ctimer_callback_t ctimer_callback_table[] = { PH_DRIVER_LPC_TIMER_IRQ_HANDLER, NULL, NULL, NULL, NULL, NULL, NULL, NULL}; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ これまでのご協力は大変助かりました。phDriver_LPCOpen.cを含めることは可能でしょうか?ファイル形式ですか、それともプロジェクト全体を圧縮したZIPファイル形式ですか? 前もって感謝します! Re: LPC55s28 PN5190 NFC Read Library porting 編集: PH_DRIVER_LPC_TIMER_IRQ_HANDLER の定義に void の代わりに uint32_t フラグを追加することで、このエラーを「修正」することができました。それでもまだうまくいかない Re: LPC55s28 PN5190 NFC Read Library porting こんにちは、エミールさん。 はい、ポートを設定するには、 MCUXpresso設定ツール (ピン/クロック設定ツール)DALはMCUペリフェラルが正しく設定されていることを前提としているため、これらの設定が完全に phbalReg_LpcOpenSpi.c.c.で置き換えられるわけではありません。 私は自分の pin_mux 参考資料として、ファイルとLPCOpenのソースコードも添付します。 これは 参照コードのみ。このプロジェクトは完全にテストも最終決定もされていないSO、箱から出してすぐに動作するとは保証できません。全てが正常に動作するようになるまでには、まだかなりのデバッグ作業が必要だと思います。 残念ながら、これから約2週間は対応できないので、それまでは追加の質問に答えられないと思います。 移植作業の成功をお祈りしています。添付ファイルが作業の助けになれば幸いです。 Re: LPC55s28 PN5190 NFC Read Library porting 編集: はい、SPI経由で送信されるデータストリームは正しいようです。phhalHw_Pn5190.cの151行目: uint8_t PH_MEMLOC_REM pTxBuff[] = {0x7F /* 方向バイト */, 0x00、0x04 /* HDLL Get Version コマンド長 */, 0xE1 /* HDLL バージョンコマンド OP コードを取得 */, 0x00、0x00、0x00、 0x75、0x48 /* Crc */}; これは先ほど送ったロジックアナライザのスクリーンショットで見ることができるデータとまったく同じです。 Re: LPC55s28 PN5190 NFC Read Library porting こんにちは、 改めてありがとうございました。今週が学校が始まる前の最後の週なので、休暇🥲から戻った後は取り組めるとは思えません。なんとかSPIを動作させることはできた。どうすればいいのか、正直よくわからないんです。絶望的な状況で、pin_mux.c を置き換えました。および .hファイルとあなたのファイル。しかしこれは明らかに効果がなかったので、元のものに戻すとSPIが動作🤷し始めました♂️. ともかく、ロジックアナライザのスクリーンショットを添付しました。送信されているデータが正しいかはわかりませんが、私には理にかなっている ように見え ます。しかし、ご覧の通り、PNEV5190Bからの返答はありません。私の機材の写真も添付しました。外部SPIインターフェースを有効にするためにR5をR7に切り替えました。 デバッグウィンドウを見ると、関数を問題なく通過しているのがわかります。しかし、phhalHw_Pn5190.cの286行目で設定を送信した後、受信しない割り込みを待ち続け、エラーが発生する。 これがピンマップです。 PNEV5190BのJP1 LPCXpresso55S69 (Mikroe) の P23 P24 on LPCXpresso55S69 (Mikroe) 1.   EXT_SPI1_CLK 4. LSPI_HS_SCK (PIO1_2) X 2. EXT_SPI1_MOSI 6. LSPI_HS_MOSI (PIO0_26) X 3.  EXT_SPI1_MISO 5. LSPI_HS_MISO (PIO1_3) X 4.  EXT_SPI1_CS0 3. LSPI_HS_SSEL1 (PIO1_1) X 5. EXT_NFC_IRQ X 1. PIO1_5_GPIO_ARD (PIO1_5) 6. EXT_NFC_CLK_REQ X X 7. EXT_NFC_WKUP_REQ X 2. WAKE/GPIO (PIO1_18) 8. EXT_NFC_DWL_REQ X 3. PLU_OUT6/GPIO/FC2_USART_RXD_ARD/SD1_D1 (PIO1_24) 9. GND X X 10. GND 8. GND X
記事全体を表示
Differences between old and new hardware version numbers _0-1785831056367.png Why can the older version (332) on the left be used, while the newer version (B222) on the right cannot? What is the difference between 332 and B222? How can I make B222 work properly? Re: 新舊硬件版號差別 Hi Darren, I discussed this with our applications team. Based on the screenshots provided, it appears that the GUI may not have been updated or reworked to support the newer B222 version, which could explain why the older 332 version operates correctly while B222 does not. To investigate this further, our applications engineer would like to review the details together with your team. I have been informed that he will contact you directly to continue the analysis and discuss the differences between versions 332 and B222, as well as the steps required to enable normal operation with B222. BRs, Tomas
記事全体を表示
多台Ara240是否支持P2P通信? 标题说明了一切。 能否通过合适的 PCIe 交换机连接多个 Ara240,并使用 P2P 通信来运行更大的模型? Re: Will multiple Ara240's support P2P communication? db16122_0-1785805134624.png ARA24 的在线资源非常有限,但对 BAR2 的内容会有帮助。
記事全体を表示
XIP FLASHリマップを有効にした状態でイメージスワップ後にMCUBootイメージをデバッグ/フラッシュする 皆さん、 なぜ特定の状況でフラッシュドライバーが故障するのか、何か理由があるのか教えてほしいです。 私たちはカスタムボードをIMXRT1176に使っています。このMCUのボードはEmbedded Artistsのキャリアボードをベースにしています。私たちのプロジェクトでは、フラッシュメモリに0x30100000と0x30200000の2つのパーティションがあります。私たちはMCU-LinkとLinkserverを使ってバイナリをフラッシュしています。バイナリは-この場合確認された署名です。FLASHのリマップ機能を有効にしているので、スワップは行われません。 我々は2つの状況を観察する。 1.フラッシュメモリにブートローダーがあり、パーティション1にイメージファイルがあれば、すべて正常に動作します。 2. OTAアップグレードを完了し、MCUbootが2つ目のパーティションから新しいイメージを起動すると、linkserverからエラーが出るため、FLASHパート1への書き込みができません。 ================================================= NC:フラッシュドライバーの起動 MIMXRT1170_SFDP_QSPI.cfx(すでに常駐中) NC:フラッシュドライバーを実行するためにVECTRESETを送信中 Nc: フラッシュバリアント「iMXRT1170_SFDP_FlexSPI1_A_QSPI 2026年5月15日 18:32:39」検出(16MB = 256*64K 0x30000000) Pb: 1/1(0) 0x30100000でセクター16-31を1048576バイトで書き込み 追伸:(0) 30100000 で:0バイト - 0/1048576 Ec: op ProgramPage (0x30100000, 0x20002830, 0x4000) ステータス 0x1 - ドライバーがドライバーエラーを報告 - EXTSPIJドライバー rc 1 - 操作失敗 Ec: op ProgramPage (0x30100000, 0x20002830, 0x4000) ステータス 0x1 - ドライバーがドライバーエラーを報告 - EXTSPIJドライバー rc 1 - 操作失敗 最初のパーティションは erase-range コマンドで消去済みであることに注意してください。また、私たちのファームウェアがフラッシュドライバーで処理すると期待通りに動作することも確認できます。リンクサーバーを手動で操作しようとした場合にのみ失敗します。 =================================================== Q1。何か明確な理由はありますか?パーティション2を消すべきなのか、それとも両方の区画を消すべきなのでしょうか? Q2。もしスロット1のためにバイナリをビルドした場合、パーティション2のイメージで動作するコアに接続したとき、このバイナリは動作しますか?Flashのリマップは動作しますか? ご協力ありがとうございます。 よろしくお願いします! ヤクブ Re: Debug/Flash MCUBoot image after after image swap with XIP FLASH remap enabled ギャビンさん、こんにちは。ご返信ありがとうございます!あなたはこれらの概念を理解する上で本当に役立ちました。 もし可能なら、もう一つだけ一緒に考えていただけませんか? これはOTAアップデート後に取得したパーティション情報です。 =========== 画像 0; 名前 APP; 状態 永続的: スロット 0 APP_PRIMARY; オフセット 0x100000; サイズ 0x100000 (1048576): <画像: サイズ 821444; バージョン 1.1.1+0> 画像ペイロードのSHA256: C825709456C098E38090... log_addr 0x30100000 は 0x30200000 にリマップされます スロット 1 APP_SECONDARY; オフセット 0x200000; サイズ 0x100000 (1048576): <画像: サイズ 821444; バージョン 2.1.1+0> 画像ペイロードのSHA256: EBFCCC0D3E970230E404... log_addr 0x30200000 は 0x30200000 に再マッピングされます *アクティブ* =============== 次に、このスクリプトを実行してスロット0をクリアします。 LinkServer.exe flash MIMXRT1176xxxxx:MIMXRT1170-EVKB erase-range 0x30100000 0x100000 あなたの説明によると、リマップオーバーレイが有効になっているため、スロット1が消去されると予想していました。しかし、そうではありません。電源リセット後に得られた結果は以下のとおりです。 ========= フラッシュREMAP_OVERLAYが有効です。 画像 0; 名前 APP; 状態 なし: スロット 0 APP_PRIMARY; オフセット 0x100000; サイズ 0x100000 (1048576): 画像が見つかりませんでした スロット 1 APP_SECONDARY; オフセット 0x200000; サイズ 0x100000 (1048576): <画像: サイズ 821444; バージョン 2.1.1+0> 画像ペイロードのSHA256:EBFCCC0D3E970230E404... log_addr 0x30200000 0x30200000への再マップ *アクティブ*========= まだslot0に何も書き込めないのは予想外です。eraseコマンドはremapコマンドの論理マッピングをバイパスするが、loadコマンドはバイパスしないということはあり得るのでしょうか? Re: Debug/Flash MCUBoot image after after image swap with XIP FLASH remap enabled こんにちは、 @jslota13245 さん。 NXP MIMXRTシリーズにご関心をお寄せいただきありがとうございます! ご提供いただいた情報に基づき、以下の理由を考慮すべきだと考えます。故障の原因は FlexSPIリマップは引き続き有効です OTAアップデート後。MCUbootがリマップでslot1(partition2)を起動すると、アプリケーションにremapを残します。LinkServerのフラッシュ  .cfx  ドライバはAHB論理アドレスを通じて処理されるため、リマップは書き込みTo  0x30100000  (partition1)を物理  0x30200000  (partition2)に静かにリダイレクトします。物理はすでに確認済み画像を保持しており、空白ではありません。NORフラッシュは上書きできません。 以前の  erase-range 0x30100000  実際、同じ理由でパーティション2も消去しました。独自のファームウェアは、プログラムによって動作します。 FlexSPI IPコマンドモードでは、明示的な物理オフセットを使用することで、リマップをバイパスします。注: VECTRESET / デバッガーアタッチ 再マッピングは明確ではない。PORまたは明示的なレジスタ書き込みのみがそれを可能にする。 Q1: どのパーティションを消去すべきですか? 重要なのは、パーティションを消去するだけでなく、まずリマップを無効にすることです。推奨: LinkServerでプログラミングを行う前に、リマップレジスタをクリアしてください。 次に、両方のパーティション(slot0とslot1)を消去します。direct-XIPは最高バージョンを選択するため、slot1に古くなった画像が残るとMCUbootが再度選び、再マッピングを有効化するため、問題が再発します。 Q2: Partition2イメージを実行するコアに接続した場合、slot1バイナリは動作しますか? 画像にはリンクが必要です プライマリスロット ( 0x30100000 ) 用に一度だけ実行します。同じバイナリはリマップによりどちらのスロットからでも実行されます。スロット1 用に別途ビルドする必要はありません。デバッグ用にアタッチすると、リマップは論理アドレスの整合性を保つため、コードの読み取りやブレークポイントは問題なく動作します。しかし、同じリマップはフラッシュを書く際に物理ターゲットを変えるため、LinkServerでslot0をプログラムする前にリマップを無効にする必要があります 。 よろしくお願いします、 ギャビン Re: Debug/Flash MCUBoot image after after image swap with XIP FLASH remap enabled @Gavin_Jia  親愛なるギャビンへ、 私のコメントをあなたの返信に見て、見落としていることがあれば教えていただけますか? ご協力ありがとうございました! よろしくお願いします、 ヤクブ Re: Debug/Flash MCUBoot image after after image swap with XIP FLASH remap enabled こんにちは、 @jslota13245 さん。 前回のメッセージを見落としてしまい、申し訳ありませんでした。 残念ながら、回答が受理されると自動的に問題は解決済みとみなされ、CASEの更新は受け取れなくなりました。この度の見落としにつきまして、心よりお詫び申し上げます。 こちら側でも同様の問題を再現してみます。調査に少々お時間をください。調査結果や進捗状況については随時ご報告いたします。 皆様のご理解とご協力に、心より感謝申し上げます。 よろしくお願いします、 ギャビン Re: Debug/Flash MCUBoot image after after image swap with XIP FLASH remap enabled こんにちは、 @jslota13245 さん。 あなたの調子が良いといいのですが! さらに調査を続け、この投稿でいくつかの予備的な結論を提示します:https://www.cnblogs.com/henjay724/p/13538105.html 消去と書き込みは、リマップの影響を受けません。どちらも物理アドレスに対してFlexSPIのIPコマンドを通すため、消去範囲0x30100000物理スロット0は本当に消去されています。だからslot0は「画像なし」と表示され、slot1はそのまま残っているのです。先ほどの「消去処理がスロット1に当たる」という表現は正確ではありませんでした。申し訳ありません。書き込みが失敗する理由は、書き込み自体ではなく、読み出し検証にある。 最も簡単な解決策は、イメージをフラッシュする前にリマップ機能を無効にすることだと私は考えています。あるいは、フラッシュ書き込み後にIPコマンドを使用してメモリからデータを読み戻します。読み戻されたデータが書き込まれたデータと一致する場合、障害の原因はAHBチェックサムが不正に操作されたことだけであることが証明されます。 さらに、公式声明は以前の推測を支持しています:https://mcuxpresso.nxp.com/mcuxsdk/latest/html/examples/ota_examples/_doc/flash_remap_readme.html#mcuboot-and-flash-remapping-feature
記事全体を表示