Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
PCF85263AT/AJ -- 画面に表示される分数が任意の値を示しています コード移行作業の一環として、BSFフラグが設定されてしまうという問題に直面しています。BSFフラグが設定されていることにより、分レジスタのEMONビットも設定されます。 その結果、画面に表示される「分」の値は任意の値を示しています。さらに、年の値が正しく保存されず、RTCの日付と時刻を設定した後でも、2000年と表示され続けます。 下記の条件でテストを試みましたが、問題は依然として解決していません。 フラグレジスタ(0x43)を0x00に設定し、すぐに読み取ったところ、0x00が表示されました。しかし、3秒後にレジスタを再度読み取ったところ、値は再び0x08(または0x00)に設定されていた。 Re: PCF85263AT/AJ -- Minutes value displayed on the screen is showing an arbitrary value こんにちは、Ris_eekさん 良い一日! BSFフラグが単にクリアできないというだけではない。代わりにRTCは新しいバッテリー切り替えイベントを検出し、再びBSFを設定しています。データシートによると、バッテリー切り替えロジックが電源遷移イベントを検出したときにBSFが設定されます 約3秒後に再アサートされるという事実は、VDDの電源が繰り返しバッテリー切り替え閾値を下回り、繰り返しVDD>VBAT>VDDの切り替えを引き起こしていることを意味します。各遷移はBSFをリセットします。 RafaR_0-1788887610951.pngRafaR_0-1788887610951.pngRafaR_0-1788887610951.pngRafaR_0-1788887610951.png この絶え間ない電圧変動により、RTC(リアルタイムクロック)が常にリセットされるため、常に2000年と表示されるのです。電源信号に問題がないか確認することをお勧めします。 この情報がお役に立てば幸いです。他に何かご不明な点がありましたら、お気軽にお問い合わせください。 良い一日をお過ごしください。幸運を祈ります。 Re: PCF85263AT/AJ -- Minutes value displayed on the screen is showing an arbitrary value こんにちは、Ris_eekさん 良い一日! データシートには次のように記載されています。 フラグBSF(レジスタフラグ、アドレス2Bh)の主張は、ピンINTAおよびINTBで割り込みを生成するために使用できます。割り込みはパルス信号として生成されるか、あるいはビットBSF条件に従う恒常アクティブ信号として生成されることがあります。BSFはコマンドによって解除されるまで設定されたままになります。 私が送った参照画像には「インターフェース経由でクリア済み」と記載されています。 自動的にクリアされるわけではなく、クリアする必要があります。 この情報がお役に立てば幸いです。他に何かご不明な点がありましたら、お気軽にお問い合わせください。 良い一日をお過ごしください。幸運を祈ります。 Re: PCF85263AT/AJ -- Minutes value displayed on the screen is showing an arbitrary value 親愛なるラファールへ メールありがとうございます。   ハードウェアにおいては、VDD(4.93VDC)とVBAT(3.02VDC)の電圧は一定である。電圧変動を防ぐため、バッテリー供給には100 nFのコンデンサが接続されています。 バッテリースイッチレジスタ(26h)は0x00に設定されています。したがって、BSM(バッテリースイッチモード)はVレベルでスイッチングするように設定されています。Vレベルが1.5Vなのは、BSTH(バッテリースイッチ閾値電圧)ビットが0に設定されているためです。 前回のメールで参照した図25に示すように: VDD < Vth の場合、BSF は 1 に設定されます。 VDD > VBAT の場合、BSF をクリアする必要があります。 しかし、電源投入状態では、測定された電圧はVDD = 4.93 VDCであり、これはVBAT = 3.02 Vよりも大きい。それでも、BSFは許可されない。 なぜBDDがVBATより大きいのにBSFが固定されているのか、説明していただけますか? Re: PCF85263AT/AJ -- Minutes value displayed on the screen is showing an arbitrary value 了解、ラファール ありがとうございます。 しかし、BSFフラグはソフトウェア上でクリアされますが、しばらくするとまた設定されます。これは私の前回の投稿で説明した通りです。
記事全体を表示
S32k344 MBIST LBIST 私は現在、グリーンヒルズプロジェクトにおいてS32k344 BISTの実装を進めているところです。私はTresosやNXP DSを使用していないため、ソースコード形式のSW32K3_SPD_1.0.6_D2512を使用しています。ほとんどのbist関数はインポートできましたが、いくつかの定義だけはどこにも分かりません(どこにも見つかりません)。以下の質問に誰か答えてもらえますか? 1. S32k344がロックステップモードの状態でLBIST MBISTを動かしてもいいですか? 2. コードを調べて推測した以下の定義は正しいでしょうか? #define BIST_MBIST_0 1U #define BIST_MBIST_1 2U #define BIST_MBIST_2 3U #define BIST_MBIST_3 4U #define BIST_MBIST_4 5U #define BIST_MBIST_5 6U #define BIST_MBIST_6 7U #define BIST_MBIST_7 8U #define BIST_MBIST_8 9U #define BIST_MBIST_9 10U #define BIST_MBIST_10 11U #define BIST_LBIST_0 0U 私が使用した設定データは以下のとおりです。 static const BIST_CHANNEL_CONFIG_TYPE BistConfig[BIST_SAFETYBOOTCFG_NB] = ヤージュ ヤージュ (BIST_CHANNEL_TYPE)BIST_MBIST_0、 (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_1)) }、 ヤージュ (BIST_CHANNEL_TYPE)BIST_MBIST_1、 (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_2)) }、 ヤージュ (BIST_CHANNEL_TYPE)BIST_MBIST_2、 (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_3)) }、 ヤージュ (BIST_CHANNEL_TYPE)BIST_MBIST_3、 (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_4)) }、 ヤージュ (BIST_CHANNEL_TYPE)BIST_MBIST_4、 (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_5)) }、 ヤージュ (BIST_CHANNEL_TYPE)BIST_MBIST_5、 (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_6)) }、 ヤージュ (BIST_CHANNEL_TYPE)BIST_MBIST_6、 (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_7)) }、 ヤージュ (BIST_CHANNEL_TYPE)BIST_MBIST_7、 (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_8)) }、 ヤージュ (BIST_CHANNEL_TYPE)BIST_MBIST_8、 (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_9)) }、 //#endif ヤージュ (BIST_CHANNEL_TYPE)BIST_MBIST_9、 (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_10)) }、 ヤージュ (BIST_CHANNEL_TYPE)BIST_MBIST_10、 (BIST_CONTROL_TYPE)(0x00100000U) }、 ヤージュ (BIST_CHANNEL_TYPE)BIST_LBIST_0、 (BIST_CONTROL_TYPE)((0x00001108U) | BIST_LBIST_PTR_VAL(BIST_NIL)) } }; Re: S32k344 MBIST LBIST こんにちは、 1. S32k344がロックステップモードの状態でLBIST MBISTを動かしてもいいですか? はい。S32K344のロックステップアーキテクチャは、STCU2 LBIST/MBISTの実行を妨げません。BIST機構はデバイスセーフティインフラストラクチャの一部であり、STCU2で管理される論理とメモリをテストするために設計されています。S32K3セーフティマニュアルには、ロックステップとSTCU2 LBIST/MBISTの両方が装置のセーフティ機構として明示されています。 2. コードを調べて推測した以下の定義は正しいでしょうか? 数値値は基本的にS32K344に正確ですが、セーフティ上の観点からセーフティブート構成にMBIST_10(HSE_ROMs)を含める必要はなく、推奨されるパスは検証済みのSPD構成を直接利用することです。 よろしくお願いいたします。 ピーター Re: S32k344 MBIST LBIST ピーター、 ご返信いただき、誠にありがとうございます。ここ数日間、BISTテストの問題で行き詰まっています。私はS32k344ホワイトボードでテストしており、コードはGreen HillsのマルチIDE rev 8.1で構築しています。セーフティブーツのBISTが通っていません。コアやペリフェラルの最大クロック要件は満たされていると思います。外部水晶発振器16MHzとPLLからcore_clkを160MHzに設定し、AIPS_PLAT_CLKは80MHz、AIPS_SLOW_CLKは40MHz、DCM_CLKは40MHz、LBIST_CLKは40MHz、QSPI_MEM_CLKは160MHzに設定しています。bist 実行からユニットをリセットすると、DES レジスタが 0x00408175 になり、いくつかの予約ビットが設定され、FES レジスタが 0x2000 になります (意味がわかりません)。以下の質問にお答えいただけますでしょうか? 1. 上記のすべてのクロック信号は、MC_CGM->MUX_0_DC_x レジスタを介して有効化する必要がありますか?私は手に入れている 情報が矛盾していますが、現在有効になっています。 2. リファレンス・マニュアルのSTCU2章には、「EMACタイムスタンプメモリ上でMBISTを実行する際、MC_CGM MUX_9_9_DC_0[DIV]はEMAC_CLK_TS AIPS_SLOW_CLK周波数の少なくとも1.5倍であるべきであるように適切に設定されるべきである。」つまり、クロックを設定して、MC_CGM->MUX_9_DC_0レジスタで有効にする必要があるということですか? 3. SW32K3_SPD_1.0.6_D2512パッケージでS32_SPD_Demo例コードを見たい場合は、最新のNXP Design Studioをインストールし、spd zipファイルを更新サイトとしてインポートし、RTDパッケージも同時にインポートする必要があると思います。それで合っていますか? 4. MBIST 10はHSE_RAMS、MBIST 11はHSE_ROMSだと思います。SPDドキュメントフォルダにある以下の表を参照してください。 MBIST BIST ID BISTインスタンス名 ドメインのリセット セーフティブーツ セーフティ診断 0 SYS0_RAMS 主要 ü ü 1 SYS1_RAMS 主要 ü ü 2 DMA_TCD_RAM 主要 ü ü 3 CM7_0_TOP 主要 ü ü 4 CM7_1_TOP 主要 ü ü 5 フレックス・キャン・ラムズ 主要 ü ü 6 QSPI_PERI_RAMS 主要 ü ü 7 EMAC_TSN_RAM 主要 ü ü 8 EMAC_RAMS 主要 ü ü 9 b03_ETF_RAMS 主要 ü ü 10 HSE_RAMS 主要 ü ü 11 HSE_ROMS 主要   ü Re: S32k344 MBIST LBIST 私の問題に関する最新情報です。STCU_RUNSW_REGのビット8と9を有効にしてPLLを使用するようにした後、DESレジスタが常に0x11、FESレジスタが0x10になっていることが確認されています。bist_get_exec_status(BIST_SAFETYBOOT_CFG) の戻り値は NOT RUN (0x03) です。BIST ERR_STATレジスタには何も格納されておらず、ENDフラグも設定されていません。FCCU NCF_S0レジスタでは、ビット2がセットされています。BISTは開始されなかったようですが、リセットは確認できました。私は、別のバンクのフラッシュメモリに書き込むことで、レジスタ設定を取得しました。 Re: S32k344 MBIST LBIST 考えられるすべての時計を確認しましたが、どれも正確だと思います。レジスタ内の設定データをNXP Studio SPDのサンプルプロジェクトの値と比較してみましたが、それらも正しかったです。新しい情報が1つあります。システムがBISTリセットから復帰した後、DCMROD3レジスタに値0x18が記録されているのを確認しました。このエラーを解決するにはどうすればよいですか?ありがとう。 XRen_Parker_0-1788544110794.pngXRen_Parker_0-1788544110794.pngXRen_Parker_0-1788544110794.pngXRen_Parker_0-1788544110794.pngXRen_Parker_0-1788544110794.png Re: S32k344 MBIST LBIST こんにちは、 STCUの自己診断シーケンスが開始され、ST_DONEリセットフェーズに到達しました。しかし、STCUは回復不能な故障(STCU_URF)も報告しており、これがSAFのBISTドライバがその後BIST_NORUNを報告する理由を説明しています。したがって、この問題はBISTが一度もトリガーされなかったCASEではなく、STCUの実行・設定失敗であるようです。 S32K3では、破壊リセットと機能リセットの両方の表示が同時に見られる場合、それはリセット履歴を表示している可能性が高く、必ずしも直接のリセット元を表示しているとは限りません。 ソフトウェアを移植するとのことですので、まずはPLLから取得したデータでMBISTテストのみを実行して、合格するかどうかを確認してみることをお勧めします。 また、テスト時の時計設定を再度確認してください。 よろしくお願いいたします。 ピーター Re: S32k344 MBIST LBIST こんにちは、 S32K344では、RCCUがロックステップの不一致を報告し、デバッガと接続すると、単独実行では決して起こらないRCCU関連の故障が発生することも珍しくありません。 例の設定に従うなら、フルBISTです。 この例はテスト済みで、デフォルト設定で完全に動作します。 しかし、あなたのポートはURFエラーを報告しているので、すべてが同じではないことがわかります。 STCUのドキュメントを見ると、ユーザーはテストへのポインタを設定できます。 54.9.4 STCU2 設定 (CFG) petervlna_0-1788766597312.pngpetervlna_0-1788766597312.pngpetervlna_0-1788766597312.png まずは検査を縮小してから、徐々に検査を増やす方法もあります。 MBISTおよびLBIST制御レジスタでは、どのテストが最後に行われるかを設定できます: petervlna_1-1788766735386.pngpetervlna_1-1788766735386.pngpetervlna_1-1788766735386.png 例えばCFGレジスタで を指し示すことで、単一のMBISTパーティションを実行できます: petervlna_2-1788766853581.pngpetervlna_2-1788766853581.pngpetervlna_2-1788766853581.png petervlna_3-1788766973925.pngpetervlna_3-1788766973925.pngpetervlna_3-1788766973925.png よろしくお願いいたします。 ピーター Re: S32k344 MBIST LBIST mbistを順番に実行してみたり、個別のmbistテストIDを使って実行してみたりしました。結果は同じで、新たな状態は観察されなかった。トリガー設定直前のセーフティブート用の以下のSCU2レジスタ設定を確認できますか?ありがとう。 XRen_Parker_0-1788899133217.pngXRen_Parker_0-1788899133217.png Re: S32k344 MBIST LBIST これは、S32k344マイクロコントローラでLBIST/MBISTの実装に苦労しているコミュニティの方々のためのものです。何日も進展がなかった後、ようやく試験に合格することができました。SPDドライバー1.06のカスタム移植でそうしました。ドライバーコードは動作しますが、故障を回復不能な障害に設定する必要があります。以下は設定が必要なクロックです。これらのいずれかが正しく設定されていない場合、テストシーケンスが同時に実行され、他のステータスが表示されず、完了ビットが設定されないため、テストは BIST_NORUN(0x03) ステータスで失敗します。 1. FXOSCモジュールのCTRLレジスタを設定して外部オシレーターまたは水晶発振器を使用するようにします。これがS32k344で最大160MHzを得る唯一の方法です。 2. PLL回路用にPLLDIGモジュールを設定し、PLLDVレジスタのrdiv、mfi、およびodiv2ビットを設定して、最大周波数が出力されるようにします。 3. PLLクロックをcore_clkとemac_clkのリファレンス・マニュアルの手順に従って切り替え、MC_CGM_MUX_xレジスタ設定を行います。 4. MC_CGM->MUX_0 レジスタと MC_CGM->MUX_9 レジスタを設定して、以下のクロック信号を取得します。 AIPS_PLAT_CLKを80MHzに設定 AIPS_SLOW_CLKを40MHzに設定 HSE_CLKを80MHzに設定 DCM_CLKを40MHzに設定 LBIST_CLKは40MHz QSPI_MEM_CLKを160MHzに設定 EMAC_CLKは80MHz     注: RUNSW レジスタのビット 8 と 9 を設定しないでください。設定するとテストが失敗します。これはSPDドライバーコードには記載されていません。リファレンス・マニュアルには矛盾した情報があるため、これを言及します。
記事全体を表示
PCF85263AT/AJ——屏幕上显示的分钟数为任意值。 在代码迁移任务中,我们遇到了 BSF 标志被设置的问题。由于 BSF 标志被设置,分钟寄存器中的 EMON 位也被设置。 因此,屏幕上显示的分钟数是一个任意值。此外,年份值无法正确保存,即使在设置了 RTC 日期和时间之后,年份值仍然持续显示 2000。 我尝试测试了下面提到的条件,但问题仍然存在。 我将标志寄存器(0x43)设置为 0x00 并立即读取它;它显示 0x00。然而,3秒后我再次读取寄存器时,其值又被设置为0x08(或0x00)。 Re: PCF85263AT/AJ -- Minutes value displayed on the screen is showing an arbitrary value 你好 Ris_eek 再会! BSF 标志并非只是无法清除。相反,RTC 检测到新的电池切换事件,并再次设置 BSF。根据数据手册,当电池切换逻辑检测到电源转换事件时,BSF 将被设置。 它在大约 3 秒后重新确立的事实意味着 VDD 电源反复降至电池切换阈值以下,导致反复出现 VDD>VBAT>VDD 转换。每次转换都会重置 BSF。 RafaR_0-1788887610951.pngRafaR_0-1788887610951.pngRafaR_0-1788887610951.pngRafaR_0-1788887610951.png 这种持续的电压波动导致 RTC 不断 RESET,这就是为什么它只显示 2000 年的原因。我建议检查一下电源信号是否存在问题。 希望这些信息对您有所帮助,如果您还需要其他帮助,请告诉我。 祝你今天过得愉快,一切顺利。 Re: PCF85263AT/AJ -- Minutes value displayed on the screen is showing an arbitrary value 亲爱的拉法尔; 谢谢你的来信。   在硬件方面,VDD(4.93 VDC)和VBAT(3.02 VDC)电压是恒定的。为防止电压波动,在电池电源两端并联了一个 100 nF 的电容。 电池开关寄存器(26h)设置为 0x00。因此,BSM(电池开关模式)配置为在 Vth 电平进行切换。Vth 电平为 1.5 V,因为 BSTH(电池开关阈值电压)位设置为 0。 如图 25 所示(如前一封邮件中所述): 当 VDD < Vth 时,BSF 设置为 1。 当 VDD > VBAT 时,BSF 应被清除。 然而,在通电状态下,测得的电压为 VDD = 4.93 VDC,大于 VBAT = 3.02 V。即使如此,边防部队也未能通过清剿。 请问为什么即使 VDD 大于 VBAT,BSF 仍然保持设置状态? Re: PCF85263AT/AJ -- Minutes value displayed on the screen is showing an arbitrary value 你好 Ris_eek 再会! 数据手册上写着: 声明标志 BSF(寄存器标志,地址 2Bh)可用于在引脚 INTA 和 INTB 上产生中断。中断可以生成为脉冲信号,也可以生成为持续有效的信号,该信号遵循位 BSF 的条件。BSF 保持设置状态,直至接到命令解除。 我发送的参考图像还显示以下内容:“通过接口清除。” 这不会自动完成,你需要手动清除。 希望这些信息对您有所帮助,如果您还需要其他帮助,请告诉我。 祝你今天过得愉快,一切顺利。 Re: PCF85263AT/AJ -- Minutes value displayed on the screen is showing an arbitrary value 好的,拉法尔 谢谢。 但是,BSF 标志在软件中被清除,但过一段时间后,它会再次被设置,正如我在之前的帖子中描述的那样。
記事全体を表示
S32k344 MBIST LBIST I'm in the process of implementing S32k344 BISTs in a green hills project. I'm using  SW32K3_SPD_1.0.6_D2512 in the source code form since I don't use Tresos or NXP DS. I was able to import most of the bist functions, except few defines that I'm not sure about (can't find them anywhere). Can anybody answer below questions. 1. Can I run LBIST MBIST while S32k344 is in lock step mode? 2. Is the following defines correct, I guessed by examining the code? #define BIST_MBIST_0 1U #define BIST_MBIST_1 2U #define BIST_MBIST_2 3U #define BIST_MBIST_3 4U #define BIST_MBIST_4 5U #define BIST_MBIST_5 6U #define BIST_MBIST_6 7U #define BIST_MBIST_7 8U #define BIST_MBIST_8 9U #define BIST_MBIST_9 10U #define BIST_MBIST_10 11U #define BIST_LBIST_0 0U the config data I used are as follows: static const BIST_CHANNEL_CONFIG_TYPE BistConfig[BIST_SAFETYBOOTCFG_NB] = { { (BIST_CHANNEL_TYPE)BIST_MBIST_0, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_1)) }, { (BIST_CHANNEL_TYPE)BIST_MBIST_1, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_2)) }, { (BIST_CHANNEL_TYPE)BIST_MBIST_2, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_3)) }, { (BIST_CHANNEL_TYPE)BIST_MBIST_3, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_4)) }, { (BIST_CHANNEL_TYPE)BIST_MBIST_4, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_5)) }, { (BIST_CHANNEL_TYPE)BIST_MBIST_5, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_6)) }, { (BIST_CHANNEL_TYPE)BIST_MBIST_6, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_7)) }, { (BIST_CHANNEL_TYPE)BIST_MBIST_7, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_8)) }, { (BIST_CHANNEL_TYPE)BIST_MBIST_8, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_9)) }, //#endif { (BIST_CHANNEL_TYPE)BIST_MBIST_9, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_10)) }, { (BIST_CHANNEL_TYPE)BIST_MBIST_10, (BIST_CONTROL_TYPE)(0x00100000U) }, { (BIST_CHANNEL_TYPE)BIST_LBIST_0, (BIST_CONTROL_TYPE)((0x00001108U) | BIST_LBIST_PTR_VAL(BIST_NIL)) } }; Re: S32k344 MBIST LBIST Hello, 1. Can I run LBIST MBIST while S32k344 is in lock step mode? Yes. The S32K344 lockstep architecture does not prevent execution of STCU2 LBIST/MBIST. The BIST mechanism is part of the device safety infrastructure and is designed to test logic and memories managed by STCU2. The S32K3 Safety Manual explicitly lists both lockstep and STCU2 LBIST/MBIST as safety mechanisms of the device. 2. Is the following defines correct, I guessed by examining the code? The numerical values are essentially correct for S32K344, but including MBIST_10 (HSE_ROMs) in the Safety Boot configuration is not required from a safety perspective, and the recommended path is to use the validated SPD configurations directly. Best regards, Peter Re: S32k344 MBIST LBIST Peter,   Thank you very much for replying. I have been stuck with this BIST test issues for few days now. I'm testing with S32k344 White board, code is build with green hills multi IDE rev 8.1. The safety boot BIST is not passing. I'm sure the max clock requirement is met for core and peripherals. I have core_clk at 160Mhz from external crystal 16Mhz and PLL, AIPS_PLAT_CLK is 80Mhz, AIPS_SLOW_CLK is 40Mhz, DCM_CLK as 40 MHz, LBIST_CLK is 40Mhz,  QSPI_MEM_CLK is 160Mhz. I have this error when unit reset from bist run, DES register has 0x00408175, few reserved bits get set, and FES register has 0x2000 (doesn't make sense). would you kindly answer following questions? 1. with all the clock signals mentioned above, should they be enabled through MC_CGM->MUX_0_DC_x registers? I'm getting conflicting information, currently they are enabled. 2. In the reference manual, STCU2 chapter, there is this "While running MBIST on EMAC time stamp memory, MC_CGM.MUX_9_DC_0[DIV] should be appropriately configured to ensure EMAC_CLK_TS should be at least 1.5 times the AIPS_SLOW_CLK frequency." does that mean I have to config configure the clock and enable it in the MC_CGM->MUX_9_DC_0 register? 3. If I want to see the example code S32_SPD_Demo in SW32K3_SPD_1.0.6_D2512 package, I guess I need to install latest NXP design studio, import the spd zip file as update site, and also the RTD package, is that right? 4. I believe MBIST 10 is HSE_RAMS, MBIST 11 is HSE_ROMS, please see the table below from SPD doc folder. MBIST BIST ID BIST Instance Name Reset Domain Safety Boot Safety Diagnostic 0 SYS0_RAMS Main ü ü 1 SYS1_RAMS Main ü ü 2 DMA_TCD_RAM Main ü ü 3 CM7_0_TOP Main ü ü 4 CM7_1_TOP Main ü ü 5 FLEX_CAN_RAMS Main ü ü 6 QSPI_PERI_RAMS Main ü ü 7 EMAC_TSN_RAM Main ü ü 8 EMAC_RAMS Main ü ü 9 b03_ETF_RAMS Main ü ü 10 HSE_RAMS Main ü ü 11 HSE_ROMS Main   ü Re: S32k344 MBIST LBIST An update to my problem, after I enabled bit 8 and 9 in the STCU_RUNSW_REG to use PLL, I'm consistently seeing DES register 0x11 and FES register of 0x10. The bist_get_exec_status(BIST_SAFETYBOOT_CFG) return value is NOT RUN (0x03). There is nothing in the BIST ERR_STAT register, none of the END flag is set. In the FCCU NCF_S0 register, bit 2 is set. It seems BIST didn't start, but I do see the reset. I captured the register setting by writing to flash in the other bank. Re: S32k344 MBIST LBIST Hello, the STCU self-test sequence is being entered and reaches the ST_DONE reset phase. However, the STCU also reports an unrecoverable fault (STCU_URF), which explains why the SAF BIST driver subsequently reports BIST_NORUN. The issue therefore appears to be an STCU execution/configuration failure rather than a case where BIST was never triggered. On S32K3, seeing both a destructive and functional reset indication simultaneously is often a sign that you are looking at a reset history, not necessarily the immediate reset source Since you are porting the SW, I would start with simply just MBIST only test to see if it pass sourced from PLL. Also I would double check the clock settings for the tests. Best regards, Peter Re: S32k344 MBIST LBIST I checked the all possible clocks, I believe they are correct. I also compared the config data in the register with values from NXP studio spd example project, they are also correct. One new information. After system come back from BIST reset, I see value 0x18 in DCMROD3 register. How do I resolve this error? Thanks. XRen_Parker_0-1788544110794.pngXRen_Parker_0-1788544110794.pngXRen_Parker_0-1788544110794.pngXRen_Parker_0-1788544110794.png Re: S32k344 MBIST LBIST Hello, On S32K344, RCCU reports lockstep mismatches, and when connected with a debugger, it is not uncommon to get RCCU-related faults that would never occur in standalone execution. In case you follow the setting from example, you are looking at full BIST. Example is tested and it is fully working by default. But your port reporting URF fault, which tells me not everything is identical. Looking at STCU documentation user can set pointer to tests. 54.9.4 STCU2 Configuration (CFG) petervlna_0-1788766597312.pngpetervlna_0-1788766597312.pngpetervlna_0-1788766597312.png You can try shrinking tests first and the slowly add more tests. In MBIST and LBIST control registers you can set which test will be last: petervlna_1-1788766735386.pngpetervlna_1-1788766735386.pngpetervlna_1-1788766735386.png By pointing to for example in CFG register you can execute single MBIST partition: petervlna_2-1788766853581.pngpetervlna_2-1788766853581.pngpetervlna_2-1788766853581.png petervlna_3-1788766973925.pngpetervlna_3-1788766973925.pngpetervlna_3-1788766973925.png Best regards, Peter Re: S32k344 MBIST LBIST I tried to run mbist sequentially, and also tried individual mbist test ID. The outcome is the same, no new status observed. Can you confirm the following SCU2 register settings for safety boot right before trigger is set? Thanks. XRen_Parker_0-1788899133217.pngXRen_Parker_0-1788899133217.png Re: S32k344 MBIST LBIST This is for people in the community who are struggling with implementing LBIST/MBIST in the S32k344 microcontroller. After days of no progress made, I was able to see the test pass. I did with custom porting of the SPD driver 1.06. The driver code works except the fault need to be configured to unrecoverable fault. The following are the clocks that need to be configured, if any one of them is not set up correctly, the test will fail with BIST_NORUN(0x03) status because test sequence runs concurrently, no other status is seen, no completion bits set. 1. Config FXOSC module CTRL register to use external oscillator or crystal, this is the only way to get 160MHz, max for S32k344. 2. Config PLLDIG module for the PLL circuit, make sure max frequency is the output by configuring rdiv, mfi, and odiv2 bits in the PLLDV register. 3. Switch in the PLL clock for core_clk and emac_clk by following the reference manual steps,  MC_CGM_MUX_x registers setting. 4. config MC_CGM->MUX_0 and MC_CGM->MUX_9 registers to get following clock signals.   AIPS_PLAT_CLK as 80 MHz   AIPS_SLOW_CLK as 40 MHz   HSE_CLK as 80 MHz   DCM_CLK as 40 MHz   LBIST_CLK as 40MHz   QSPI_MEM_CLK as 160MHz    EMAC_CLK as 80MHz     Note: DON'T SET BIT 8 AND 9 IN THE RUNSW REGISTER, THE TEST WILL FAIL IF THEY ARE SET. This is not done in the SPD driver code. I mention this because there is conflicting info in the reference manual.
記事全体を表示
DTM APIに関する質問 こんにちは、 MCUXpresso SDK v26.03.00の SDK_26_03_00_KW47-EVK\mcuxsdk\middleware\wireless\bluetooth\host\interface\hci_interface.h で宣言されたHci_LeEnhancedReceiverTestとHci_LeEnhancedTransmitterTest関数を KW47 MCU で使いたいです。これらのコマンドはサポートされていますか? 追加情報: これら 2 つの関数の宣言は、#if defined(gHciCompleteHciCmdSupport_d) && (gHciCompleteHciCmdSupport_d == TRUE) によって保護されています。このマクロを有効にすると、プロジェクトはエラーでビルドに失敗しました。 SDKでHci_LeEnhancedReceiverTestとHci_LeEnhancedTransmitterTestを探しましたが、宣言はhci_interface.hでしか見つかりませんでした。実装や他の参考文献は見つかりませんでした。 どなたか、これらのDTMコマンドがこのSDKリリースでKW47に対応しているか、また必要な実装の有効化や入手方法(または必要なファームウェア・ライブラリ・設定の場所)を教えていただけませんか?何かご助言いただければ大変ありがたいです。 よろしくお願いします。 Re: Question regarding the DTM API こんにちは、お元気でお過ごしでしょうか。 SDKではHci_LeEnhancedReceiverTestとHci_LeEnhancedTransmitterTestの両方がサポートされています。これらの関数はgHciCompleteHciCmdSupport_dガードによって制御されており、app_preinclude.hで有効にする必要があります。プロジェクトからのファイル: #define gHciCompleteHciCmdSupport_d  TRUE テストにはhci_bb_bm_cm33_core0プロジェクトを使用することをお勧めします。このサンプルはメインのCM33コア上で動作し、透過的なHCIブリッジとして機能します。 現在、SDKのサンプルを使ってテストしていますか?以前は、gHciCompleteHciCmdSupport_d マクロをどのように有効にしていましたか? hci_bb例をマクロを有効にしてフラッシュした後、 NXP Test Tool 12 を使ってHCIコマンドをデバイスに送信できます。HCI DTMコマンドの全セットにアクセスするには、最新のBLE HCIコマンドセットファイル(BLE HCI 5.0 x.x.x.xml)を読み込みます。 また、これらの投稿はNXPテストツールやDTMコマンドの使い方にも役立つかもしれません: トランスミッタ/レシーバテストコマンドを設定するBLE HCIアプリケーション この記事では、ユーザーがデバイスにシリアルコマンドを送信する方法を示す手順を紹介します。 Bluetooth LE HCI ブラックボックスクイックスタートガイド この記事では、ユーザーがシリアルコマンドを通じて無線機を制御できるようにする簡単なプロセスを説明しています。 よろしくお願いします、 ソフィア。 Re: Question regarding the DTM API こんにちは@Takuya_Tanakaさん これは、Test Tool 12が起動したときにすでに基板が接続されている場合や、他のアプリケーションがCOMポートを保持している場合に発生することがあります。ツールを再起動する前に、シリアル端末やデバッガを閉じて基板の電源を抜いてみることはできますか? よろしくお願いします、 ソフィア。 Re: Question regarding the DTM API こんにちは、 KW47-LOCをUSB経由でPCにコネクテッド状態でNXP Test Tool 12を開くと、以下のエラーが発生し、アプリケーションがクラッシュします。原因についてアドバイスいただけますか? タクヤ_タナカ_0-1789016520286.png よろしくお願いします。
記事全体を表示
CircO2一酸化窒素錠剤レビュー:完全購入ガイド CircO2はAdvanced Bionutritionalsが製造する一酸化窒素サポートサプリメントです。多くの錠剤を水と一緒に飲み込むのとは異なり、CircO2は口の中で溶ける素早く溶ける錠剤(時にトローチとも呼ばれます)で提供されています。これがマーケットにある他のCircO2タブレットと差別化される理由の一つです。 CircO2酸素ブースターと循環サポートの主な考え方はシンプルです。体がより多くの一酸化窒素を生成するのを助け、血管をリラックスさせて広げることです。そうなると、血液(およびその酸素)が体内をより自由に流れることが可能になります。それはエネルギーの増加、手足の温かさ、そして日中の持久力の向上を意味するかもしれません。   Re: CircO2 Nitric Oxide Tablets Review: A Complete Buyer's Guide CircO2は、米国、カナダ、イギリス、オーストラリア、ニュージーランドでAdvanced Bionutritionalsが提供している一酸化窒素サポートサプリメントで、健康的な血行を促進することを目的としています。従来のサプリメントは水と一緒に飲み込むのに対し、 オリジナルCircO2 は口の中で溶ける速溶錠剤(トロール)です。この便利なフォーマットが、多くの他の循環サポートタブレットと差別化しています。 CircO2酸素ブースターと循環サポートの目的は、体内の自然な一酸化窒素生成をサポートすることです。一酸化窒素は血管を弛緩・拡張させる働きがあり、それによって血液と酸素が体全体に効率的に循環するようになる可能性がある。CircO2は、健康的な血流をサポートすることで、日々のエネルギー、スタミナ、血行促進に役立つ可能性があり、手足の温かさを感じさせる効果も期待できます。
記事全体を表示
Question regarding the DTM API Hello, I would like to use the Hci_LeEnhancedReceiverTest and Hci_LeEnhancedTransmitterTest functions declared in SDK_26_03_00_KW47-EVK\mcuxsdk\middleware\wireless\bluetooth\host\interface\hci_interface.h from MCUXpresso SDK v26.03.00 on a KW47 MCU. Are these commands supported? Additional information: The declarations for these two functions are guarded by: #if defined(gHciCompleteHciCmdSupport_d) && (gHciCompleteHciCmdSupport_d == TRUE) When I enabled that macro, the project failed to build with errors. I searched the SDK for Hci_LeEnhancedReceiverTest and Hci_LeEnhancedTransmitterTest and only found the declarations in hci_interface.h; I could not find any implementation or other references. Could someone please confirm whether these DTM commands are supported for KW47 in this SDK release, and advise how to enable or obtain the required implementation (or point me to any necessary firmware/library/configuration)? Any guidance would be greatly appreciated. Thank you. Re: Question regarding the DTM API Hello, hope you are doing well. Both Hci_LeEnhancedReceiverTest and Hci_LeEnhancedTransmitterTest are supported in the SDK. These functions are gated behind the gHciCompleteHciCmdSupport_d guard and need to be enabled in the app_preinclude.h file from your project: #define gHciCompleteHciCmdSupport_d  TRUE I would recommend using the hci_bb_bm_cm33_core0 project for testing, this example runs on the main CM33 core and acts as a transparent HCI bridge. Are you currently testing with any example from the SDK? How were you enabling the gHciCompleteHciCmdSupport_d macro previously? Once the hci_bb example is flashed with the macro enabled, you can use NXP Test Tool 12 to send HCI commands to the device. To access the full set of HCI DTM commands, load the latest BLE HCI command set file (BLE HCI 5.0 x.x.x.xml). Also, these posts could be helpful for navigating the NXP Test Tool and DTM commands: BLE HCI Application to set transmitter/receiver test commands This article provides the steps to show how user could send serial commands to the device. Bluetooth LE HCI Black Box Quick Start Guide This article describes a simple process for enabling the user controls the radio through serial commands. Best regards, Sofia. Re: Question regarding the DTM API Hi @Takuya_Tanaka , this sometimes happens when the board is already connected when Test Tool 12 opens, or if another application is holding the COM port. Could you try closing any serial terminals or debuggers and unplugging the board before reopening the tool? Best regards, Sofia. Re: Question regarding the DTM API Hello, When I open NXP Test Tool 12 while the KW47-LOC is connected to the PC via USB, the following error occurs and the application crashes. Could you please advise on the cause? Takuya_Tanaka_0-1789016520286.png Thank you.
記事全体を表示
关于 DTM API 的问题 你好, 我想在 KW47 MCU 上使用 MCUXpresso SDK v26.03.00 中的 SDK_26_03_00_KW47-EVK\mcuxsdk\中间件\wireless\bluetooth\host\interface\hci_interface.h 中声明的 Hci_LeEnhancedReceiverTest 和 Hci_LeEnhancedTransmitterTest 函数。这些命令是否受支持? 其他信息: 这两个函数的声明由以下语句保护:#if defined(gHciCompleteHciCmdSupport_d) && (gHciCompleteHciCmdSupport_d == TRUE) 当我启用该宏时,项目构建失败并出现错误。 我在 SDK 中搜索了 Hci_LeEnhancedReceiverTest 和 Hci_LeEnhancedTransmitterTest,只在 hci_interface.h 中找到了它们的声明;我找不到任何实现或其他参考资料。 请问有人可以确认此 SDK 版本是否支持 KW47 的这些 DTM 命令吗?以及如何启用或获取所需的实现(或者指出任何必要的固件/库/配置)?任何指导都将不胜感激。 谢谢! Re: Question regarding the DTM API 你好,希望你一切都好。 SDK 同时支持 Hci_LeEnhancedReceiverTest 和 Hci_LeEnhancedTransmitterTest。这些功能受 gHciCompleteHciCmdSupport_d 保护机制的限制,需要在 app_preinclude.h 中启用。项目文件: #define gHciCompleteHciCmdSupport_d  TRUE 我建议使用 hci_bb_bm_cm33_core0 项目进行测试,该示例在主 CM33 内核上运行,并充当透明 HCI 桥接器。 您目前是否正在使用 SDK 中的任何示例进行测试?之前您是如何启用 gHciCompleteHciCmdSupport_d 宏的? 将 hci_bb 示例烧录到设备并启用宏后,即可使用NXP Test Tool 12向设备发送 HCI 命令。要访问完整的 HCI DTM 命令集,请加载最新的 BLE HCI 命令集文件(BLE HCI 5.0 x.x.x.xml)。 此外,以下帖子可能有助于您了解 NXP 测试工具和 DTM 命令: 用于设置发射器/接收器测试命令的 BLE HCI 应用程序 本文提供了用户如何向设备发送串口命令的步骤。 蓝牙低功耗人机交互黑盒快速入门指南 本文介绍了一种使用户能够通过串行命令控制收音机的简单方法。 此致, 索菲亚。 Re: Question regarding the DTM API 嗨@Takuya_Tanaka , 当测试工具 12 打开时,如果电路板已经连接,或者另一个应用程序占用 COM 端口,有时会发生这种情况。请尝试关闭所有串口终端或调试器,并拔下开发板,然后再重新打开该工具? 此致, 索菲亚。 Re: Question regarding the DTM API 你好, 当 KW47-LOC 通过 USB 连接到 PC 时,打开 NXP Test Tool 12 会出现以下错误,应用程序崩溃。请问您能否告知一下原因? 拓也_田中_0-1789016520286.png 谢谢!
記事全体を表示
IMX95データシート こんにちは、 レジスタマップやペリフェラルなどを含むIMX95のデータシートをどうやって入手できますか? 敬具 アルトゥール Re: IMX95 datasheet ありがとうございます。良い一日をお過ごしください。 よろしくお願いいたします。 アルトゥール Re: IMX95 datasheet データシート単独では完全なレジスタマップやペリフェラルの説明は含まれていません。 そのためには、 https://www.nxp.com/docs/en/reference-manual/IMX95RM.pdfが必要です。 よろしくお願いします。
記事全体を表示
iMX8M Plus CC 控制器 嗨, 我们正在基于 iMX8M plus 处理器和定制载板开发定制的 SOM。为此,我们需要支持带 ID 引脚的 USB1 OTG 功能。我们从 GPIO1_IO4 获取了 ID 引脚。 由于电路板空间限制和 ID 引脚要求,我们计划在我们的设计中使用HD3SS3220IRNH - TI(带差分多路复用的 CC 控制器) 。 请确认 i.mx8m plus 是否支持 HD3SS3220IRNH 作为 OTG 设备。具体来说,就刷机而言,这个控制器是否受支持? Re: iMX8M Plus CC Controller 嗨@Zhiming_Liu 请问您能否推荐其他经过测试且支持 ID 引脚的 CC 控制器? Re: iMX8M Plus CC Controller 你好@govind18 i.MX 8M Plus 可以配置到系统设计中,与 TI HD3SS3220 配合使用,实现双角色 USB Type-C 端口;但是,该设备并非 NXP 的 EVK 官方验证或支持的 Type-C 控制器。GPIO1_IO4 可用作 Uboot/Linux 中的 USB ID,并且不影响 UUU 编程。建议将 HD3SS3220 在开机时默认配置为 UFP/Sink。 此致, 志明 Re: iMX8M Plus CC Controller 您好@Zhiming_Liu,请问您能推荐一款CC控制器吗? Re: iMX8M Plus CC Controller 你好 在 EVK 板上,i.MX8MP 使用PTN5110NHQZ作为 CC 控制器。请参考此处的EVK设计。 志明_刘_0-1789018946469.png https://www.nxp.com/design/design-center/development-boards-and-designs/8MPLUSLPD4-EVK 此致, 志明
記事全体を表示
RE: FRDM-A-S32K34のSafeRTOSサポートおよびパッケージの入手可能性 チームの皆さん、こんにちは。 SAFERTOS®アーカイブのHigh Integrity SystemsからSAFERTOSをダウンロードしました 以下にS32のデザインスタジオとSAFERTOSのRTDバージョンを追っています。(バージョン(文書に記載されている通り) コンポーネントバージョン S32 Design Studio IDE v3.6.4 ARM GCCコンパイラ 11.4 S32K3 リアルタイム・ドライバ (RTD) 6.0.0 エラーが発生しています。 Vardhman_0-1788413006999.pngVardhman_0-1788413006999.png S32デザインスタジオ(バージョン3.5)とRTDバージョンのRTD(2.0.0)で試しました。および 5.0.0) これは.mexですか?異なるバージョンで作成されましたか? 解決策が何か教えていただけますか? ありがとうございます。 Re: RE: SafeRTOS Support and Package Availability for FRDM-A-S32K34 こんにちは、 @Vardhman さん。 SafeRTOSのデモがボード上で動作するようになったと聞いて、嬉しく思います。   標準の変数ビューと式ビューは、通常、対象が停止している場合にのみ値を表示します。このプロジェクトではPEmicroデバッガーを使用しているため、以下を開いてください。 ウィンドウ → ビューの表示 → その他… → PEマイクロコンピュータシステム → リアルタイム式 このビューにulTickHookCallCountを追加し、アプリケーションを再開します。このビューは、ターゲットの実行中に変数を監視することを特に目的としています。 必要に応じて、デバッグ変数をvolatileとして宣言し、コンパイラの最適化レベルを低くするか無効にしたデバッグビルドを使用してください。 また、ターゲットが実行中の変数を監視するためのリアルタイム表現ビューの有効化と利用方法を説明している以下のNXPコミュニティスレッドもご参照ください。 変数のライブ視聴方法 - NXPコミュニティ 解決済み:デバッグ時に変数のライブビューを有効にするにはどうすればいいですか?- NXPコミュニティ よろしくお願いいたします。 パベル Re: RE: SafeRTOS Support and Package Availability for FRDM-A-S32K34 こんにちは、チームの皆さん、 Vardhman_0-1788508409179.pngVardhman_0-1788508409179.png S32は、私がローカルディレクトリにコピーした際に、この二重引用符を削除し、パスを変更していました。パスを修正したとき。デモRTOSが搭載されています。 質問です - S32 Design Studioでグローバル変数がライブで表示されません。どんな設定をすればいいのでしょうか?コードを停止するたびに変数の値が見えるようになっています。 Vardhman_1-1788508801698.pngVardhman_1-1788508801698.png      Re: RE: SafeRTOS Support and Package Availability for FRDM-A-S32K34 こんにちは、 ステップ1 - S32-3.6.4 バージョン RTD 6.0.0 をインストールしました。この問題に直面していましたが、解決しました。間違ったRTDパッケージをインストールしていました。今は正常に動作しています。 Vardhman_0-1788436426474.pngVardhman_0-1788436426474.png ステップ 2 - 次に、highintegrity systems が提供するデモ SAFERTOS プロジェクトをインポートしました。以下のスニペットを参照してください。 Vardhman_1-1788436679719.pngVardhman_1-1788436679719.png ステップ3 - 管理SDKに入ったところ、エラーが出るかサポートされていないPlatformSDK_S32K344_M7、どんな可能性があるのでしょうか?これを解決するには Vardhman_2-1788436993601.pngVardhman_2-1788436993601.png ステップ4 - 新しいプロジェクトを作成してもSDKが見えない。この問題を解決するにはどうすればいいですか? ステップ5 - 3.6.4をインストールしたクエリが1つありますこのRTDパッケージ(6.0.0)をインストールするときにS32 Design Studioを起動しますS32 Design Studioは3.6.10にアップデートされているのが見えます。もしこのS32デザインスタジオが3.6.10にアップデートされた場合このバージョンはhighintegrity systemsではサポートされません。なぜなら、DEMO SAFERTOSの互換バージョンは3.6.4であると記載されているからです。これについてご意見をお聞かせください。 ステップ6 - S32デザインスタジオを3.6.10に更新 Vardhman_4-1788437960107.pngVardhman_4-1788437960107.png ステップ7 - 建築基準をクリアした後にこのエラーが出ます。 Vardhman_3-1788437895528.pngVardhman_3-1788437895528.png インストール済みのRTDを添付しました。 SW32K3_S32M27x_RTD_R21-11_6.0.0_D2506_DesignStudio_updatesite ありがとう 、 Re: RE: SafeRTOS Support and Package Availability for FRDM-A-S32K34 こんにちは、 @Vardhman さん。 NXP GCC 10.2がインストールされていることを確認してください。また、アプリケーションプロジェクトを作成する際にはGCC 10.2ツールチェーンを選択していることも確認してください。 同様の問題が以下のコミュニティスレッドで説明されており、スクリーンショットも含まれています。スレッドではS32K1xx RTDについて言及していますが、報告されている依存関連の症状は類似しています。 S32DS 3.6.7:S32K1xx RTD 3.0.0新規プロジェクト作成時に検出されません よろしくお願いいたします。 パベル Re: RE: SafeRTOS Support and Package Availability for FRDM-A-S32K34 ありがとうございます、うまくいきました。
記事全体を表示
iMX8M Plus CCコントローラ こんにちは、 iMX8M plusプロセッサをベースにしたカスタムSOMを開発し、専用キャリアボードを搭載しています。この要件では、IDピンでサポートされたUSB1 OTGが必要です。IDピンはGPIO1_IO4から取得しました。 基板スペースの制約とIDピンの要件から、設計には HD3SS3220IRNH - TI(CCコントローラと差分多行 )を使用する予定です。 i.mx8m plusがOTGとしてHD3SS3220IRNHをサポートしているか確認してください。特にフラッシュ目的で、このコントローラーはサポートされているのでしょうか? Re: iMX8M Plus CC Controller こんにちは@Zhiming_Liu  IDピンがサポートされている他のテスト済みCCコントローラをご存知いただけますか? Re: iMX8M Plus CC Controller こんにちは@govind18  i.MX 8M Plusは、TI HD3SS3220と連携してデュアルロールUSBタイプCポートを実装するようシステム設計で設定可能です。ただし、このデバイスはNXPのEVKによって公式に検証またはサポートされているType-Cコントローラではありません。GPIO1_IO4はUboot/LinuxでUSB IDとして使用でき、UUUプログラミングには影響しません。HD3SS3220は、電源投入時にデフォルトでUFP/Sinkに設定することをお勧めします。 よろしくお願いします、 志明 Re: iMX8M Plus CC Controller こんにちは EVKボードでは、i.MX8MPがCCコントローラーとして PTN5110NHQZを使用しています。EVKの設計についてはこちらを参照してください。 Zhiming_Liu_0-1789018946469.pngZhiming_Liu_0-1789018946469.png https://www.nxp.com/design/design-center/development-boards-and-designs/8MPLUSLPD4-EVK よろしくお願いします、 志明 Re: iMX8M Plus CC Controller こんにちは@Zhiming_Liu CCコントローラーをおすすめしてもらえますか?
記事全体を表示
回复:关于 FRDM-A-S32K34 的 SafeRTOS 支持和软件包可用性 大家好 , 我从 SAFERTOS® Archives - High Integrity Systems 下载了 SAFERTOS。 我正在按照以下步骤操作,使用 S32 设计工作室和 RTD 版本来开发 SAFERTOS。(版本)正如他们在文件中提到的那样) 组件版本 S32 Design Studio IDE v3.6.4 ARM GCC 编译器 11.4 S32K3 实时驱动程序 (RTD) 6.0.0 我遇到了一些错误, Vardhman_0-1788413006999.pngVardhman_0-1788413006999.png 我尝试了不同的 S32 设计工作室(版本 3.5)和 RTD 版本 RTD(2.0.0)。以及 5.0.0) 这是.mex吗?是用不同版本创建的? 请问可能的解决方案是什么? 谢谢。 Re: RE: SafeRTOS Support and Package Availability for FRDM-A-S32K34 你好@Vardhman , 我很高兴听到 SafeRTOS 演示程序现在已经在板上运行了。   标准的变量和表达式视图通常仅在目标停止运行时才显示值。由于该项目使用了 PEmicro 调试器,请打开: 窗口 → 显示视图 → 其他… → PE 微型计算机系统 → 实时表达式 将 ulTickHookCallCount 添加到此视图并恢复应用程序。此视图专门用于在目标运行时监控变量。 如果需要,请将调试变量声明为 volatile,并使用编译器优化级别较低或禁用的调试版本。 另请参阅以下 NXP 社区帖子,其中介绍了如何在目标运行时启用和使用实时表达式视图来监视变量: 如何实时查看变量 - NXP 社区 已解决:调试时如何启用变量的实时视图? - NXP 社区 此致敬礼, 帕维尔 Re: RE: SafeRTOS Support and Package Availability for FRDM-A-S32K34 各位团队成员,大家好! Vardhman_0-1788508409179.pngVardhman_0-1788508409179.png 当我复制到本地目录时,S32 删除了双引号并修改了路径。当我修正路径时。演示实时操作系统已在板载上运行。 问题 - 我在 S32 设计工作室中无法实时查看全局变量。我需要进行什么设置?每次我暂停代码后才能看到变量值。 Vardhman_1-1788508801698.pngVardhman_1-1788508801698.png      Re: RE: SafeRTOS Support and Package Availability for FRDM-A-S32K34 你好, 步骤 1 - 我安装了 S32-3.6.4 版本 RTD 6.0.0。我之前遇到这个问题,现在已经解决了。我安装错了RTD软件包。现在可以用了。 Vardhman_0-1788436426474.pngVardhman_0-1788436426474.png 步骤 2 - 现在我已经导入了 highintegrity systems 提供的 Demo SAFERTOS 项目,请参见下面的截图。 Vardhman_1-1788436679719.pngVardhman_1-1788436679719.png 步骤 3 - 我进入管理 SDK,发现 PlatformSDK_S32K344_M7 报错或不受支持,可能是什么原因?为了解决这个问题 Vardhman_2-1788436993601.pngVardhman_2-1788436993601.png 步骤 4 - 创建新项目时,仍然看不到 SDK。如何解决这个问题? 步骤 5 - 我有一个查询,我安装了 3.6.4 版本。我在 S32 设计工作室安装这个 RTD 软件包 (6.0.0) 时遇到了问题。我看到 S32 设计工作室已更新至 3.6.10 版本。如果 S32 设计工作室更新到 3.6.10那么,Highintegrity Systems 将不支持此版本,因为他们提到 DEMO SAFERTOS 的兼容版本为 3.6.4。请就此发表意见。 步骤 6 - S32 设计工作室更新至 3.6.10 版本 Vardhman_4-1788437960107.pngVardhman_4-1788437960107.png 步骤7 - 代码编译后出现此错误, Vardhman_3-1788437895528.pngVardhman_3-1788437895528.png 我附上了我安装的RTD。 SW32K3_S32M27x_RTD_R21-11_6.0.0_D2506_DesignStudio_updatesite 谢谢 , Re: RE: SafeRTOS Support and Package Availability for FRDM-A-S32K34 你好@Vardhman , 请检查是否已安装NXP GCC 10.2 。另外,创建应用程序项目时,请确保选择GCC 10.2 工具链。 以下社区帖子描述了类似的问题,并附有截图。虽然该帖子指的是 S32K1xx RTD,但所报告的依赖性相关症状是类似的: S32DS 3.6.7:S32K1xx RTD 3.0.0创建新项目时未检测到 顺祝商祺! 帕维尔 Re: RE: SafeRTOS Support and Package Availability for FRDM-A-S32K34 谢谢,这方法有效。
記事全体を表示
S32K388 GMAC0 Eth_43_GMAC driver not getting RX interrupt Hi, I'm using the following configuration: S32K388EVB-Q289 S32DS 3.6.8 RTD 7.0.1 I used the provided Eth_InternalLoopback_S32K388 example project as base, and modified it so that it can receive frames from my PC through a media converter. I have added in the RTD fix which was mentioned in Example S32K388 GMAC0 lwIP FreeRTOS S32DS 3.6.1 RTD600. I was able to hit the breakpoint in  Eth_43_GMAC_Receive(EthConf_EthCtrlConfig_EthCtrlConfig_0, 0U, &Status); And was able to inspect the Ethernet frame in EthIf_RxIndication(Eth_43_GMAC_apxInternalCfg[PartitionId]->Eth_43_GMAC_apCtrlConfig[CtrlIdx]->EthCtrlEthIfIdx, FrameType, IsBroadcast, MacSrcAddr, Payload, PayloadLength, IngressTimeTuplePtr, RxHandleId); However, when I added a while 1 loop, enabled the Rx Interrupt and linked it to the GMAC0_CH0_RX_IRQHandler I was not able to get any interrupt anywhere. I have attached my project below. James_Zhang_SE_0-1788220964718.pngJames_Zhang_SE_0-1788220964718.pngJames_Zhang_SE_0-1788220964718.png S32K3 AUTOMOTIVE-RTD  Re: S32K388 GMAC0 Eth_43_GMAC driver not getting RX interrupt Hello @James_Zhang_SE , I checked the attached project. To enable RX IRQ in RTD7.0.1, you need to change Ingress QueueHandlerFunction and enable QueueInterrupt: PavelL_0-1788263577590.pngPavelL_0-1788263577590.pngPavelL_0-1788263577590.png After that change, I hit breakpoint at GMAC_RxIRQHandler(), resp. at Eth_43_GMAC_Receive(). I also noticed that your RGMII TXCLK is defined as Input -> it should be Output. However, to see your TX frame in Wireshark, you need to change the init sequence accordingly to  Example S32K388 GMAC0 lwIP FreeRTOS S32DS 3.6.1 RTD600. So, in your project, it looks like: PavelL_1-1788264277735.pngPavelL_1-1788264277735.pngPavelL_1-1788264277735.png Best regards, Pavel Re: S32K388 GMAC0 Eth_43_GMAC driver not getting RX interrupt Hi Pavel, Thank you very much for your support. After applying the fixes you suggested, the GMAC driver is now working for me. I do have a few additional questions, and I would appreciate your guidance: Is there any detailed documentation that describes the complete procedure for configuring and using the GMAC driver? I would like to go through the documentation myself first so that I can better understand the driver before asking too many questions. Inside EthIf_RxIndication(), do I need to call Eth_43_GMAC_ReleaseRxBuffer(CtrlIdx, RxHandleId); at the end of the function to release the received buffer? There are quite a few GMAC configuration options available. Is there any documentation or reference that explains what each configuration parameter does and how it should be configured? Thank you again for your help. I really appreciate your support. Re: S32K388 GMAC0 Eth_43_GMAC driver not getting RX interrupt Hi @James_Zhang_SE , Thank you for sharing your update. I am glad to hear that the GMAC driver is now working for you. Regarding your additional questions: 1. The main reference for configuring and using the driver is the Eth_43_GMAC User Manual, which is included in the RTD installation, e.g.: C:\NXP\S32DS.3.6.6_RTD701\S32DS\software\PlatformSDK_S32K3\RTD\Eth_43_GMAC_TS_T40D34M70I1R0\doc\RTD_ETH_43_GMAC_UM.pdf I also recommend reviewing the corresponding Eth_43_GMAC Integration Manual (RTD_ETH_43_GMAC_IM.pdf), saved in the same directory, and the available GMAC example projects.   2. Whether Eth_43_GMAC_ReleaseRxBuffer() must be called depends on the EthCtrlReleaseResourceAfterReception configuration parameter. PavelL_0-1789024403441.png If automatic release after reception is enabled, the driver releases the RX resource after EthIf_RxIndication() returns and you should not release it explicitly. If automatic release is disabled, the received buffer remains allocated after EthIf_RxIndication() returns. In that case, the application must eventually call: Eth_43_GMAC_ReleaseRxBuffer(CtrlIdx, RxHandleId);   This mode is useful when the application needs to retain the received data for further processing. However, the buffer must be released after the application has finished using it. Otherwise, the available RX buffers will eventually be exhausted. Please also note that the received Payload pointer should not be used after the corresponding buffer has been released. 3. The Eth_43_GMAC User Manual is also the primary reference for the individual configuration parameters. In addition, S32 Configuration Tools displays a description for many parameters when the corresponding setting is selected or hovered over. For hardware-level behavior, such as MAC filtering, DMA operation, MTL queues, timestamps and interrupt status, please refer to the GMAC/EMAC chapter of the S32K3 Reference Manual. As a practical starting point, I recommend referencing GMAC examples provided by the RTD package. There are also functional lwIP examples on the page: https://community.nxp.com/t5/S32K-Knowledge-Base/S32K-Examples/ta-p/1108990 Please do not hesitate to ask for support in case you observe any issue. A dedicated thread for each topic is preferred. It helps keep us clarity of cases for other users. Best regards, Pavel
記事全体を表示
S32K388 GMAC0 Eth_43_GMAC 驱动程序未收到 RX 中断 您好, 我使用的是以下配置: S32K388EVB-Q289 S32DS 3.6.8 RTD 7.0.1 我以提供的 Eth_InternalLoopback_S32K388 示例项目为基础,并对其进行了修改,使其可以通过媒体转换器从我的 PC 接收帧。我添加了示例 S32K388 GMAC0 lwIP FreeRTOS S32DS 3.6.1 RTD600中提到的 RTD 修复程序。我成功达到了断点 Eth_43_GMAC_Receive(EthConf_EthCtrlConfig_EthCtrlConfig_0, 0U, &Status); 并且能够检查以太网帧 EthIf_RxIndication(Eth_43_GMAC_apxInternalCfg[PartitionId]->Eth_43_GMAC_apCtrlConfig[CtrlIdx]->EthCtrlEthIfIdx, FrameType, IsBroadcast, MacSrcAddr, Payload, PayloadLength, IngressTimeTuplePtr, RxHandleId); 但是,当我添加了一个 while 1 循环,启用了 Rx 中断并将其链接到 GMAC0_CH0_RX_IRQHandler 时,我却无法在任何地方获得任何中断。我的项目文件附在下面。 James_Zhang_SE_0-1788220964718.pngJames_Zhang_SE_0-1788220964718.pngJames_Zhang_SE_0-1788220964718.png S32K3汽车-RTD Re: S32K388 GMAC0 Eth_43_GMAC driver not getting RX interrupt 你好@James_Zhang_SE , 我查看了附件中的项目。要在 RTD7.0.1 中启用 RX IRQ,您需要更改 Ingress QueueHandlerFunction 并启用 QueueInterrupt: PavelL_0-1788263577590.pngPavelL_0-1788263577590.pngPavelL_0-1788263577590.png 更改之后,我在 GMAC_RxIRQHandler() 处触发了断点。在 Eth_43_GMAC_Receive()。 我还注意到您的 RGMII TXCLK 被定义为输入 -> 它应该是输出。 但是,要在 Wireshark 中查看您的 TX 帧,您需要相应地更改初始化序列。 例如,S32K388 GMAC0 lwIP FreeRTOS S32DS 3.6.1 RTD600 。因此,在您的项目中,它看起来像这样: PavelL_1-1788264277735.pngPavelL_1-1788264277735.pngPavelL_1-1788264277735.png 顺祝商祺! 帕维尔 Re: S32K388 GMAC0 Eth_43_GMAC driver not getting RX interrupt 你好,帕维尔, 非常感谢您的支持。按照您建议的修复方法操作后,GMAC 驱动程序现在可以正常工作了。 我还有几个问题,希望您能指导我: 是否有详细的文档描述了配置和使用 GMAC 驱动程序的完整步骤?我想先自己仔细阅读一下文档,以便在提出太多问题之前更好地了解驱动程序。 在EthIf_RxIndication() 函数内部,我需要调用吗? Eth_43_GMAC_ReleaseRxBuffer(CtrlIdx, RxHandleId); 在函数结束时释放接收缓冲区? GMAC提供了相当多的配置选项。是否有任何文档或参考资料解释每个配置参数的作用以及应该如何配置? 再次感谢您的帮助。我非常感谢您的支持。 Re: S32K388 GMAC0 Eth_43_GMAC driver not getting RX interrupt 你好@James_Zhang_SE , 感谢您分享最新情况。很高兴得知 GMAC 驱动程序现在对您有效。 关于您提出的其他问题: 1.配置和使用驱动程序的主要参考资料是 Eth_43_GMAC 用户手册,该手册包含在 RTD 安装包中,例如:C:\NXP\S32DS.3.6.6_RTD701\S32DS\software\PlatformSDK_S32K3\RTD\Eth_43_GMAC_TS_T40D34M70I1R0\doc\RTD_ETH_43_GMAC_UM.pdf 我还建议查阅保存在同一目录下的相应 Eth_43_GMAC 集成手册 (RTD_ETH_43_GMAC_IM.pdf) 以及可用的 GMAC 示例项目。   2. 是否必须调用 Eth_43_GMAC_ReleaseRxBuffer() 取决于 EthCtrlReleaseResourceAfterReception 配置参数。 PavelL_0-1789024403441.png 如果启用接收后自动释放,驱动程序会在 EthIf_RxIndication() 返回后释放 RX 资源,您不应该显式地释放它。 如果禁用自动释放,则在 EthIf_RxIndication() 返回后,接收缓冲区仍保持分配状态。在这种情况下,应用程序最终必须调用: Eth_43_GMAC_ReleaseRxBuffer(CtrlIdx, RxHandleId);   当应用程序需要保留接收到的数据以进行进一步处理时,此模式非常有用。但是,应用程序使用完毕后,必须释放缓冲区。否则,可用的接收缓冲区最终会耗尽。 另请注意,在相应的缓冲区释放后,不应再使用接收到的有效载荷指针。 3. Eth_43_GMAC 用户手册也是各个配置参数的主要参考资料。此外,S32 配置工具在选择或将鼠标悬停在相应设置上时,会显示许多参数的描述。有关硬件级行为,例如 MAC 过滤、DMA 操作、MTL 队列、时间戳和中断状态,请参阅 S32K3 参考手册的 GMAC/EMAC 章节。 作为实际的起点,我建议参考 RTD 软件包提供的 GMAC 示例。页面上还有一些功能性的 lwIP 示例: https://community.nxp.com/t5/S32K-Knowledge-Base/S32K-Examples/ta-p/1108990 如果您发现任何问题,请随时寻求帮助。建议每个主题单独开一个帖子。这有助于我们清晰地了解案例,以便其他用户使用。 顺祝商祺! 帕维尔
記事全体を表示
iMX8M Plus CC Controller Hii, We are developing the custom som based on the iMX8M plus processors with custom carrier board. In this, We have a requirement for USB1 OTG supported with ID pin. We have taken ID pin from GPIO1_IO4. Due to board space constraint and ID Pin requirement we are planning to use HD3SS3220IRNH - TI (CC Controller with diff mux) in our design. Please confirm whether i.mx8m plus supports HD3SS3220IRNH as OTG. Specifically for Flashing purpose whether this controller is supported? Re: iMX8M Plus CC Controller Hi @govind18  The i.MX 8M Plus can be configured in system designs to work with the TI HD3SS3220 to implement a dual-role USB Type-C port; however, this device is not a Type-C controller that has been officially verified or supported by NXP‘s EVK. GPIO1_IO4 can be used as USB ID in Uboot/Linux and does not affect UUU programming. It is recommended that the HD3SS3220 be configured to UFP/Sink by default at power-on. Best Regards, Zhiming Re: iMX8M Plus CC Controller Hi @Zhiming_Liu  Could you please suggest any other tested CC controller that has ID pin Supported? Re: iMX8M Plus CC Controller Hi  On EVK board, the i.MX8MP is using  PTN5110NHQZ  as CC controller. Please refer the EVK design here. Zhiming_Liu_0-1789018946469.pngZhiming_Liu_0-1789018946469.png https://www.nxp.com/design/design-center/development-boards-and-designs/8MPLUSLPD4-EVK Best Regards, Zhiming Re: iMX8M Plus CC Controller Hi @Zhiming_Liu Could you please suggest CC controller?
記事全体を表示
LPC1778 IAP烧录CCLK越大反而烧录越慢 您好,我在使用LPC1778的IAP模式进行烧录时,发现CCLK越大反而烧录越慢。 IAP指令大多可以传入CCLK参数,手册中的描述是:Param3: CPU Clock Frequency (CCLK) in kHz。 我在调试LPC1778时,将驱动默认的CCLK值从12000(12MHz)改为4000(4Mhz),发现烧录速度反而变快了。我尝试了多个值,发现CCLK参数越大,烧录反而越慢,请问这是什么原因?这个CCLK指的是什么频率? 回复: LPC1778 IAP烧录CCLK越大反而烧录越慢 Hi @BianHaopeng1  CCLK 在 LPC1778/LPC178x 文档中指 ARM processor clock frequency / Main CPU clock ,也就是内核 CPU 时钟,IAP 的擦除命令明确要求传入 CPU Clock Frequency (CCLK) in kHz 。 原因大概率不是“CCLK 越低 Flash 物理写入越快”,而是 IAP ROM 例程把你传入的 CCLK 当作当前 CPU 主频来计算 Flash 擦写时序/等待时间 。因此,如果实际 CPU 仍在较高频率运行,而你只把传给 IAP 的参数从 12000 改成 4000 ,IAP 会按 4 MHz 去生成更短的延时/时序,表现上烧录变快;但这属于给 IAP 传了错误时钟,Flash 擦写可靠性、温度/电压边界和长期保持不一定有保证。 正确做法是: CCLK 参数应填写调用 IAP 时真实的 CPU 主频,单位 kHz 。 BR Harry Re: LPC1778 IAP烧录CCLK越大反而烧录越慢 在 LPC1778 中,CCLK 指的是实际的 CPU 核心时钟频率(以 kHz 为单位),而不是晶振/XTAL 频率。IAP 引导加载程序使用 CCLK 参数来计算其内部时序,特别是对于闪存编程和 UART 通信。如果您提供的值与 MCU 的实际 CPU 时钟不匹配,或者时钟配置与 IAP 代码预期的不同,则时序计算可能会出错,导致编程或通信速度变慢。因此,请确保 CCLK 参数与 PLL/分频器配置后的 CPU 时钟完全匹配(例如,120 MHz 应指定为 120000 kHz,而不是 12000)。
記事全体を表示
RE: SafeRTOS Support and Package Availability for FRDM-A-S32K34 Hi Team  , I downloaded SAFERTOS from SAFERTOS® Archives - High Integrity Systems I am following below S32 design studio and RTD version for SAFERTOS.(Version as they mentioned in document) ComponentVersion S32 Design Studio IDE v3.6.4 ARM GCC Compiler 11.4 S32K3 Real-Time Drivers (RTD) 6.0.0 I am facing some error, Vardhman_0-1788413006999.pngVardhman_0-1788413006999.png I tried with different S32 design studio( Version 3.5) and RTD version RTD (2.0.0. and 5.0.0) Is this .mex created with different version ?  Can you please provide what could be the solution. Thanks. Re: RE: SafeRTOS Support and Package Availability for FRDM-A-S32K34 Hello @Vardhman , I am glad to hear that the SafeRTOS demo is now running on the board.   The standard Variables and Expressions views normally display values only when the target is halted. Since the project uses the PEmicro debugger, please open: Window → Show View → Other… → PE Microcomputer Systems → Real Time Expressions Add ulTickHookCallCount to this view and resume the application. This view is specifically intended for monitoring variables while the target is running. If required, declare the debug variable as volatile and use a debug build with low or disabled compiler optimization. Please also refer to the following NXP Community threads, which describe how to enable and use the Real Time Expressions view for monitoring variables while the target is running: How to watch variables live - NXP Community Solved: How do I enable Live View for variables when debugging? - NXP Community Best regrads, Pavel Re: RE: SafeRTOS Support and Package Availability for FRDM-A-S32K34 Hello Team, Vardhman_0-1788508409179.pngVardhman_0-1788508409179.png S32 was removing this double quotes and modifying path when I copied to local directory. when I corrected path. Demo RTOS is running on board. Query - I am not able to see global variable live on S32 design studio.What setting I need to do ?? Everytime I suppose to halt the code then I can able to see variable values. Vardhman_1-1788508801698.pngVardhman_1-1788508801698.png      Re: RE: SafeRTOS Support and Package Availability for FRDM-A-S32K34 Hello, Step 1 - I installed S32-3.6.4 version RTD 6.0.0. I was facing this issue now its resolved. I was installing wrong RTD package. Now its working. Vardhman_0-1788436426474.pngVardhman_0-1788436426474.png Step 2 - Now I have imported the Demo SAFERTOS project provided by highintegrity systems see below snip. Vardhman_1-1788436679719.pngVardhman_1-1788436679719.png Step 3 - I went in manage SDK there I found that PlatformSDK_S32K344_M7 giving error or its not supported, what could be the possibility? to resolve this  Vardhman_2-1788436993601.pngVardhman_2-1788436993601.png Step 4 - When I am creating new project not able to see SDK there still. How to resolve this ?  Step 5 - I have one query I installed 3.6.4 S32 design studio when I am installing this RTD package(6.0.0) I can see S32 design studio updated to 3.6.10. If this S32 design studio updating to 3.6.10 then this version will not supported by  highintegrity systems as they mentioned compatible version for DEMO SAFERTOS IS 3.6.4 - pls give openion on this.  Step 6 - S32 design studio updated to 3.6.10  Vardhman_4-1788437960107.pngVardhman_4-1788437960107.png Step 7 - I am getting this error after building code, Vardhman_3-1788437895528.pngVardhman_3-1788437895528.png I have attached RTD that i have installed. SW32K3_S32M27x_RTD_R21-11_6.0.0_D2506_DesignStudio_updatesite Thanks ,  Re: RE: SafeRTOS Support and Package Availability for FRDM-A-S32K34 Hello @Vardhman , Please check that NXP GCC 10.2 is installed. Also, make sure that the GCC 10.2 toolchain is selected when creating the application project. A similar issue is described in the following Community thread, including screenshots. Although the thread refers to the S32K1xx RTD, the reported dependency-related symptoms are similar: S32DS 3.6.7: S32K1xx RTD 3.0.0 not detected when creating a new project Best regards, Pavel Re: RE: SafeRTOS Support and Package Availability for FRDM-A-S32K34 Thanks this is working.
記事全体を表示
カメラセンサーOS02G10 MIPI CSI for IMX8MM こんにちは、みんな。 OS02g10のドライバーは以下から入手しました: https://github.com/Shaggy013/kernel-5.10 ドライバーをパッチとして追加しました。 私のデバイスツリーは次のようになっています。 csi1_bridge: csi1_bridge@32e20000 { compatible = "fsl,imx8mm-csi", "fsl,imx8mq-csi", "fsl,imx6s-csi"; reg = <0x32e20000 0x1000>; interrupts = ; clocks = <&clk IMX8MM_CLK_DISP_AXI_ROOT>, <&clk IMX8MM_CLK_CSI1_ROOT>, <&clk IMX8MM_CLK_DISP_APB_ROOT>; clock-names = "disp-axi", "csi_mclk", "disp_dcic"; power-domains = <&dispmix_pd>; status = "disabled"; }; mipi_csi_1: mipi_csi@32e30000 { compatible = "fsl,imx8mm-mipi-csi"; reg = <0x32e30000 0x1000>; interrupts = ; clock-frequency = <360000000>; clocks = <&clk IMX8MM_CLK_CSI1_CORE>, <&clk IMX8MM_CLK_CSI1_PHY_REF>, <&clk IMX8MM_CLK_DISP_AXI_ROOT>, <&clk IMX8MM_CLK_DISP_APB_ROOT>; clock-names = "mipi_clk", "phy_clk", "disp_axi", "disp_apb"; bus-width = <2>; resets = <&mipi_csi_resets>; power-domains = <&mipi_pd>; status = "disabled"; }; os02g10: os02g10@3c { compatible = "ovti,os02g10"; reg = <0x3c>; // spec (manual) says that I2c addres is 0x3d status = "okay"; pinctrl-names = "rockchip,camera_default", "rockchip,camera_sleep"; pinctrl-0 = <&pinctrl_csi_pwdn>, <&pinctrl_csi_rst>, <&pinctrl_mux_oe>; pinctrl-1 = <&pinctrl_csi_pwdn>, <&pinctrl_csi_rst>, <&pinctrl_mux_oe>; csi_id = <0>; pwdn-gpios = <&gpio2 16 GPIO_ACTIVE_HIGH>; reset-gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>; mux-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>; mclk = <24000000>; mclk_source = <0>; rockchip,camera-module-index = <1>; rockchip,camera-module-facing = "back"; rockchip,camera-module-name = "OS02G10 camera"; rockchip,camera-module-lens-name = "1//2.9 inch 15*"; rockchip,camera-hdr-mode = <0>; // kernel-5.10\include\uapi\linux\rk-camera-module.h:307 (enum rkmodule_hdr_mode) mipi_csi; port { os02g10_ep: endpoint { remote-endpoint = <&mipi1_sensor_ep>; }; }; }; }; &csi1_bridge { fsl,mipi-mode; status = "okay"; port { csi1_ep: endpoint { remote-endpoint = <&csi1_mipi_ep>; }; }; }; &mipi_csi_1 { status = "okay"; port { #address-cells = <1>; #size-cells = <0>; mipi1_sensor_ep: endpoint@1 { reg = <1>; remote-endpoint = <&os02g10_ep>; data-lanes = <2>; csis-hs-settle = <13>; csis-clk-settle = <2>; csis-wclk; }; csi1_mipi_ep: endpoint@2 { reg = <2>; remote-endpoint = <&csi1_ep>; }; }; }; &clk { init-on-array = ; }; カメラドライバーとmxc_mipi-csi.c用にプローブ機能を修正しました。mx6s-csi.c 以前はフォーマット一致エラーが2回発生しましたが、mx6s-csiに追加しました { .name = "RAWRGB10 (SBGGR10)", .fourcc = V4L2_PIX_FMT_SBGGR10, .pixelformat = V4L2_PIX_FMT_SBGGR10, .mbus_code = MEDIA_BUS_FMT_SBGGR10_1X10, .bpp = 1, } そしてmxc_mipi-csi.cに追加されました { .code = MEDIA_BUS_FMT_SBGGR10_1X10, .fmt_reg = MIPI_CSIS_ISPCFG_FMT_RAW10, .data_alignment = 8, } v4l2 APIは正常に動作し、エラーは発生しません。以下は画像を取得するためのコマンドです v4l2-ctl -d /dev/video0 --verbose --set-fmt-video=width=1920,height=1080,pixelformat=BG10 --stream-mmap --stream-count=1 --stream-to=bb001.raw そして、デバッグメッセージの結果 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_s_power os02g10 3-003c: in function: os02g10_s_power os02g10 3-003c: in function: os02g10_runtime_resume os02g10 3-003c: in function: __os02g10_power_on os02g10 3-003c: OS02G10_REG_SOFTWARE_RESET mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_clk_enable mxc_mipi-csi 32e30000.mipi_csi: enable mipi_clk returns: 0 mxc_mipi-csi 32e30000.mipi_csi: enable phy_clk returns: 0 mxc_mipi-csi 32e30000.mipi_csi: enable disp_axi returns: 0 mxc_mipi-csi 32e30000.mipi_csi: enable disp_apb returns: 0 VIDIOC_QUERYCAP: ok VIDIOC_G_FMT: ok mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_enum_mbus_code os02g10 3-003c: in function: os02g10_enum_mbus_code mxc_mipi-csi 32e30000.mipi_csi: camera sensor format (media-bus-format.h): 0x3007 mxc_mipi-csi 32e30000.mipi_csi: supported format0 by mipi-csi driver: 0x2008 mxc_mipi-csi 32e30000.mipi_csi: supported format1 by mipi-csi driver: 0x2007 mxc_mipi-csi 32e30000.mipi_csi: supported format2 by mipi-csi driver: 0x3001 mxc_mipi-csi 32e30000.mipi_csi: supported format3 by mipi-csi driver: 0x3007 mx6s-csi 32e20000.csi1_bridge: in function: mx6s_vidioc_enum_fmt_vid_cap - format RAWRGB10 (SBGGR10) mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_set_fmt VIDIOC_S_FMT: ok Format Video Capture: Width/Height : 1920/1080 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_enum_mbus_code os02g10 3-003c: in function: os02g10_enum_mbus_code mxc_mipi-csi 32e30000.mipi_csi: camera sensor format (media-bus-format.h): 0x3007 mxc_mipi-csi 32e30000.mipi_csi: supported format0 by mipi-csi driver: 0x2008 mxc_mipi-csi 32e30000.mipi_csi: supported format1 by mipi-csi driver: 0x2007 mxc_mipi-csi 32e30000.mipi_csi: supported format2 by mipi-csi driver: 0x3001 mxc_mipi-csi 32e30000.mipi_csi: supported format3 by mipi-csi driver: 0x3007 mx6s-csi 32e20000.csi1_bridge: in function: mx6s_vidioc_enum_fmt_vid_cap - format RAWRGB10 (SBGGR10) Pixel Format : 'BG10' (10-bit Bayer BGBG/GRGR) Field : None Bytes per Line : 1920 Size Image : 2073600 Colorspace : sRGB Transfer Function : Default (maps to sRGB) YCbCr/HSV Encoding: ITU-R 601 Quantization : Full Range Flags: mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_s_stream mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_clear_counters mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_start_stream mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_sw_reset: REG CMN_CTRL 0x32E30004 = 0x00004000 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_set_params mxc_mipi-csi 32e30000.mipi_csi: in function: __mipi_csis_set_format mxc_mipi-csi.0: fmt: 0x3007, 1920 x 1080 mxc_mipi-csi 32e30000.mipi_csi: in function: __mipi_csis_set_format: REG ISPRESOL_CH0 0x32E30044 = 0x04380780 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_set_hsync_settle: REG DPHYCTRL 0x32E30024=0x0d800000 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_set_params: REG CMN_CTRL 0x32E30004 = 0x00004104 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_system_enable: REG CMN_CTRL 0x32E30004=0x00004105 VIDIOC_REQBUFS returned 0 (Success) VIDIOC_QUERYBUF returned 0 (Success) VIDIOC_QUERYBUF returned 0 (Success) VIDIOC_QUERYBUF returned 0 (Success) VIDIOC_QUERYBUF returned 0 (Success) VIDIOC_QBUF returned 0 (Success) VIDIOC_QBUF returned 0 (Success) VIDIOC_QBUF returned 0 (Success) VIDIOC_QBUF returned 0 (Success) mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_system_enable: REG DPHYCTRL 0x32E30024=0x0d800007 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_enable_interrupts: REG CSIS_INTMSK 0x32E30010 = 0xf00fffff mxc_mipi-csi.0: --- mipi_csis_start_stream --- mxc_mipi-csi.0: 0x04 CMM CTRL : 0x00004105 mxc_mipi-csi.0: 0x08 CLK CTRL : 0x000f0000 mxc_mipi-csi.0: 0x10 INT MASK0: 0xf00fffff mxc_mipi-csi.0: 0x14 INT SRC0 : 0x00000000 mxc_mipi-csi.0: 0x18 INT MASK1: 0x00000000 mxc_mipi-csi.0: 0x1c INT SRC1 : 0x00000000 mxc_mipi-csi.0: 0x20 PHY STAT : 0x000000f1 mxc_mipi-csi.0: 0x24 PHY CTRL : 0x0d800007 mxc_mipi-csi.0: 0x30 PHY M/S-L: 0x000001f4 mxc_mipi-csi.0: 0x34 PHY M/S-H: 0x00000000 mxc_mipi-csi.0: 0x38 PHY S-CTL: 0x00000000 mxc_mipi-csi.0: 0x3C PHY S-CTH: 0x00000000 mxc_mipi-csi.0: 0x40 ISP CONF : 0x000000ac mxc_mipi-csi.0: 0x44 ISP RESOL: 0x04380780 mxc_mipi-csi.0: 0x48 ISP SYNC : 0x04380780 os02g10 3-003c: in function: os02g10_s_stream os02g10 3-003c: in function: __os02g10_start_stream os02g10 3-003c: in function: __os02g10_start_stream __v4l2_ctrl_handler_setup returns: 0 os02g10 3-003c: in function: os02g10_s_stream: unlock_and_return VIDIOC_STREAMON returned 0 (Success) その後は何も起こらず、ただ待って待つだけで何も起こらない。 20MHzオシロスコープではMIPI DATAおよびMIPI CLKラインのトラフィックを観測できません。(帯域幅が低いのは承知していますが、データ回線であれば何らかの変化が見られるはずです。しかし、全く反応がありません。) clkノードが正しいかどうか確信が持てません。クロック名によるmipi_csiクロックと一致する&clkノードがない可能性もあります。どなたか使用経験のある方はいらっしゃいますか? どうすればいいでしょうか? i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: Camera sensor os02g10 MIPI CSI for IMX8MM こんにちは、Linuxのアップストリームドライバーを使えます。 私たちはこれをi.mx8MPベースのDebixプラットフォームでテストしました。 こちらがドライバです https://web.git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=263d0fa1d46ac1ae2eebc5a5490fec58233c69ad こちらが当社のDTです https://web.git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=a4d0f0c88ae8185315afbc1eb68c978ed710f759 -- ルトヴィイ シリコンシグナルズ Re: Camera sensor os02g10 MIPI CSI for IMX8MM うまくいきました。 .bpp2でなければならない しかし主な問題はハードウェアにあった
記事全体を表示
S32K388 GMAC0 Eth_43_GMACドライバーがRX割り込みを受け取らない こんにちは、 私は以下の設定を使用しています。 S32K388EVB-Q289 S32DS 3.6.8 RTD 7.0.1 提供されたEth_InternalLoopback_S32K388例プロジェクトをベースにし、PCからメディアコンバーター経由でフレームを受け取れるように改良しました。例 S32K388 GMAC0 lwIP FreeRTOS S32DS 3.6.1 RTD600で言及されていた RTD 修正を追加しました。ブレークポイントを達成できました Eth_43_GMAC_Receive(EthConf_EthCtrlConfig_EthCtrlConfig_0、0U、&Status); そして、イーサネットフレームを点検できました EthIf_RxIndication(Eth_43_GMAC_apxInternalCfg[PartitionId]->Eth_43_GMAC_apCtrlConfig[CtrlIdx]->EthCtrlEthIfIdx, FrameType, IsBroadcast, MacSrcAddr, Payload, PayloadLength, IngressTimeTuplePtr, RxHandleId); しかし、while 1 ループを追加し、Rx 割り込みを有効にして GMAC0_CH0_RX_IRQHandler にリンクしても、どこにも割り込みが発生しませんでした。プロジェクトを以下に添付しました。 James_Zhang_SE_0-1788220964718.pngJames_Zhang_SE_0-1788220964718.pngJames_Zhang_SE_0-1788220964718.png S32K3 オートモーティブ-RTD  Re: S32K388 GMAC0 Eth_43_GMAC driver not getting RX interrupt こんにちは、 @James_Zhang_SE さん、 添付のプロジェクトを確認しました。RTD7.0.1でRX IRQを有効にするには、Ingress QueueHandlerFunctionを変更してQueueInterruptを有効にする必要があります。 PavelL_0-1788263577590.pngPavelL_0-1788263577590.pngPavelL_0-1788263577590.png その変更後、GMAC_RxIRQHandler() でブレークポイントに到達しました。Eth_43_GMAC_Receive() にて。 また、RGMII TXCLKが入力として定義されていますが、出力として定義されるべきです。 ただし、WiresharkでTXフレームを見るには、イニットシーケンスを適切に変更する必要があります。 例S32K388 GMAC0 lwIP FreeRTOS S32DS 3.6.1 RTD600 。あなたのプロジェクトでは、次のように見え ます: PavelL_1-1788264277735.pngPavelL_1-1788264277735.pngPavelL_1-1788264277735.png よろしくお願いいたします。 パベル Re: S32K388 GMAC0 Eth_43_GMAC driver not getting RX interrupt こんにちは、パベルさん。 サポートありがとうございます。ご提案の修正を適用した後、GMACドライバーが動作するようになりました。 いくつか追加の質問がありますので、ご教示いただければ幸いです。 GMACドライバーの設定や使用手順を完全に説明した詳細なドキュメントはありますか?まずは自分でドキュメントを確認して、ドライバのことをもっと理解したいと思っています。 EthIf_RxIndication()の中で、呼び出す必要がありますか? Eth_43_GMAC_ReleaseRxBuffer(CtrlIdx, RxHandleId); 関数の最後に受信バッファを解放する処理はありますか? GMACの設定オプションは数多く用意されています。各設定パラメータが何をするのか、どのように設定すべきかを説明するドキュメントや参考文献はありますか? ご協力ありがとうございました。皆さんのサポートに本当に感謝しています。 Re: S32K388 GMAC0 Eth_43_GMAC driver not getting RX interrupt こんにちは、 @James_Zhang_SE さん。 最新情報のご共有ありがとうございます。GMACドライバーが今あなたのために使えるようになったと聞いて安心しました。 追加のご質問について: 1.ドライバーの設定および使用に関する主な参照は、RTDインストールに含まれているEth_43_GMACユーザーマニュアルです。例:C:\NXP\S32DS.3.6.6_RTD701\S32DS\software\PlatformSDK_S32K3\RTD\Eth_43_GMAC_TS_T40D34M70I1R0\doc\RTD_ETH_43_GMAC_UM.pdf 同じディレクトリに保存されている対応するEth_43_GMAC統合マニュアル(RTD_ETH_43_GMAC_IM.pdf)と、利用可能なGMACサンプルプロジェクトも確認することをお勧めします。   2. Eth_43_GMAC_ReleaseRxBuffer() を呼び出す必要があるかどうかは、EthCtrlReleaseResourceAfterReception 設定パラメータによって決まります。 PavelL_0-1789024403441.png 受信後の自動リリースが有効の場合、ドライバーはEthIf_RxIndication()が戻った後にRXリソースを解放するため、明示的にリリースすべきではありません。 自動解放が無効になっている場合、EthIf_RxIndication() が戻った後も、受信バッファは割り当てられたままになります。その場合、アプリケーションは最終的に以下を呼び出さなければなりません。 Eth_43_GMAC_ReleaseRxBuffer(CtrlIdx, RxHandleId);   このモードは、アプリケーションが受信データを保持してさらなるプロセッシングを行う必要がある場合に有用です。ただし、バッファはアプリケーションが使用を終えた後に解放されなければなりません。そうしないと、利用可能な受信バッファが最終的に枯渇してしまう。 また、受信したペイロードポインタは、対応するバッファが解放された後は使用しないでください。 3. Eth_43_GMACユーザーマニュアルは個々の構成パラメータの主要な参照資料でもあります。さらに、S32設定ツールでは、対応する設定を選択またはマウスオーバーすると、多くのパラメーターの説明が表示されます。MACフィルタリング、DMA操作、MTLキュー、タイムスタンプ、割り込み状態などのハードウェアレベルの動作については、S32K3リファレンスマニュアルのGMAC/EMAC章を参照してください。 実用的な出発点として、RTDパッケージで提供されているGMACの例を参照することをお勧めします。このページには、lwIPの機能的なサンプルも掲載されています。 https://community.nxp.com/t5/S32K-Knowledge-Base/S32K-Examples/ta-p/1108990 何か問題を感じたら、遠慮なくサポートをお願いしてください。各トピックごとに専用スレッドを設けることが望ましいです。これにより、他のユーザーにとってケースの明確さを保つことができます。 よろしくお願いいたします。 パベル
記事全体を表示