Multi Source Translation Content

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Multi Source Translation Content

讨论

排序依据:
NFM18PC225B1A3 寿命終了 - 1:1 交換? NFM18PC225B1A3 フィードスルーコンデンサは、メーカーである村田製作所から後継タイプが提供されないため、製造中止となります。 このフィルターは多くの QorIQ / Layerscape デザインチェック リストに含まれていますが、NXP には利用可能な 1:1 交換タイプに関する情報がありますか? 私自身の調査によると、TDK の YFF18PH0J225MT000N のみが機能的に代替品ですが、パッドのレイアウトが若干異なります (内部パッドが 1 つではなく 2 つ)。さらに、同じパッドレイアウトと、2.2 uF ではなく 1 uF という低い公称静電容量を持つ他の製品もいくつかあります。 ヨハネス Re: NFM18PC225B1A3 End of Life - 1:1 Replacement? これに関して更新はありますか?新しいデザインに TDK 部品を使用しても問題ありませんか? Re: NFM18PC225B1A3 End of Life - 1:1 Replacement? 今のところ、私のチームは、TDK 部品は問題ないと考えています。 Re: NFM18PC225B1A3 End of Life - 1:1 Replacement? AE チームに確認しています。
查看全文
S32K344 C40 IP 硬件故障问题 大家好, 我正在尝试创建自定义启动加载程序。我从闪存开始就为启动程序和参数预留了 256KB 的空间。我需要使用引导加载程序代码将启动参数存储在同一个块上。我尝试使用 C40 ip,但总是出现 HardFault 错误。我从"AN13388-S32K3 Memories Guide" 上了解到,在读取(执行代码)时,我无法写入或擦除同一个块。 我尝试了一些技术,如 ramcode 和 ITCM,但都没有成功。 我不想使用 Data 闪光灯。因为 HSE 固件使用的是全部内容。 正确的做法是什么?有什么例子吗? Re: S32K344 C40 IP Hardware Fault Problem 你好,@francescovico、 请创建一个新主题。 不一定要在 Block1 中,闪存驱动器可以在 SRAM 中。 此致, 丹尼尔 Re: S32K344 C40 IP Hardware Fault Problem 你好,丹尼尔、 我正在开发一个位于代码闪存块 0(从 0x400000 到 0x4FFFFF)的引导加载程序。 在此区块内的任何擦除/写入都会导致硬故障。 只允许擦除/写入代码闪存块 1 或 2 或 3。 我的申请必须位于 1 号楼? 残余代码闪存 0 块丢失了? 敬请期待,弗朗切斯科。 Re: S32K344 C40 IP Hardware Fault Problem 你好@Ali22、 当闪存控制器正在对某个数据块中的某些数据进行编程/擦除时,不得访问该数据块。我不知道该如何解释。在 RM 中搜索 RWW 边读边写。 Re: S32K344 C40 IP Hardware Fault Problem 你好,Danielmartynek "那么,内核不得通过中断访问块。中断必须被屏蔽(PRIMASK = 1),或者矢量表、ISR()函数和 ISR() 访问的数据必须不在块中。" 是什么意思?你的意思是矢量表、ISR()函数和数据不能与 BOOTLOADER 和 APP 放在同一个程序块中,如果是这样的话,矢量表和 ISR() 应该放在哪里,RAM 中吗? Re: S32K344 C40 IP Hardware Fault Problem 请演示如何将 sampel 代码置于 c40 ip.h 中。 Re: S32K344 C40 IP Hardware Fault Problem 你好@王磊开发、 您能为这个问题创建一个新的主题吗? 谢谢! BR,丹尼尔 Re: S32K344 C40 IP Hardware Fault Problem 我找到了引导程序项目(unified_bootloader_demo_V2.1.exe)。使用 C40_IP 驱动程序还可以运行硬件 Falut。然后使用 uart 进行调试,在擦除和写入状态下查找程序戳(具体是在 C40_Ip_Compare 内的 C40_Ip_SynchronizeCache 函数)。 Re: S32K344 C40 IP Hardware Fault Problem 你好@丹尼尔-马蒂内克 谢谢您的回答。你的解决方案对我很有效。 除了您的解决方案,我还需要编辑这个函数原型。 C40_Ip_MainInterfaceHVJobStatus C40_Ip.c中的静态函数 我以 C40 为例进行了尝试。它工作得很好,但却无法运行我的应用程序。 我删除了 C40_Ip 中"Fls Timeout Supervision Enabled" 中的勾。因为使用了"OsIf_GetElapsed" 函数。 我还需要将使用写入和擦除的函数移到 ramcode 中。 此致, 梅苏特 Re: S32K344 C40 IP Hardware Fault Problem 你好,我是@mesutkilicmak、 以下 API 函数必须放入 SRAM (".ramcode)"部分),如下所示。 C40_Ip_MainInterfaceSectorErase C40_Ip_MainInterfaceSectorEraseStatus C40_Ip_MainInterfaceWrite C40_Ip_MainInterfaceWriteStatus 然后,内核不得通过中断访问该数据块。中断必须被屏蔽(PRIMASK = 1),或者向量表、ISR() 函数和 ISR() 访问的数据必须不在块中。 C40_Ip.h. 在宣布之前 #if ( 1 == C40_RAM_CODE_ENABLE /* ram code start */ #define FLS_STOP_SEC_CODE #include"Fls_MemMap.h" #define FLS_START_SEC_RAMCODE #include"Fls_MemMap.h" #endif 声明之后 #if ( 1 == C40_RAM_CODE_ENABLE ) /* ram code end */ #define FLS_STOP_SEC_RAMCODE #include"Fls_MemMap.h" #define FLS_START_SEC_CODE #include"Fls_MemMap.h" #endif 如果 #define C40_RAM_CODE_ENABLE 1,上述四个闪存 API 函数就会放在".ramcode 中。"节。 此致, 丹尼尔
查看全文
HSEファームウェアのインストール こんにちは、 HSE ファームウェアをインストールしたいのですが、C:\NXP\S32K3_HSE_DemoExamples_1_0_0\S32K3_HSE_DemoExamples\Device_Configuration\S32K344_HSE_FW_INSTALL というパッケージでエラーが発生しています。 エラー make: *** [makefile:38: S32K312_HSE_FW_INSTALL.elf] エラー 1 解決策を教えてください。 HSE fw インストール用の s32k312 で使用できるファームウェアはありますか? Re: HSE firmware installation こんにちは、皆さん、このエラーを解決できますか?もし解決できるなら、どうかご協力をお願いします。 Re: HSE firmware installation 誰かが問題を解決しますか? 私もあなたと同じ手順を発行しています。full_mem と ab_swap の両方を試しました。両方とも失敗しました。 Re: HSE firmware installation こんにちは、 解決策を見つけたと思います。メモリ ビューでは、「16 進数」または「16 進整数」を選択するとバイト順序が逆になります。登録簿は私のために設定されていましたが、これらの見解は私を混乱させました。 Re: HSE firmware installation こんにちは、 HSE_B ファームウェア リファレンス マニュアルの「3.3.1 AB_SWAP 構成でのホストによる MU インストール手順」の章は、次の行で始まります。 「レジスタ DCMRWP1 (0x402AC400、[24:31 ビット]) に 0xA5 を書き込み、その後機能をリセットします。これにより、HSE GPR のビット 1 (0x4039C028) が設定され、SBAF がインストールのために MU0 をアクティブ化したことが示されます。 しかし、このThreadでは言及されていません。 DCMRWP1 レジスタを設定する必要がありますか、それとも例では何らかの形で実装されていますか? よろしくお願いいたします。 サンドル Re: HSE firmware installation こんにちは、 何か更新はありますか? Re: HSE firmware installation こんにちは、 問題は解決しましたか?これは何が原因でしょうか?私の側でもステータスレジスタを「1」に設定できないのですが、解決方法を共有していただけますか? Re: HSE firmware installation こんにちは@lukaszadrapaさん、 ご指摘のとおり HSE FW 消去を実行したところ、うまくいきました。しかし、再インストールがCANません。HSE FWを再度インストールするにはどうすればいいですか? よろしくお願いいたします。 イェトキン Re: HSE firmware installation こんにちは@lukaszadrapa ! 議論に関しては、S32K344 ボードも交換しようとしています。私は以下の手順を実行しました。 1) S32K3_HSE_DemoExamples_1_0_0をダウンロードし、a/bスワップを実行し、リンカーファイルに.pinkを追加して変更しました。ファイル。 2) プロジェクトをコンパイルして実行すると、実行時にコードは次のステップを続行します。 /* インストール後、HSE が初期化されるのを待ちます (ステータス ビットを読み取ります) */ while((HSE_STATUS_INIT_OK & HSE_MU_GetHseStatus(0)) == 0) { gInstallHSEFwTest = FW_NOT_INSTALLED; /* インストールを許可するにはリセットを生成してください */ } 3) ボード上の RST ボタンを押したり、電源をオフにしてからオンにしたりしてみましたが、どうやら何も変化がないようです。 何か手順を忘れましたか? ありがとう! Re: HSE firmware installation こんにちは、ルーカス。いつCAN接続できますか。接続するための時間とリンクを教えてください。 Re: HSE firmware installation 今日は時間が足りないけど、明日の朝なら大丈夫だと思います。空いている場合は朝早くにお知らせします。 Re: HSE firmware installation または、デバッグ設定とファームウェアのデバッグに関するビデオを作成して、私と共有することもCAN。 Re: HSE firmware installation こんにちは、ルーカス。試してみましたが、結果は同じでした。 CAN可能であれば、10分以内に通話を接続できますか?お知らせください。SO招待状を共有します。 Re: HSE firmware installation すでに共有したプロジェクトには elf ファイルがあります: https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/S32K/32120/1/HSE_Install_FW.zip 今日テストした現在のプロジェクトと elf を比較しましたが、まったく同じで、変更点はありません。 新品のチップを持っていた。SO、デフォルトの hse_disabled バージョンを使用しました。HSE 機能フラッシュがすでに有効になっているが、HSE FW がまだインストールされていない場合は、hse_enabled を使用する必要があります。AB スワップがインストールされたら、ab_swap を使用する必要があります。しかし、フラッシュを消去またはプログラムできない場合、Pemicro は何らかのエラーを表示するはずなので、これは間違いではないと思います。HSE 機能フラグがプログラムされているときに hse_disabled を使用しても、おそらく動作します。 ファームウェアをパッシブ ブロックにもインストールするには、2 回のリセット (または 2 回の電源サイクル、どちらでもマター) が必要です。 Re: HSE firmware installation こんにちは、ルーカス。 ご返信ありがとうございます。 CANを共有してくださいファイル。 なぜボードの電源を 2 回入れ直したのですか。2 回リセットするか、2 回電源を入れることが必須ですか? フラッシュ時の設定は何でしたか? アドバンス設定では ab_sawp.arp ですか、それとも hse_enabled.arp ですか?? Re: HSE firmware installation テストには別の新しいボードを使用し、先ほど送信したプロジェクトとまったく同じプロジェクトを使用しました。内蔵の Pemicro OpenSDA インターフェースを介して S32DS でプロジェクトをロードし、プロジェクトを実行し、ボードの電源を 2 回入れ直したところ、HSE GPR のビットが設定され、FW がインストールされていることがわかりました。 HSE FW をインストールしたら、Pemicro 設定でフラッシュ アルゴリズムを変更する必要があります。 これは、HSE 機能フラグが有効になっている場合、または AB スワップ FW がインストールされている場合、フラッシュの一部が HSE 用に割り当てられるためです。Pemicro にこのことを知らせる必要があります。 Re: HSE firmware installation こんにちは、ルーカス 共有いただいたファームウェア プロジェクトと同じものを使用して別のボードで試してみましたが、結果は以前と同じでした。HSE GPR レジスタの最後のビットが設定されていません。 PE Micro デバッガーを試して、問題の根本原因を見つけてみてください。 ここには Lauterbach デバッガーはありません。 思い出の写真を別の掲示板で共有しています。 Re: HSE firmware installation こんにちは、ルーカス。 デバッガー PE micro を持っていません。この trace32 パワービューは PE micro で動作しますか? PE micro と s32DS を使用したデバッガーで MU 経由でサービスをトリガーするにはどうすればよいですか? サンプル コードはありますか? S32DSでコントローラを消去するにはどうすればいいですか?サンプルコードはありますか?それともAPI FLASH_EraseBlock(dst); を使うべきでしょうか? Re: HSE firmware installation これは新しい機能ですが、RTD や HSE DEMO の例にはそのための API が見つかりませんでした。SO、最小限のオプションを使用し、デバッガーで MU を介してサービスをトリガーしました。API マニュアルからのサービスの説明は次のとおりです。 c:\NXP\HSE_FW_S32K312_0_2_40_0\docs\S32K312_HSE_サービス_API_リファレンス_マニュアル.pdf SO、サービス ID は 0x57 であり、パラメーターは必要ありません。 RAMのどこかに0x57を書き込み、このRAMワードのアドレスをメッセージユニットMU_0、レジスタTR[1]に書き込みます。それだけです。するとRR[1]に応答が表示されます。HSE FW がインストールされている場合は、値 0x55A5AA33 の HSE_SRV_RSP_OK が返されます。 デバッガーでの表示は次のようになります。 Re: HSE firmware installation FLASH_EraseBlock((uint32_t*)HSE_SRV_ID_ERASE_FW); を使用しようとしていますが、ハード フォールトが発生します。 メモリを消去する手順を説明していただけますか。 この消去を適用する前に、リンカー ファイルで hse fw ファイルのインポートをコメント化する必要がありますか? どのように行われるのか説明してください。 Re: HSE firmware installation こんにちは、ルーカス。 HSE_SRV_ID_ERASE_FW を使用してコントローラを消去するために使用した API はどれですか? API を提供してください。 Re: HSE firmware installation プロジェクト全体を添付します。 Re: HSE firmware installation 私があなたと共有したプロジェクトを使用しましたか? あなたのメインプログラムを教えてください。 Re: HSE firmware installation こんにちは、ルーカス。 メインプログラムを共有していただけますか。 私が持っているボードは 1 枚だけで、それは新しいものです。 Re: HSE firmware installation 今新しいボードを手に入れました。私のテストの結果は次のとおりです。 あなたのプロジェクトを使用してファームウェアを正常にインストールできました。HSE 機能フラグのチェックのコメントを解除しました。私が変更したのはこれだけです。 その後、サービス HSE_SRV_ID_ERASE_FW を使用してファームウェアを正常に消去できました。 なぜあなたの側でそれが機能しないのかはまだわかりません。もっとボードはありますか?それらはすべて同じ動作を示していますか? よろしくお願いいたします。 ルーカス Re: HSE firmware installation こんにちは、ルーカス これについて何か更新はありますか? Re: HSE firmware installation 機能フラグの条件付きでファームウェアを試しましたが、やはり hse gpr レジスタは更新されません。 Re: HSE firmware installation 私の側の小さな問題 - 両方のボードにファームウェア 2.6.0 がすでにインストールされており、CAN消去できないことがわかりました (この機能はバージョン 2.40.0 で追加されました)。月曜日に新しいボードを入手してテストします。 とにかくプロジェクトをチェックしましたが、何も問題は見つかりませんでした。各リセット後に HSE 機能フラグを無条件にプログラムすることはしません。 月曜日にテストの結果をお知らせします。 よろしくお願いいたします。 ルーカス Re: HSE firmware installation デバッグして、hse gpr レジスタ ビットが設定されず、sbaf によってインストールが完了しない理由を確認してください。 Re: HSE firmware installation プロジェクトを見つけてください。 Re: HSE firmware installation こんにちは@vikmonti7804 そのプロジェクトを共有していただけますか?私の側でテストしてみます。 ありがとうございます ルーカス Re: HSE firmware installation こんにちは、 添付の画像をご確認ください。AB_Swap のヘッダーもメモリ内にあるSO、ファームウェアがメモリにフラッシュされていることを意味します。utest 領域の値は AABBCCDDDDCCBBAA であり、utest が有効になっていることを意味します。HSE GPR レジスタ ビット 0 が設定されていません。理由がわかりません。リセット後、SBAF が HSE ファームウェアをセキュア メモリ領域にインストールしていないことを意味します。 緊急に助けていただければ幸いです。 Re: HSE firmware installation こんにちは、 私は s32k344 用に提供されたサンプル コードに従っているだけなので、s32k312 用に同じプロジェクトを作成し、リンカー ファイルからバイナリをインポートしました。メモリ ウィンドウの 0x1B000000 の場所に 0xAABBCCDD が表示されますが、何が問題なのでしょうか。すべては s32k344 のサンプル コードと同じですが、リンカー ファイル内のメモリの場所のみを変更しました。緊急に助けていただけますか。または、デバッグのために短い通話でオンラインで接続できますか。 リンカーファイルとプログラムのスニペットを見つけてください。 Re: HSE firmware installation HSE GPR はペリフェラルで定義されていないと思うので、メモリを直接確認する必要があります。0x4039C028 に 0xC1010000 が表示されている場合、HSE FW は明らかにインストールされていません。 0x1B000000 の HSE 機能フラッシュはプログラムされていますか? そしてもう 1 つ、ファームウェアをインストールするために「IVT なし」方法を使用する場合、フラッシュ内に有効な IVT が存在しない可能性があることを覚えています。そうでなければ動作しません。pink/bin ファイルを何らかのプロジェクトと一緒にロードした場合は、IVT を削除する必要があります。または、「IVT 付き」方法を使用する必要があります。 よろしくお願いいたします。 ルーカス Re: HSE firmware installation こんにちは、ルーカスさん S32DS のどのペリフェラルウィンドウにもこのレジスタが表示されません。どこで確認できるか正確に教えていただけますか。 0x4039C028 アドレスに値 0xC1010000 が表示されます。 Re: HSE firmware installation こんにちは、 実は、s32k312 用のプロジェクトを作成したのですが、デバッグモードで実行すると、メインに移動せずにデフォルト ハンドラーに直接ジャンプします。この問題の原因についてご助力いただけますでしょうか。 バイナリはフラッシュ内に配置されているようですが、メインに入らないため utest は有効になっていません。 親切に助けてください。 Re: HSE firmware installation HSE GPR ステータス レジスタのビット 0 は 0x4039C028 で CAN 確認できます。'1' の場合は、「HSE FW が存在し、SBAF によって HSE ファームウェアがブートされている」ことを意味します。 これは、HSE_B ファームウェア リファレンス・マニュアル rev 2.2 に記載されています。 よろしくお願いいたします。 ルーカス Re: HSE firmware installation こんにちは、 HSE ファームウェアを正常にインストールできた場合、このファームウェアがセキュア メモリに正しく、またはメモリに正常にインストールされていることを確認する方法を教えてください。 メモリを確認する方法を教えてください。 ありがとうございます。 Re: HSE firmware installation ファームウェアはバイナリ ファイルとして暗号化された形式で提供されます。はい、HSE FW インストール パッケージには、バイナリ (ピンク) ファイルと対応する API ヘッダーのみが含まれています。 Lauterbach ユーザー向けには、ファームウェアのインストールと HSE 機能の検証に役立つ HSE DEMOAPP もあります。 ただし、デモは Lauterbach デバッガーでのみ動作することに注意してください。Pemicroでは動作しません。 前述のアプリケーションノートまたは HSE FW RM に記載されているように、ファームウェアは IVT の有無にかかわらずインストールできます。 IVT を使用しないインストールは簡単ですが、Pemicro デバッガーではCASEではない、生のバイナリ ファイルをフラッシュにロードできるツールが必要です。このCASE、「IVT 付き」方法はより便利です。 各派生製品に対して S32K344_HSE_FW_INSTALL は提供されません。これは、どのように実行できるかを示す単なる例であり、独自のソリューションを作成するのはユーザー次第です (お客様ごとに要件と制作ツール/機能が異なります)。 何をするか: S32 Design Studio で S32K312 用の新しいアプリケーション プロジェクトを直接作成できます。次に、S32K344_HSE_FW_INSTALL からソース ファイルをコピーし、boot_header.c の HseFwHeader_StartAddress を更新します。次に、リンカー ファイルを変更します。S32K344_HSE_FW_INSTALL のリンカー ファイルをテンプレートとして使用します。先ほど提案したように readme.md ファイルを読むと、bin/pink ファイルへのリンクがあるはずです。SO、プロジェクトにリンクされています。 次に、コードは、アドレス 0x1B000000 に 0xFFFFFFFFFFFFFF 以外の値をプログラムすることによってのみ、HSE 機能フラグを有効にします。その後、インストールのすべての条件が満たされます - HSE 機能フラグが有効になり、IVT がフラッシュ内の有効なピンク色のイメージを指します。SO SBAF は次のリセット後にファームウェアをインストールします。 よろしくお願いいたします。 ルーカス Re: HSE firmware installation こんにちは、 s32k312 のファームウェアは、インターフェースやホストなどのファイルのみであり、s32k344 hse デモの例のように、HSE ファームウェア バイナリをコントローラにフラッシュできる完全なプロジェクトではありません。 NXPが.binしか提供していないため、HSEファームウェアバイナリをコントローラにフラッシュする際に問題が発生しています。ファイル、PEマイクロと評価ボードの内蔵デバッガーを使用しましたが、.elfと.hexしかサポートできません。ファイル。.bin をコントローラにフラッシュするのを手伝ってください。 Re: HSE firmware installation こんにちは、 S32K312 の HSE ファームウェア パッケージには、プロジェクトの作成に必要な bin ファイルといくつかのインターフェース ファイルおよびホスト ファイルのみが含まれています。これは、s32k344 の HSE デモ例のような完全なプロジェクトではありません。 また、評価ボード デバッガーと PE マイクロ デバッガーは .elf および hex ファイルのみをサポートしているため、HSE ファームウェアのこのバイナリをフラッシュする際にも問題が発生します。バイナリを評価ボードにフラッシュするのを手伝ってください。 Re: HSE firmware installation こんにちは@vikmonti7804 HSE FW は、S32K3 標準ソフトウェア パッケージに含まれています。 https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SW32K3-STDSW-D 「オートモーティブ SW - S32K3 - HSE ファームウェア」を開くと、S32K312 のバージョンを含む利用可能なすべてのバージョンが表示されます。 前述の例 S32K344_HSE_FW_INSTALL は、ファームウェアのインストール方法のオプションを示しています。説明を読むことをお勧めします: c:\NXP\S32K3_HSE_DemoExamples_1_0_0\S32K3_HSE_DemoExamples\デバイス構成\S32K344_HSE_FW_INSTALL\Readme.md ファームウェアのインストール方法を説明したドキュメント AN744810「S32K3xx の HSE FW インストール」も提供しています。これは、セキュア ファイル セクションのドキュメントに記載されています。 https://www.nxp.com/products/processors-and-microcontrollers/s32-automotive-platform/s32k-auto-general-purpose-mcus/s32k3-microcontrollers-for-automotive-general-purpose:S32K3 よろしくお願いいたします。 ルーカス Re: HSE firmware installation #こんにちは@lukaszadrapa 、 どうか私たちを助けてください。私たちはあなたの助けを必要としています。HSE ファームウェアは正常にフラッシュされましたが、フラッシュ後にファームウェアが起動しません。 システムは毎回同じポイントで停止し、実行を継続しません。 なぜこのようなことが起こるのか分かりません。 いくつか疑問があります。 ファームウェアをフラッシュする前に、キーカタログの例などの他のプロジェクトや前提条件となる構成を実行する必要がありますか? 以前は、 HSEファームウェアバージョン2.1をフラッシュしていましたが、現在はファームウェアをバージョン2.55に変更しました。 このバージョンの変更が問題の原因でしょうか? 読み取っている SBUF バージョンは 0x00500000 です。 これはファームウェア バージョン 2.55 で予想されるものですか? 新しいファームウェア バージョンに更新するときに、 HSE_FW_INSTALL アプリケーション コードに特定の変更を加える必要がありますか? ファームウェアと一緒に API が提供されており、それを使用する必要がある場合はどうすればよいですか? ファームウェアが起動しない原因を教えてください。 よろしくお願い申し上げます。 Re: HSE firmware installation こんにちは@lukaszadrapa ファームウェアコード自体が動かなくなってしまいました。なぜこのようなことが起こるのか分かりません。助けてください。 ファームウェアのフラッシュを実行して検証しましたが、ファームウェアが起動しない理由がわかりません。助けてください。 ありがとう Re: HSE firmware installation #こんにちは@vikmonti7804さん、プログラムが下記で停止するという上記の問題の解決策は見つかりましたか?助けてください   もしそうなら、どうか助けてください。私たちはいろいろ試していますが、まだ何をすればいいのかわかりません。 ありがとう Re: HSE firmware installation # こんにちは@sandor_b この問題に関して何か最新情報を受け取りましたか? 私たちも同じ問題に直面しています。プログラムがその行で停止してしまいます。 解決策が見つかった場合は、共有していただけますか?それは本当に
查看全文
无法使用 jlink 连接 S32K3 芯片,芯片 RESET 引脚不断重置。 您好, 我在调试 S32K342 芯片的时钟时遇到了一个问题。在调试阶段,J-Link 突然断开,之后,J-Link 无法连接到芯片。我注意到芯片的 RESET 引脚一直在 RESET。我该怎么办? 此致, shangyuansun Re: The S32K3 chip cannot be connected using jlink, and the chip reset pin keeps resetting. 你好@ Shangyuansun 能否请您提供有关最后一次在 MCU 上闪存的应用程序的详细信息? 另外,你能用示波器检查RESET信号吗?请直接测量 RESET 引脚并分享您观察到的波形的图像。 此外,我建议尝试一种适用于我和其他遇到类似行为的客户的方法:要刷新 MCU,请将 RESET 线保持在低位,同时尝试用一个简单的示例(例如闪烁应用程序)刷新 MCU。最初可能会失败,提示您重试。发生这种情况时,让 RESET 线变高,然后尝试再次刷新程序。 请注意:这些步骤仅在评估板 (EVB) 上进行了测试,因此自定义硬件的结果可能会有所不同。 如果尝试这些步骤后问题仍然存在,请告诉我。 BR、VaneB
查看全文
FlexSPI 信号 SCKB 和 SCKA 你好 摘自应用笔记 AN12564: "一般情况下,用户可将闪存 A1 和闪存 A2 连接到 FlexSPI 的端口 A,以实现 RWW 功能。或者,将闪存 A1 和闪存 B1 分别连接到端口 A 和端口 B。闪存 A1 用于代码存储和运行,另一个闪存用于数据存储。如果连接到同一个端口,则必须使用相同的闪存设备并保持相同的闪存时间。连接的好处是,这两个端口可以通过 DLLACR 或 DLLBCR 寄存器为两个闪存设备设置不同的时间。" 我的板使用 FLEXSPIA(Porta1 代码存储和运行)和 FLEXSPIB(PortB1 数据存储),如上所述(AN12564.pdf 中的图 1)). 是否可以使用不同速度的时钟(SCKA = 133MHz,SCKB = 4MHz)? DLLACR 和 DLLBCR 控制的是时间而不是时钟,不是吗? Re: FlexSPI signals SCKB and SCKA 你好@Maurizio2、 非常感谢您关注我们的产品并使用我们的社区。 关于您的问题,我认为 DLLACR 和 DLLBCR 寄存器为闪存 A 和闪存 B 采样时钟 DLL 提供了配置字段。 有关时钟频率的详细信息,请参阅 SDK 演示。 顺祝商祺! MayLiu
查看全文
在使用 Vivante 图形处理器的 i.MX6SX 上使用 Qt6 时 CPU 占用率较高 您好, 使用带有基于 Yocto 的电路板支持包的 Vivante GPU 在 i.MX6 Solox 平台上将我的应用程序从 Qt5 升级到 Qt6 后,我遇到的 CPU 使用率要高得多。 在使用 Qt5 时,应用程序的 CPU 占用率通常约为 40% ,但迁移到 Qt6 后,CPU 占用率几乎翻了一番,达到约 80% 。即使使用官方 Qt6 示例应用程序,也能重现这个问题。 我已确认应用程序使用的是 OpenGL 后端,因此似乎正在使用硬件加速。 在 i.MX6SX 平台上,CPU 占用率升高是 Qt6 的预期行为吗?是否有任何已知的优化、GPU 驱动程序配置或 Qt6 特定设置可以帮助降低 CPU 负载? 如有任何指导或建议,我们将不胜感激。 此致, Manoj S Re: High CPU Usage with Qt6 on i.MX6SX Using Vivante GPU 您好 Vivante 支持 Qt6,但恩智浦不支持您的 linux 版本,您应该选择您的供应商。 此致 Re: High CPU Usage with Qt6 on i.MX6SX Using Vivante GPU 您好, 我们使用的是 yocto scarthgap 版本,机器是 var-som-imx6。内核版本为 v6.1.138、而 Qt 的版本是 v6.8.3。kernel-moduleimx-gpu-viv 版本为 v6.4.11.p2.4。 Re: High CPU Usage with Qt6 on i.MX6SX Using Vivante GPU 这看起来像是人工智能生成的泔水。 而你提供的链接只是一些宗教性的 subreddit。 Re: High CPU Usage with Qt6 on i.MX6SX Using Vivante GPU 是的,i.The MX6 SoloX 平台上 Qt6 的 CPU 占用率升高是一个已知问题。Qt6 引入了要求更高的渲染管道,而 SoloX 上的 Vivante GPU 功能有限,即使使用 OpenGL 加速也会导致 CPU 负载增加。 建议的优化: -使用 Qt 快速编译器预编译 QML。 -通过电路板支持包启用帧缓冲区压缩和 Vivante GPU 调整。 -考虑延迟加载和场景图缓存策略。 -使用 Qt 快速控件 2 代替传统控件以获得更好的性能。 恩智浦社区主题讨论了更多见解。 致以最崇高的敬意, Thomas Henry Re: High CPU Usage with Qt6 on i.MX6SX Using Vivante GPU 你好 您使用的是哪种yocto?由于 6.6.52 可在 QT6 上运行,因此不要尝试更新,因为 GPU 版本是根据您安装的 QT 运行的。 此致
查看全文
Android 15 中 MCLK_SAI3 引脚未产生时钟信号 您好, 我正在尝试在运行 Android 15 的自定义 i.MX8MP 板上启用 SGTL5000 音频芯片。为使 SGTL5000 正常工作,MCLK 信号需要保持在"始终接通的" 状态。当我重启板时,我可以看到时钟信号生成了大约 5 秒钟,但之后它变低了。我将在下面分享设备树节点和调试结果。 编解码器:SGTl5000@A { 兼容 ="FSL,SGTL5000" ; reg =<0x0a> ; clocks =<& audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1> ; 时钟名 ="mclk" ; pinctrl-names ="默认" ; }; &sai3 { pinctrl-names ="默认" ; pinctrl-0 =<& pinctrl_sai3> ; assigned-clocks =<& clk IMX8MP_CLK_SAI3> ; assigned-clock-parents =<& clk IMX8MP_AUDIO_PLL1_OUT> ; 分配的时钟频率 =<12288000> ; clocks =<& audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_IPG>,<& clk IMX8MP_CLK_DUMMY> 、 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>,<& clk IMX8MP_CLK_DUMMY> 、 <&clk IMX8MP_CLK_DUMMY> ; clock-names = "总线", "mclk0", "mclk1", "mclk2", "mclk3"; FSL、SAI-MCLK 方向输出; fsl、sai-mclk-always-on; status ="okay" ; }; pinctrl_sai3: sai3grp { fsl,pins =< MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC 0xd6 MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK 0xd6 MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00 0xd6 MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0xd6 MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI3_MCLK 0xd6 MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28 0xd6 MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0xd6 >; }; Android i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Linux PMIC Re: Clock signal not generating in MCLK_SAI3 Pin in Android 15 你好 默认情况下,SAI MCLK 在调用 SAI 驱动程序后处于激活状态,并在回调结束后停止激活。 例如,当播放开始时,MCLK 处于激活状态;当播放停止时,MLCK 停止激活。 在这位客户的案例中,我们需要在系统启动时启用 MCLK。 解决方案: 我们可以在 sai 探针阶段启用 sai MCLK,在 fsl_sai.c 中添加以下内容-> fsl_sai_probe: clk_prepare_enable(sai->bus_clk); clk_prepare_enable(sai->mclk_clk[1]); regmap_update_bits(sai->regmap, FSL_SAI_MCTL, FSL_SAI_MCTL_MCLK_EN, FSL_SAI_MCTL_MCLK_EN); regmap_update_bits(sai->regmap, FSL_SAI_TCSR(8), FSL_SAI_CSR_TERE, FSL_SAI_CSR_TERE); 这样 SAI MCLK 就能在系统启动时处于激活状态。 但是,在 SAI 驱动程序回调结束(如 aplay 结束)后,MCLK 将再次停止激活。原因是在 sai 触发信号停止时,发射器被禁用。要保持 MCLK 始终处于开启状态,需要使发射器始终处于开启状态。更具体地说,不要在触发信号停止时清除 FSL_SAI_CSR_TERE。 顺祝商祺!
查看全文
S32G2 弊社のアプリケーションの 1 つで、NXP S32G2 プロセッサ (部品番号: S32G254AABK1VUCT) を使用する場合、各チャネルに A レーンと B レーンの両方がある 2 つの FlexRay チャネルを利用することは可能ですか? Re: S32G2 こんにちは、 @c980-022 返信ありがとうございます。 ピンの詳細については、S32G2_RM に添付されている IOMUX ファイルを参照することをお勧めします。 BR チェイン Re: S32G2 お返事ありがとうございます。マニュアルで FlexRay を検索したところ、FlexRay インターフェースの 1 つのピンしか見つかりませんでした。もう一方のピンはどこでCAN見つかりますか? Re: S32G2 こんにちは、 @c980-022 ご投稿ありがとうございます。 S32G2 ブロック チャートから: マークされているように、2つのFlexRayが存在する BR チェイン
查看全文
IMX8M nano Android13をOTAパッケージでAndroid15にアップグレード Android13 を OTA パッケージで Android15 にアップグレードすると、デバイスはデータ パーティションをマウントできず、リカバリ モードで起動します。 理由は[set_policy_failed:/data/bootchart]です インストールテキスト: en (156 x 19 @ 700) コマンド: "/system/bin/recovery" "--prompt_and_wipe_data" "--reason=set_policy_failed:/data/bootchart" Android Re: IMX8M nano Android13 upgrate Android15 with OTA package こんにちは、 OTA パッケージの種類を教えてください。完全か増分か?増分 OTA と完全 OTA で同じ問題が発生しますか? よろしくお願いします、 志明
查看全文
eMMC搭載のi.MX6 Dual LiteにおけるAuto-CMD23サポートに関する質問 こんにちは、 私は、Linux カーネル 4.1.15 を実行している MTFC8GAKAJCN eMMC デバイスを搭載した i.MX6 Dual Lite を使用しています。 起動中に、eMMC の読み取り/書き込み操作中にタイムアウトが発生することがわかりました。デバッグ後、車載-CMD23 を無効にすると問題が解決することがわかりました。 私の質問は次のとおりです: i.MX6 Dual Lite は 車載-CMD23 をサポートしていないというのは正しいですか? ご説明をよろしくお願いいたします。 i.MX6DL Re: Question about Auto-CMD23 support on i.MX6 Dual Lite with eMMC こんにちは@iDave 正確なエラー コード (-100 より大きい値) は思い出せませんが、タイムアウトになっていました。それ以外にも解決すべき問題がいくつかありました。 Re: Question about Auto-CMD23 support on i.MX6 Dual Lite with eMMC 具体的に何が問題だったのか教えていただけますか? 以下のタイムアウト メッセージも表示されましたか? `mmcblk3: エラー -110 停止コマンドの送信、元のコマンド応答 0x900、カードステータス 0x400e00` Re: Question about Auto-CMD23 support on i.MX6 Dual Lite with eMMC こんにちは@iDave 私も同様の問題を抱えており、Kingston EU サポートおよび NXP と話し合った結果、デバイス ツリーに 'auto-cmd23-broken' を追加することを提案されました。興味深いことに、それ以降のデバイス ツリー ファイル (つまり 6.12.20) には、これがデフォルトで含まれていました。もちろん、これを認識するためには、mmc/sdhc ドライバが最新の状態である必要があります。 敬具。 Re: Question about Auto-CMD23 support on i.MX6 Dual Lite with eMMC 6DL は 車載 cmd23 をサポートしていません。cmd25 の場合、信頼性の高い書き込みかどうかに影響します。 よろしくお願いします。 Harvey Re: Question about Auto-CMD23 support on i.MX6 Dual Lite with eMMC さらに、i.MX6 Dual Lite の車載-CMD23 のサポート (またはその欠如) が、RPMB の信頼性の高い書き込み操作だけでなく、CMD25 を使用した一般的なマルチブロック書き込み操作のタイムアウトの発生にも影響するかどうかを尋ねたいと思います。
查看全文
如何使用 scanf 从键盘获取数值 早上好、 我正试图使用 Hello World 演示,了解使用 mcxc242 的终端是如何工作的。 我正在使用 teraterm。我可以正确查看 PRINTF,但从键盘发送值的 GETCHAR() 或 SCANF() 似乎不起作用。 我需要启用什么功能吗? 感谢您的回复。 Re: How to use scanf to get values from the keyboard 你好@Transidico 请使用 SDK 演示 hello_world 进行测试。我已经在 FRDM-MCXC242 板上对其进行了测试, GETCHAR() 功能运行正常。 请在 SDK 调试控制台中选择 UART 控制台: 如果仍有问题,请检查硬件连接,特别是 UART RX 引脚是否连接正确。 如果您使用自己的定制板,也可以将您的原理图发送给我们以供参考。如果你使用的是恩智浦演示板,请拍张毛衣的照片,我帮你检查。   谢谢。 BR 爱丽丝 BR 爱丽丝 Re: How to use scanf to get values from the keyboard 是的,您也可以从 UART 控制台读取数据。 您能检查一下您的 _read() 函数吗?这是它获取数据的地方。 Re: How to use scanf to get values from the keyboard 早上好、 如果使用 semihost,输入和输出都能通过 mcxpresso 控制台运行,而如果使用 uart,则只能在 teraterm 终端上运行输出,而不能运行输入。我没有使用外部调试器,只使用 USB。 我不在乎选择哪种模式(UART 或半主机),重要的是我能通过 Teraterm 从键盘获取字符。 我该怎么办?没有外部调试器是否可行? 谢谢,再见。 已翻译与 DeepL.com (免费版) Re: How to use scanf to get values from the keyboard 您的输入/输出是使用 UART 还是半托管? 通常,大多数终端视图不支持半托管,但是 IDE 中的内置终端视图可能支持半托管。 如果使用半托管方式,大多数实施方案都只实现输出,没有输入。如果您想要输入,就必须使用类似这样的库: https://mcuoneclipse.com/2023/03/09/using-semihosting-the-direct-way/ 希望这能帮到您, 埃里希 Re: How to use scanf to get values from the keyboard 它能在集成控制台上运行,但不能在 Teraterm 或其他终端上运行。
查看全文
なぜ pfe Linux ドライバ 1.5.0 以降のリリース ノートがないのでしょうか? pfe ユーザーマニュアルも削除されました。1.5.0 以降、これらのドキュメントはどこで入手すればよいですか? Re: Why hasn't the release note of pfe linux driver since 1.5.0? よろしくお願いします! Re: Why hasn't the release note of pfe linux driver since 1.5.0? こんにちは、サンダルウッド 誤解して申し訳ありません。 このファイルで見つけるCANます。 BR ジョーイ Re: Why hasn't the release note of pfe linux driver since 1.5.0? ハイ あなたが見せてくれたのは PFE ファームウェアのリリース ノートですが、私が見たいのはファームウェアではなく Linux PFE ドライバのリリース ノートです。 よろしくお願いします。 Re: Why hasn't the release note of pfe linux driver since 1.5.0? こんにちは、 このファイルをダウンロードしてください。 デザイン: 製品ダウンロード: ファイル BR ジョーイ Re: Why hasn't the release note of pfe linux driver since 1.5.0? ハイ 欲しいのは、Linux PFE ドライバ 1.9.0 のリリース ノートです。 Re: Why hasn't the release note of pfe linux driver since 1.5.0? こんにちは、サンダルウッド ご返信よろしくお願いします。 どのファイルを取得したいですか?もう一度ご確認ください。 PFE のリリース ノート ファイルのみを取得しますか? BR ジョーイ Re: Why hasn't the release note of pfe linux driver since 1.5.0? PFE Linux ドライバ バージョンのリリース ノートに関連するコンテンツは見つかりませんでした。詳しい場所を教えていただけますか? Re: Why hasn't the release note of pfe linux driver since 1.5.0? こんにちは、サンダルウッド このファイルをダウンロードしてみてください。 Linuxに関するファイルは、このフォルダから見つけることができます。 PFE-DRV_S32G_M7_MCAL_1.5.0.zip\eclipse\plugins\Eth_43_PFE_TS_T40D11M15I0R0\doc BR ジョーイ Re: Why hasn't the release note of pfe linux driver since 1.5.0? 誤解しましたか?これは QNX ではなく、Linux 用の pfe ドライバであることを確認したいです。さらに、QNX PFE 1.5.0 をダウンロードしましたが、Linux に関連するドキュメントは見つかりませんでした。 Re: Why hasn't the release note of pfe linux driver since 1.5.0? こんにちは、サンダルウッド お問い合わせいただきありがとうございます。 S32G PFE QNX ドライバ バージョン 1.5.0 のファイルをダウンロードして見つけることができます。 参考になれば幸いです。 BR ジョーイ
查看全文
通过 LS1043A 支持同步 uart LS1043A 是否支持同步 Uart 通信。我们的应用需要在同步模式下使用 3 个 UARTS,LS1043A 应将 tclk 和 rclk 作为输出。 Re: Synchonous uart support with LS1043A 你好 实现的 DUART 模块专为异步通信而设计,LS1043A 实现 QE,它有 2 个 UCC 可用于同步 UART,但未在电路板支持包中进行测试或支持。
查看全文
Re: LINスタック構成ファイルの生成 こんにちは@mayliu1さん、 迅速なご対応ありがとうございます。 MCUX SDK LINスタックをZephyr OSに統合し、現在S32K344-wbボードでテストしていますが、cfgファイルを変更したいのですが、.ldfから自動的に生成できる方法があるかどうか知りたいです。ファイル。 Re: LIN stack configuration file generation わかりました。ありがとうございます! Re: LIN stack configuration file generation こんにちは@SarMol MCUXに詳しいエンジニアに相談してみました。 IDEs は、これらの構成ファイルとドライバ ファイルを生成するための LDF ファイルのインポートをサポートしていません。簡単に言うと、手書きです。 Re: LIN stack configuration file generation こんにちは@Senlent 、 私は Zephyr を使用していますが、LIN スタックを OS に統合する唯一の方法 (私が見つけた方法) は、MCUX バージョンを使用することです。これには lin_cfg.c/.h ファイルが必要です。私は MCUX デモ リポジトリにあるデモからこれらのファイルを取得し、統合が成功したかどうかを確認するために手動で変更しましたが、これらのファイルを自動的に生成する方法があればと思っています。S32DS から生成しようとしましたが、lin_stack_cfg.c/.h ファイルは MCUX バージョンが予期したものと互換性がありませんでした。 私の質問は、デモの lin_cfg.c/.h ファイルはどこから来たのかということです。これらは手動で記述されましたか、それとも MCUX SDK LIN スタックが期待するものと互換性のある構成ファイルを生成できるツールがありますか? Re: LIN stack configuration file generation こんにちは@SarMol S32K3 シリーズ MCU を使用する場合、S32 DS ではなく MCUX を使用するのはなぜですか? あなたが言ったこれらのことは S32 DS では実行できないのですか? S32 DS と RTD をインストールした後、対応するバージョンの LIN STANCK を見つけ、LDF ファイルをインポートして、構成ファイルを生成します。 これらの練習はS32 DSで行うことができます。
查看全文
PA E200 的 S32 Design Studio 许可证续期 您好,能否帮我扩展 PA E200 的 S32 Design Studio 许可证? 上面写着 2022 年到期,但我在许可证页面上没有看到延期的方法。 我看到的是 项目说明 S32 Design Studio for e200 v2.0 订购编号 S32-DS-E2002-0_123369797 采购订单编号 许可证总数:101 激活代码 C4F2-xxxx-xxxx-D9A5 Re: License renewal for S32 Design Studio for PA E200 谢谢,非常好用 Re: License renewal for S32 Design Studio for PA E200 现在应该已更正,请尝试使用旧密钥重新激活。
查看全文
需要支持在 Linux 中配置和访问 i.MX93 防篡改功能 您好,NXP团队, 我正在开发一款基于恩智浦i.MX93 处理器的定制板,目前正在尝试在Linux下启用和测试篡改检测功能。 系统详情 处理器恩智浦 i.MX93 电路板支持包 版本:LF 6.6.52_2.2.0 操作系统:Linux(基于 Yocto 的版本) 我的尝试 已查看 BBNSM(电池后备非安全监测)模块并确定了相关的寄存器: 基地址:0x44440000 干扰状态/启用/清除偏移:0x30 / 0x34 / 0x38 开发了一个小型内核模块,使用 ioremap() 映射该区域并读取寄存器。 但是,在访问这些地址后,系统会立即崩溃或断电。 观察到的错误: => 内部错误:同步外部中止:000000009600001 尝试使用 devmem2 进行读取,但会导致总线错误。 这些症状表明 BBNSM 或篡改寄存器仅限安全,因此无法从非安全 (Linux) 功能域访问。 请提供以下方面的指导或文件: 如何在 i.MX93 上通过 Linux启用和访问篡改检测功能。 是否只能在安全功能域中访问篡改寄存器。 向 Linux 公开篡改事件所需的任何设备树示例、参考驱动程序或固件配置步骤。 感谢您的支持和指导。 谢谢。 Re: Need Support for i.MX93 Tamper Functionality Configuration and Access in Linux 您好: 我们没有或非公开提供篡改文件/示例,我建议您联系您的恩智浦销售办公室以获取与此相关的更多信息。 最诚挚的问候/致敬,Aldo。
查看全文
ADV7535: ディスプレイに画像が出力されない こんにちは、チーム Verdin Yavia IMX8M Plus をベースにしたカスタムキャリアボードに、 DSI-HDMIコンバータ( ADV7535 )を搭載する作業を進めています。Toradexキャリアボードに付属する LT8912B MIPI DSI-HDMIブリッジを ADV7535に置き換えました 。ADV7535 DSI-HDMIブリッジ との通信には I2Cチャネル2 を使用していますが、Yaviaキャリアボードは別のI2Cチャネルを使用しています。この変更に伴い、デバイスツリーに以下の更新を加えました。   デバイスツリーの変更 1. verdin-imx8mp_dsi-to-hdmi_overlay.dts 既存の hdmi_lontium_lt8912 ノード。 新しい HDMI_adv7535 I2C2 ノードの下のノード。 2. imx8mp-verdin.dtsi 削除された hdmi_lontium_lt8912 ノード。 Lontiumピン接続の詳細を削除しました HDMIコネクタ ノード。 追加した HDMI_adv7535 I2C2 の子ノードとして。    変更後の観察結果 ADV7535 の内部レジスタの読み取り/書き込みに成功しました。 I2C データをダンプ可能: torizon@verdin-imx8mp-15404184:~$ i2cdump -y -f 1 0x39 No size specified (using byte-data access) 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 14 00 00 00 00 00 00 00 00 00 41 0e bc 18 01 13 ?.........A????? 10: 25 37 00 00 00 00 38 00 46 62 04 a8 00 00 1c 84 %7....8.Fb??..?? 20: 1c bf 04 a8 1e 70 02 1e 00 00 04 a8 08 12 1b ac ?????p??..?????? 30: 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 b0 ...........?...? 40: 00 50 f0 76 10 68 68 68 68 00 80 00 00 00 00 00 .P?v?hhhh.?..... 50: 00 00 02 0d 6d 02 00 00 00 00 00 00 00 00 00 00 ..??m?.......... 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 70: 01 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ??.............. 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90: 00 00 00 00 c0 00 40 00 03 02 e0 18 30 61 00 00 ....?.@.????0a.. a0: 00 00 a4 a4 08 04 00 00 00 00 00 40 00 00 40 14 ..????.....@..@? b0: 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 ..........?..... c0: 00 00 00 00 00 00 06 00 00 03 00 00 02 00 01 04 ......?..?..?.?? d0: 0c ff 80 80 80 00 00 00 00 00 00 00 00 00 88 01 ?.???.........?? e0: d0 70 01 00 00 00 fd 00 00 00 52 46 00 00 00 00 ?p?...?...RF.... f0: 95 04 ff 00 00 00 00 00 00 00 7d aa 1c 00 b0 00 ??........}??.?. HDMI ディスプレイが検出され、i.MX8MP で EDID データが取得されます。HDMI-A -1 は DSI から HDMI であり、HDMI-A-2 はネイティブ HDMI ポートです。 root@verdin-imx8mp-15288064:/home/torizon# cat /sys/class/drm/card0-HDMI-A-1/edid | edid-decode edid-decode (hex): 00 ff ff ff ff ff ff 00 30 ae 86 10 01 01 01 01 22 15 01 03 80 29 1a 78 ee e5 b5 a3 55 49 99 27 13 50 54 af ef 00 61 40 81 c0 81 80 81 8a 81 90 95 00 95 0f 01 01 64 19 00 40 41 00 26 30 18 88 36 00 a0 1d 00 00 00 18 00 00 00 fc 00 4c 45 4e 20 4c 31 39 35 30 77 44 0a 20 00 00 00 fd 00 32 4c 1e 51 0e 00 0a 20 20 20 20 20 20 00 00 00 ff 00 42 33 34 33 32 38 34 35 0a 20 20 20 20 01 0b 02 03 21 71 4e 06 07 02 03 15 96 11 12 13 04 14 05 1f 90 23 09 07 07 83 01 00 00 65 03 0c 00 10 00 8c 0a d0 90 20 40 31 20 0c 40 55 00 b9 88 21 00 00 18 01 1d 80 18 71 1c 16 20 58 2c 25 00 b9 88 21 00 00 9e 01 1d 80 d0 72 1c 16 20 10 2c 25 80 b9 88 21 00 00 9e 01 1d 00 bc 52 d0 1e 20 b8 28 55 40 b9 88 21 00 00 1e 02 3a 80 d0 72 38 2d 40 10 2c 45 80 b9 88 21 00 00 1e 00 00 00 00 d0   遭遇した問題 画像出力なし コネクテッドHDMIディスプレイに表示されます。 dmesg ログエラー:   imx_sec_dsim_drv 32e60000.mipi_dsi: failed to get pmsk for: fin = 12000, fout = 0   トラブルシューティングの試み デバイス ツリー内の MIPI DSI コントローラのクロック設定を次のように変更しようとしました。 mipi_dsi: mipi_dsi@32e60000 { #address-cells = <1>; #size-cells = <0>; compatible = "fsl,imx8mp-mipi-dsim"; reg = <0x32e60000 0x10000>; clocks = <&media_blk_ctrl IMX8MP_CLK_MEDIA_BLK_CTRL_MIPI_DSI_PCLK>, <&media_blk_ctrl IMX8MP_CLK_MEDIA_BLK_CTRL_MIPI_DSI_CLKREF>; clock-names = "cfg", "pll-ref"; assigned-clocks = <&clk IMX8MP_CLK_MEDIA_MIPI_PHY1_REF>; assigned-clock-parents = <&clk IMX8MP_CLK_24M>; assigned-clock-rates = <11000000>; interrupts = 18 IRQ_TYPE_LEVEL_HIGH>; power-domains = <&mipi_phy1_pd>; status = "disabled"; port@0 { dsim_from_lcdif: endpoint { remote-endpoint = <&lcdif_to_dsim>; }; }; }; ただし、デフォルトの頻度は次のように表示されます。 12MHz の中で dmesg ログ。   説明の要請 以下の点についてご指導いただければ幸いです。 どうすれば正しく更新CANでしょうか フィン そして ファウト 解決するための値 プムスク エラー? 何かありますか 追加のデバイスツリーの変更 ADV7535 経由で適切な画像出力を有効にするために何が必要ですか? 皆様のご意見やご提案をお待ちしております。 添付の dmesg ログ、このThreadへのデバイス ツリー オーバーレイを参照してください。 ありがとう、よろしく。 ルペシュ・カタール IMX8MPLUS #ADV7535 #DSI #HDMI #MIPI #I2C #I2S i.MX 8M | i.MX 8M ミニ | i.MX 8M ナノ Re: ADV7535: No image output on display 5.15 を使用する場合は、ブランチを 5.15 に変更するだけです。ソースコードは NXPについて なので、ドライバ がどのようなものかはわかりませんが、nxp adv7535 ドライバ を参照してください。 Linux-imx/ドライバ/GPU/drm/bridge/adv7511/adv7511_drv.c at lf-5.15.y · nxp-imx/Linux-imx · GitHub すべての解像度をサポートできるわけではありません。有効なクロックは以下の通りです。新しいクロックが必要な場合は、そこに追加し、クロックドライバに新しいクロックを追加する必要があります。 静的定数int valid_clocks[] = { 148500, 135000、 132000、 108000, 78750, 74250, 65000、 49500, 40000、 31500, }; Re: ADV7535: No image output on display こんにちは@joanxie 、 NXP カーネル ソースへの案内をありがとうございます。 デバイス ツリーを NXP カーネル 5.15y (共有された 6.12 ではありません) の imx8mp-evk.dts に合わせて作成し、ディスプレイは特定の解像度で動作していますが、ターゲットとする解像度 (1024x768) では動作しません。 adv7535 のデバイス ツリー以外、他の変更は行っていません。Toradex カーネル 5.15.2.x の場合。 以下に、機能しているものと機能していないものを示した表を示します。 分解能 アスペクト比 規格 一般的なリフレッシュレート Realtek ディスプレイ Dellモニター 640×480 4:3 両方 60 Hz 働く 働く 800×600 4:3 ヴェサ 60~75 Hz 働く 働く 1024×768 4:3 ヴェサ 60~75 Hz 無効時に空白/ちらつき 内部タイミングジェネレータ 出力なし 1280×768 5:3 ヴェサ 60 Hz 出力なし 出力なし 1280×720 16:9 両方 24/25/30/50/60 Hz 働く 働く 1366×768 16:9 ヴェサ 60 Hz 出力なし 出力なし 1920×1080p 16:9 両方 24/25/30/50/60 Hz 働く 働く 1024x768 のみが動作しない理由は何でしょうか?他の解像度は、HDMI を接続するだけで正常に動作します。 Re: ADV7535: No image output on display 私はすでにimx8mp dtsファイルを共有しましたが、まず、このブリッジをdtsで正しく設定する必要があります。その後、adv7535ドライバが https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c Re: ADV7535: No image output on display こんにちは@joanxie 、 ちなみに、私たちはToradexのYaviaキャリアボードに似たカスタムキャリアボードを使用しています。唯一の変更点は、Lontium DSI から HDMI へのアダプタが ADV7535 に置き換えられたことです。NXP の一部製品でも使用されているため、ADV7535 を選択しました。 そのため、Toradex が提供するYavia-wifi dtsのデバイスツリーとその親デバイスツリーソースに基づいて、デバイスツリーの変更を行いました。 デバイスツリーノードは、 1. Mipi-dsi - ここでは何も変更していません(前回の投稿とは異なり、デフォルトに戻しました)。他の NXP デバイスでも同様に使用する必要があります。 2. ADV7535 固有のノードとオーバーレイ。これは前回の投稿で提供したものです。 ドライバはsec_mipi_dsim-imx.cです、 sec-dsim.c、 adv7511_drv.c、 adv7533.c。 次に、デバイス ツリー オーバーレイを微調整します。fin, fout エラーはもう発生しません。 上記ドライバの dev_dbg ログは次のとおりです。 torizon@verdin-imx8mp-15404184:~$ dmesg | grep drm [ 0.000000] Kernel command line: root=LABEL=otaroot rootfstype=ext4 quiet logo.nologo vt.global_cursor_defau lt=0 plymouth.ignore-serial-consoles splash fbcon=map:3 ostree=/ostree/boot.1/torizon/7b778d635701b4e0bbc49652c 421a587ae63ff3c6cbfc07d964084a23df7631d/0 [ 2.771129] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops) [ 2.771181] imx-drm display-subsystem: bound imx-lcdifv3-crtc.1 (ops lcdifv3_crtc_ops) [ 2.772099] imx-drm display-subsystem: bound 32e60000.mipi_dsi (ops imx_sec_dsim_ops [sec_mipi_dsim_imx]) [ 2.772141] imx-drm display-subsystem: bound 32fd8000.hdmi (ops dw_hdmi_imx_ops) [ 2.772468] [drm] Initialized imx-drm 1.0.0 20120507 for display-subsystem on minor 0 [ 2.869610] imx-drm display-subsystem: [drm] fb0: imx-drmdrmfb frame buffer device [ 5.099098] systemd[1]: Starting Load Kernel Module drm... [ 5.188031] systemd[1]: [email protected]: Deactivated successfully. [ 5.188992] systemd[1]: Finished Load Kernel Module drm. [ 5.262319] [drm] Initialized vivante 1.0.0 20170808 for 40000000.mix_gpu_ml on minor 1 torizon@verdin-imx8mp-15404184:~$ dmesg | grep dsim [ 0.000000] Kernel command line: root=LABEL=otaroot rootfstype=ext4 quiet logo.nologo vt.global_cursor_defau lt=0 plymouth.ignore-serial-consoles splash fbcon=map:3 ostree=/ostree/boot.1/torizon/7b778d635701b4e0bbc49652c 421a587ae63ff3c6cbfc07d964084a23df7631d/0 dy [ 2.759952] Kernel module loaded from ramdisk: sec_dsim - result: 0 [ 2.771246] imx_sec_dsim_drv 32e60000.mipi_dsi: sec-dsim bridge bind begin [ 2.771290] imx_sec_dsim_drv 32e60000.mipi_dsi: version number is 0x1060200 [ 2.772085] imx_sec_dsim_drv 32e60000.mipi_dsi: sec-dsim bridge bind end [ 2.772099] imx-drm display-subsystem: bound 32e60000.mipi_dsi (ops imx_sec_dsim_ops [sec_mipi_dsim_imx]) [ 2.916294] Kernel module loaded from ramdisk: sec_mipi_dsim_imx - result: 0 [ 3.259164] imx_sec_dsim_drv 32e60000.mipi_dsi: p: min = 1, max = 6, m: min = 88, max = 1023, s: min = 0, ma x = 5 [ 3.259252] imx_sec_dsim_drv 32e60000.mipi_dsi: fout = 390000, fin = 12000, m = 130, p = 1, s = 2, best_delt a = 0 [ 3.259262] imx_sec_dsim_drv 32e60000.mipi_dsi: no pre-exist hpar can be used [ 18.521539] imx_sec_dsim_drv 32e60000.mipi_dsi: p: min = 1, max = 6, m: min = 88, max = 1023, s: min = 0, ma x = 5 [ 18.521629] imx_sec_dsim_drv 32e60000.mipi_dsi: fout = 390000, fin = 12000, m = 130, p = 1, s = 2, best_delt a = 0 [ 18.521640] imx_sec_dsim_drv 32e60000.mipi_dsi: no pre-exist hpar can be used torizon@verdin-imx8mp-15404184:~$ dmesg | grep adv [ 0.000000] Kernel command line: root=LABEL=otaroot rootfstype=ext4 quiet logo.nologo vt.global_cursor_default=0 plymouth.ignore-serial-consoles splash fbcon=map:3 ostree=/ostree/boot.1/torizon/7b778d635701b4e0bbc49652c421a587ae63ff3c6cbfc07d964084a23df7631d/0 [ 1.052362] adv7511 1-0039: Rev. 20 [ 4.325789] systemd[1]: System time before build time, advancing clock. torizon@verdin-imx8mp-15404184:~$ これにより、i2cset を使用して ADV7535 のレジスタを直接設定することでテスト カラーバー パターンを生成することもできます。これは、ADV7535 から HDMI シンク ディスプレイへの接続が正しく動作していることを意味します。問題は、iMX8MP が ADV7535 と通信する方法にあります。 まだディスプレイに何も出力されません。 NXP が自社製品に ADV7535 を実装した方法と、当社がソフトウェアとハードウェアのアプローチの観点から ADV7535 を実装する方法に違いがあるかどうかを理解したいと思います。 Re: ADV7535: No image output on display このエラーメッセージは、あなたのドライバからのようです。NXPドライバのソースコードからは見つけられませんでした。この設定は正しくありません。希望するクロックを得ることができません。クロックの親は24MHzで、11MHzに設定すると、24/2=12MHzしか得られません。 assigned-clock-parents = <&clk IMX8MP_CLK_24M>; assigned-clock-rates = <11000000>; 参考までにNXPのソースコードを参照し、LCDIF、MIPI DS1、ADV7535の設定が正しいかどうかを確認してください。 linux-imx/arch/arm64/boot/dts/freescale/imx8mp-evk.dts at lf-6.12.y · nxp-imx/linux-imx · GitHub linux-imx/arch/arm64/boot/dts/freescale/imx8mp.dtsi at lf-6.12.y · nxp-imx/linux-imx · GitHub ログを参照してください。PLL設定が正しくないようです。PLLドライバが Linux-imx/ドライバ/GPU/drm/imx/sec_mipi_pll_1432x.h at lf-6.12.y · nxp-imx/Linux-imx · GitHub もう一度確認することできます
查看全文
i.mx8QMおよびi.mx8QXP EVKのMFi認証チップを接続するにはi2cラインが必要です こんにちは、NXPチーム i.mx8QM および i.mx8QXP EVK で Apple MFi 認証チップを接続するには、テスト ポイントまたはピンの詳細が必要です。以下のピンを募集しています。 3.3V VCC SDA SCL GND 前もって感謝します i.MX 8ファミリ | i.MX 8QuadMax (8QM) | 8QuadPlus Re: Need i2c lines for connecting MFi Authentication Chip in i.mx8QM and i.mx8QXP EVK AUX I2Cは標準I2CとしてCAN使用できますが、このコネクタの仕様は持っていません。同封のBOMファイルを参照してください。そこにはメーカーと部品番号が記載されています。添付ファイルを見つけてください。 Re: Need i2c lines for connecting MFi Authentication Chip in i.mx8QM and i.mx8QXP EVK こんにちは@joanxieさん、返信ありがとうございます。返信を時間通りに確認できず申し訳ありません。 SO、私たちに本当に必要なのは、すでに私たち側に存在する MFi チップを接続するための i2c ラインを見つけるのに役立つ、ハードウェア レイアウトと回路図の詳細です。 当社では「MCIMX8-8x-BB」ベースボードを使用しており、そこに i.MX8 QM および QXP ハードウェアを接続しています。そこには 10 個のジャンパー スロットを含む「AUX I2C」(J7) がいくつかあることがわかりました。それぞれのピン配置を知りたいSO、「3.3V」を見つけCANVCC'、SDA、SCL、GND。また、MFiチップの接続に使用CANかどうかの確認が必要です。 ありがとう、 モハメド・シャキル Re: Need i2c lines for connecting MFi Authentication Chip in i.mx8QM and i.mx8QXP EVK i.mx8qm はこれをサポートしますが、詳細な設計や SW 情報などについては、 [email protected] まで お問い合わせください 。 MFiアクセサリ ソフトウェア開発キット(SDK) | NXP Semiconductors Re: Need i2c lines for connecting MFi Authentication Chip in i.mx8QM and i.mx8QXP EVK [email protected]のお問い合わせは誰ですか?メールアドレスが有効ではありません。
查看全文
MDIORead が RMII インターフェースで常に 0xFFFF を返す こんにちは。私は s32k148 と Microchip LAN8720A phy ドーターボードを使って通信できるように取り組んでいます。私は、PHY からの信号を J16 コネクタにルーティングするための嵌合 PCB を設計しました。電源投入時に PHY を適切に初期化することができ、Windows コンピューターに接続するとオレンジと緑の LED が表示され、PC 側では Wireshark のアクティビティも確認できます。次のステップは、ボードの MAC インターフェースを PHY と通信させることですが、ここで問題が発生します。tja1101 の例をできるだけ忠実にコピーするようにコードを設定しましたが、実行しようとするたびに、メイン関数命令の PHY_SHARED_ReadBasicStatus() 内の ENET_DRV_MDIORead() が 0xFFFF を返します。 私が二重チェックした項目のリストは次のとおりです。 - 50MHz クロックは仕様範囲内であり、PHY の CLKIN ピンと J16 の PTD11 の両方にあります。 - 内部モジュール クロックと MII_SPEED ビットによって指定される MDC 周波数は 2.4MHz です (内部モジュール クロック = 48MHz、MII_SPEED ビット = 9)。 - データシートによれば、物理アドレスは0です(RXER/PHYADD0は内部でローにプルダウンされています) 初期化コードと PHY のデータシートが適切であることを確認できるように、プロジェクト全体をこの投稿に添付しました。 また、オシロスコープを使用して MDIO および MDC ラインのアクティビティを測定しましたが、それが適切な形式であったかどうかはわかりません。 よろしくお願いします! Re: MDIORead always returning 0xFFFF on RMII interface こんにちは@christopherlajoie 、 休暇に関してお知らせいただきありがとうございます。そうすれば、詳細な回答を準備するのに十分な時間が得られます。 最新情報と詳細な観察に感謝します。 MDIO および MDC 信号のレベル シフターに関しては、ボード上の U14 (MDIO) と U22 (MDC) (黄色のもの) の位置については添付の画像を参照してください。オシロスコープを使用して動作を調べ、信号の整合性を検証CAN。ボードが新品であれば、製造上の欠陥がない限り、損傷の可能性は低いことに同意します。 セットアップ時間に関するご質問ですが、SMI インターフェースでは、MDIO は MDC の次の立ち上がりエッジでサンプリングされます。つまり、セットアップ時間要件は、必ずしもキャプチャに表示される現在のエッジの前ではなく、そのエッジの前に有効になっているデータに適用されます。SO、セットアップ時間の要件は簡単に満たされます。 動作を検証するために、次の設定を使用して S32K148EVB-Q176 ボードで lwip_s32k148 の例を実行しました。 ソフトウェア: S32 Design Studio v3.5 SDK: s32sdk_s32k1xx_rtm_401 ハードウェア: TJA1103-SDBRドーターボード(rev-RMIIモード) PHYアドレス: 0x02 MDIOラインにプルアップ抵抗がない PHY ドライバーを追加し、PHY エントリを定義しました。 LED を点滅させ、PHY_Read() を使用して 2 つの PHY レジスタを定期的に読み取る FreeRTOS タスクが作成されました。MSCR 設定をデフォルトのままにしておくと、次のようになります。 MDC周波数: ~2.39 MHz ホールド時間: 20 ns (MSCR.HOLDTIME = 0x0) ホールド時間: 170 ns (MSCR.HOLDTIME = 0x7 - デバッガによって設定) PHY をリセットしようとしましたが、不要であることが判明したSO、関連コードをコメント アウトしました。 抵抗器 R46 (MDIO) と R38 (MDC) で信号が観測されました。以下は、完全な第 22 条の読み取りトランザクションの波形キャプチャです。 ターゲットPHY: 0x02 読み取りレジスタ: 0x03 TJA1103 によって返されたデータ: 0xB013 (カーソル間) 比較のために、オシロスコープで第 22 条の完全なトランザクションをキャプチャしてみてください。波形は、マネジメントデータ入出力 - Wikipediaに記載されているタイミング図に似ているはずです。 コード全体を確認することはできませんが、とにかく共有していただきありがとうございます。ただし、PHY_Read (および他の PHY 関数) の最初のパラメーターは PHY アドレスではなく、PHY エントリのインデックスであるSO、0 または PHY_INSTANCE_0 になる必要があることに注意してください。PHY アドレスは、PHY エントリ自体内に設定する必要があります。 よろしくお願いいたします。 パベル Re: MDIORead always returning 0xFFFF on RMII interface LAN8720A にあった 1.5k オームの抵抗の代わりに 10k オームの抵抗をはんだ付けしましたが、これが強すぎるようで、3.3V ライン全体が 1.5V 程度まで引き下げられています。信号全体が途切れてしまう、SOこれは解決策にはなりません。Digi-Key の注文を受け取ったら、1.5k から 10k までの他の値を試してみます。来週は休暇を取る予定です。SOこれ以上のデバッグ作業は行えないことをご了承ください。8月4日月曜日(EST時間)に戻ります Re: MDIORead always returning 0xFFFF on RMII interface こんにちは、パベルさん。詳しい回答をありがとうございます。3.3V ラインへのプルアップ抵抗を増やして、信号が改善されるかどうか確認してみます。 TXB0104 双方向レベル シフターに関しては、どのようにテストすればよいのか、ボード自体のどこにあるのかもわかりません。それを実行する方法について教えていただけますか?また、ボードはかなり新しいSO、欠陥がない限り、壊れている可能性は非常に低いと思います。 セットアップ時間に関する質問について、何かご意見はありますか?私の写真に示されているように、MDC の立ち上がりエッジの少なくとも 10 ns 前に MDIO 信号がトリガーされないのは非常に奇妙だと思います。ホールドタイム パラメータを 1 サイクルに設定しました。これは、私のCASE、48 MHz で約 20 ns に相当します。データシートには、セットアップ時間は少なくとも 10 ns である必要があることが明記されています。PHY への読み取り操作と書き込み操作の両方をテストしましたが、どちらもセットアップ時間は表示されません。 サポートありがとうございました! Re: MDIORead always returning 0xFFFF on RMII interface こんにちは@christopherlajoie 、 詳細なフォローアップと測定に感謝します。回答と提案は以下をご覧ください。 MDIO ラインの急激なスパイクは確かに異常です。プルアップ抵抗を10kΩ以上に増やしてみてください。1.5 kΩ のプルアップは厳密には必要ではなく、このCASEは強すぎる可能性があります。 S32K148-Q176 ボードは、MCU と PHY の間に TXB0104 双方向レベル シフタを使用します。これらは信号の形状とタイミングにCAN影響を与える可能性があります。PTB4 で観察されるリンギングや歪みの原因となっている可能性があるため、正しく動作していることを確認してください。 ドライブ強度について: これを High に設定すると、より強力な出力ドライバ (より多くのトランジスタ) が有効になり、立ち上がり/立ち下がり時間が改善され、電流能力が向上します。これは、特に長いトレースや容量性負荷の場合に、信号の整合性を高めるのにCAN。違いは S32K1 のデータシートに記載されています。 MDC 周波数を調整するということは、プルアップ抵抗、トレース長、寄生静電容量など、MDIO ラインの電気的特性に合わせて調整することを意味します。MDC は技術的には最大 2.5 MHz までCANますが、それを下げると (たとえば、500 kHz または 250 kHz に)、限界信号条件を安定させることができます。ただし、すでにこれを試しても改善が見られない場合、問題は他の場所にある可能性があります。 MDC は MSCR レジスタを介して ENET モジュール クロックから派生されるという事実を除けば、コア クロックと MDC クロックの間に厳密な依存関係はありません。MDC が仕様内である限り、コア クロックは MDIO タイミングに直接影響しません。 よろしくお願いいたします。 パベル Re: MDIORead always returning 0xFFFF on RMII interface また、LAN8720A のデータシートの表 5-12 には、MDC の立ち上がりエッジを基準としたデータ入力の MDIO 信号セットアップ時間は少なくとも 10 ns である必要があると記載されています。ただし、電源が入っていないボードで PHY を外して信号を測定したところ、セットアップ時間はまったくないようです。設定し忘れたパラメータでしょうか?ホールド時間は設定しましたが、セットアップ時間は設定しませんでした。下の写真をご覧ください Re: MDIORead always returning 0xFFFF on RMII interface また、3.3V 間と GND 間の MDIO ラインの抵抗も測定しました。PHY のみで測定した場合 (NXP ボードに接続されていない)、3.3V に対して 1.5k オーム、GND に対して 120k オームが得られます。ただし、ボードに接続した状態で測定すると (電源が入っていない状態で)、3.3V に対して 1.5k オームになりますが、GND に対しては 2.9k オームになります。PTB4 は電源が入っていないときにシンクする可能性があると思いますが、それはボードに接続されていないときは MDIO ラインが正常であることも意味します。 Re: MDIORead always returning 0xFFFF on RMII interface 私が間違っていたようです。PCB を接続せずに (PHY なしで) MDIO ライン上の信号を測定しただけなので、MCU の読み取り要求に何も応答せず、信号は実際にはクリーンに見えます。また、全体的な形式は同じで信号が不良であり、これは MDIO ライン上の MCU との物理的な相互作用により、MCU の信号が何らかの形で破損していることを意味します。下の画像をご覧ください Re: MDIORead always returning 0xFFFF on RMII interface また、問題が PCB にないことを確認するために、R46 抵抗器で MDIO 信号を測定しましたが、抵抗器に十分近い GND スポットが見つからなかったため、多少のノイズはありましたが、まったく同じ信号が得られました。下の写真をご覧ください Re: MDIORead always returning 0xFFFF on RMII interface こんにちは、パベルさん。 それは知っておいてよかったです!内部で自動的に制御されているはずだと考えましたが、確かめたかったのです。しかし、それでは私の問題は解決されないのではないかと心配しています。前に述べたように、MDC のクロック サイクル間の高ロジックと低ロジックの間の急速なスパイクにより、MDIO ラインは本来あるべき姿ではなくなります。PTB4 のラインおよび動作にはまだ問題があります。 ご提案のとおり、MDC 速度を 1 MHz から 500KHz、さらに 250KHz まで下げてみましたが、動作は同じでした。いつもあの鋭いスパイクです。MDC クロックは、PHY の基本レジスタ 1 から取得する読み取り値に影響しているようですが、これは MDIO ラインの問題によるものだと思います。通常のCASE、MDC 速度は 2.5MHz 未満であれば何も影響しないはずです。コア クロックと MDC クロックの間には、従うべき何らかの関係があるのでしょうか? PTB4のプルアップ機能の設定も試してみました。プルアップとプルダウンの両方を試しましたが、成功しませんでした。高いドライブ強度と低いドライブ強度の違いは何か知りたいです。 最後に、「MDC 周波数を調整する」とはどういう意味かわかりませんが、私の理解では、2.5 MHz 未満であればマターないはずです。このラインは通信のために MAC と PHY の間で共有される唯一のラインなので、PTB4 と組み合わせるとラインの電気的動作に何か問題があるのではないかと思います。他に何をテストすればよいかというアイデアや、S32k148EVB-Q176 で実行されて成功した同様のプロジェクトの他の例はありますか? 継続的なサポートに感謝します。とても感謝しています! Re: MDIORead always returning 0xFFFF on RMII interface こんにちは@christopherlajoie 、 MDIO ピン (PTB4) は ENET ペリフェラルによって制御され、Clause-22 操作中に方向 (TX/RX) とオープン ドレイン動作を自動的に管理します。ピンを手動でオープンドレインとして設定する必要はありません。 MDC 周波数を 1 MHz に下げたのは良い動きでした。安定性と可視性を向上させるには、さらに低い周波数 (たとえば、500 kHz) に設定してみるとよいでしょう。PHY には MDC 最大クロックの制限はありません。 MDC のエッジ間の最小時間は 160 ns です。エッジ間の最大時間はありません。最小サイクル時間 (2 つの連続する立ち上がりエッジまたは 2 つの連続する立ち下がりエッジ間の時間) は 400 ns です。これらの適度なタイミング要件により、このインターフェースはマイクロコントローラの I/O ポートによって簡単に駆動できます。 ドライブ強度を「高」に設定すると、適切な調整になりました。 実際の状況に合わせて MDC 周波数を調整するだけです。 よろしくお願いいたします。 パベル Re: MDIORead always returning 0xFFFF on RMII interface こんにちは、PaveILさん ご意見ありがとうございます。アンダーサンプリングについてはおっしゃる通りで、確かに信号を正しく読み取っていませんでした。きちんとサンプリングしてみた結果は次のとおりです。 - すべての PHY_read() トランザクションで、信号の MDIO バス部分への MAC 書き込みが乱れているように見えますが、バスへの PHY 書き込みはクリーンに見えます。 - リンクした画像から判断すると、MAC はラインを適切にローに引き下げて論理 0 を送信することができず、書き込み期間全体にわたって 0V と 3.3V の間で非常に急激なスパイクが発生するようです。 - 私が見た限りでは、書き込みのタイミングは問題ないようです。 調べてみたところ、J16 コネクタの MDIO/PTB4 ピンに問題があるのではないかと思いました。下記のように適切に設定しましたが、オープンドレインコレクターとして動作していないようです。何か設定が足りないのでしょうか? 設定を変更して、MDC 周波数を 1 MHz に設定しました。そのため、画像では 1 MHz と表示されています。また、ホールド時間は 48MHz で 3 モジュール クロック サイクルに設定されています。 よろしくお願いします! Re: MDIORead always returning 0xFFFF on RMII interface 物理識別子1レジスタから物理ID番号を正常に読み取ることができたので、このCASE 0が正しいアドレスであると考えています。 Re: MDIORead always returning 0xFFFF on RMII interface CASE、他の PHY アドレスをスキャンしてみましたか?ストラップが適切に機能せず、PHY が予想とは異なるアドレスで起動するCASEがありました。 Re: MDIORead always returning 0xFFFF on RMII interface こんにちは@christopherlajoie 、 提供されているすべての利用可能な構成ファイル、初期化コード、およびオシロスコープのキャプチャを確認しました。MDC 信号は正しく構成され、2.4 MHz で動作するようになりました。MDIO ラインには適切な 1.5 kΩ の外部プルアップ抵抗があり、ENET ペリフェラルは正しく初期化されています。これを踏まえると、残る問題は機能障害ではなく信号観測に関連していると思われます。 更新してすべてのデータを共有していただきありがとうございます。あなたの説明とオシロスコープのキャプチャに基づくと、あなたが観察しているMDIO信号の不安定性は、おそらく以下の原因によるものです。 アンダーサンプリング。 各 MDIO トランザクション (Clause-22 読み取り) は 64 ビットで構成され、クロック速度は約 2.4 MHz → 合計所要時間は約 27 µs です。 タイムベースが 500 µs/div の場合、オシロスコープはトランザクションごとに数個のサンプルしかキャプチャできません。 その結果、放電/充電曲線や「V 字型」の低下に似た歪んだ波形や部分的な波形が発生するCANがあります。 PHY 読み取りによって有効なデータが返され、MDC 信号が正しいことが確認されたため、MDIO ラインは正常に機能していると考えられます。 推奨される次のステップ: オシロスコープを1~5µs/divに設定します。 MDC の立ち上がりエッジでトリガーします。 既知の PHY_Read() 中にシングルショット モードでキャプチャします。 これにより、完全な MDIO トランザクションを観察し、信号の整合性を確認することができます。 よろしくお願いいたします。 パベル Re: MDIORead always returning 0xFFFF on RMII interface また、MDIOのV字型信号がMDCの立ち下がりエッジとタイミングが合わず、1.5V~2Vまでしか下がらないこともあります。 Re: MDIORead always returning 0xFFFF on RMII interface 両方の信号が一緒に写っている写真がこちらです Re: MDIORead always returning 0xFFFF on RMII interface 状況を更新したところ、MDC の正しいピンを多重化していなかったことが判明しました。変更後、MDC 信号は 2MHz で完璧です。ただし、MDIO の安定性にはまだ問題があります。Mac は PHY から読み取ることができますが、リンクの安定性はひどいです。オシロスコープから読み取った MDIO の画像をいくつか添付しました。私は、MII_RMII_MDIO であるピン PTB4 は、MAC と phy の両方が書き込めるようにするためにはオープン ドレインである必要があることを理解しました。ただし、ピン多重化メニュー内にそのオプションは表示されず、入力/出力ピンとしてロックされています。何らかの理由で、PHY と MAC が争っているような印象を受けます。また、写真上の 3.3V 付近の信号は、放電/充電曲線のように見えます。
查看全文
Fusion F1 DSP MIMXRT595-EVK 用にビルドできません こんにちは、   いずれかの例をビルドしようとすると ( https://mcuxpresso.nxp.com/mcuxsdk/25.06.00/html/boards/RT/evkmimxrt595/gettingStartedXplorer/topics/run_and_debug_from_command_line_environment_linux.html#build-and-debug-dsp-applicationに従う)次のエラーが発生します: [nicolas@LPC84-nicolas xcc]$ make [ 5%] Building C object CMakeFiles/dsp_naturedsp_dsp.elf.dir/opt/mcuxpresso-ide/SDK_25_06_00_EVK-MIMXRT595/SDK_25_06_00_EVK-MIMXRT595/boards/evkmimxrt595/dsp_examples/naturedsp/fusionf1/main.c.obj Error: the "nxp_rt500_RI23_11_newlib" core is not in the current Xtensa core registry. You need to either specify the name of a registered Xtensa core (with the --xtensa-core option or the XTENSA_CORE environment variable) or specify a different registry of Xtensa cores (with the --xtensa-system option or the XTENSA_SYSTEM environment variable). The following Xtensa cores are available:   XTENSA_SYSTEM に設定され、.../builds/RI-2023.11-linux/nxp_rt500_RI23_11_newlib に設定されています。XTENSA_CORE は「nxp_rt500_RI23_11_newlib」に設定されていますが、見つかりません。利用できるコアがありませんか?   Xplorer アプリケーションを使用すると、同じエラーが発生します。Linux newlib の DSP 構成は、Tensilica ツールからダウンロードされ、GUI を使用してインストールされました。 具体的なビルド エラーは次のとおりです。 **** Incremental Build [Wed, 23 Jul 2025 11:46:42] **** Project: test Configuration: nxp_rt500_RI23_11_newlib Build Target: Debug ******************************** .... LLVM ERROR: Failed to load library ~/xtensa/XtDevTools/install/builds/RI-2023.11-linux/nxp_rt500_RI23_11_newlib/config/llvm/lib/libXtensaCodeGen.so. Unsupported processor configuration. ~/xtensa/XtDevTools/install/builds/RI-2023.11-linux/nxp_rt500_RI23_11_newlib/config/llvm/lib/libXtensaCodeGen.so: cannot enable executable stack as shared object requires: Invalid argument ....     Linux (newlib) v10.1.11 の DSP 構成に問題がある可能性がありますtenisillica ツールからダウンロードしますか?Linux で問題を経験している人は他にもいますか?   Re: unable to build for fusion F1 DSP MIMXRT595-EVK こんにちは@Nicolas-ph 、 テスト環境で同じテストを実行しましたが、問題は環境変数の設定にあるはずです。これを次の構成に変更すると動作します。 XTENSA_SYSTEM=~/xtensa/XtDevTools/install/builds/RI-2023.11-linux/nxp_rt500_RI23_11_newlib/config export XTENSA_CORE=nxp_rt500_RI23_11_newlib export よろしくお願いします、 ギャビン Re: unable to build for fusion F1 DSP MIMXRT595-EVK こんにちは、ギャビン。 ご返信ありがとうございます。 ライセンスが適切でない場合、IDEs でビルド プロセスを開始できません。SOではないはずです。また、Xplorer IDE は、Windows と Linux の両方でライセンスが正常であると報告します。 よろしくお願いします、 ニコラス Re: unable to build for fusion F1 DSP MIMXRT595-EVK こんにちは@Nicolas-ph 、 NXP MIMXRTシリーズにご興味をお持ちいただきありがとうございます。 Windows 環境では DSP コードを CAN コンパイルするため、構成プロセスは SO 問題なく実行されるはずです。Linux 環境のライセンスに問題があるのではないかと疑っています。 よろしくお願いします、 ギャビン Re: unable to build for fusion F1 DSP MIMXRT595-EVK 更新、Windows で同じ手順を実行すると、ビルドできるようになります... Re: unable to build for fusion F1 DSP MIMXRT595-EVK こんにちは、 エラーが2つあります。 最初のエラーは、XTENSA_SYSTEM環境変数が正しくないことが原因です。混乱の原因は、ドキュメント(例えばこちら)のフォーマットが適切でないことだと私は思います。先に回答したとおり、正しい変数は次のとおりです。 XTENSA_SYSTEM=~/xtensa/XtDevTools/install/builds/RI-2023.11-linux/nxp_rt500_RI23_11_newlib/config 2つ目のエラーは「実行可能スタックを有効にできません」です。その理由は、セキュリティ強化Linux(SELinux)がXtensa Software Toolsでサポートされているプラットフォームではないためです。libXtensaCodeGen.so から実行可能スタックの要件を削除する必要があります。念のため、まずファイルのコピーを作成してから、以下のコマンドを実行してください。 execstack -c ~/xtensa/XtDevTools/install/builds/RI-2023.11-linux/nxp_rt500_RI23_11_newlib/config/llvm/lib/libXtensaCodeGen.so この方法により、Fedora 43上でXtensa Xplorer、MCUXpresso IDE、RT685-EVKを使用してdsp_mu_pollingのサンプルをデバッグすることができました。ターミナルを使ってサンプルをコンパイルすることもできました。
查看全文