Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
S32K314 RTD (MCAL) - OsIf クリティカルセクションが原因で発生した高優先度 ISR デッドロック S32K314 RTD (MCAL) - OsIf クリティカルセクションが原因で発生した高優先度 ISR デッドロック こんにちは、 私は以下のプラットフォームでアプリケーションを開発しています: MCU:NXP S32K314 RTD 7.0.0(AUTOSAR・マカル) FreeRTOS 7.0.0 S32 Design Studio 3.6.4 開発中に、優先度の高い割り込みに関連するデッドロックに遭遇しました。私の理解が正しいかどうか、また推奨される解決策があるかどうかをお伺いしたいと思います。 バックグランド FreeRTOSでは、configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITYよりも高い優先度を持つISRは、FreeRTOS APIを呼び出してはならないと規定されています。 しかし、多くのRTD MCAL APIは、内部的に以下の呼び出しチェーンを通じてFreeRTOSのクリティカルセクションAPIを実行していることがわかりました。 MCAL API ↓ SchM_Enter_xxx() ↓ OsIf_SuspendAllInterrupts() ↓ SuspendAllInterrupts() ↓ OsIf_Interrupts_SuspendAllInterrupts() ↓ taskENTER_CRITICAL_FROM_ISR() そして、 MCAL API ↓ SchM_Exit_xxx() ↓ OsIf_ResumeAllInterrupts() ↓ ResumeAllInterrupts() ↓ OsIf_Interrupts_ResumeAllInterrupts() ↓ taskEXIT_CRITICAL_FROM_ISR() この挙動は、DIOやGPTのような単純なペリフェラルレジスタアクセスのみを行うAPIでも存在します。 問題 MCAL API が高優先度 ISR (configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY より高い優先度) から呼び出されると、taskENTER_CRITICAL_FROM_ISR() の内部呼び出しによって FreeRTOS の割り込みマスキング状態が不整合になります。 その結果、taskEXIT_CRITICAL_FROM_ISR() が戻った後、BASEPRI が正しく復元されず、SysTick や PendSV などの優先度の低い割り込みがマスクされたままになります。 xPortSysTickHandler() が実行されなくなるため、スケジューラは最終的に停止します。 以下のようなAPIを使用して、この問題を再現することができました。 Dio_FlipChannel() GPT(PIT)割り込みプロセッシング SchMの排他領域を使用するその他のMCAL API 現在の回避策 RTDで生成されたソースコードを直接変更することを避けるため、GNUリンカーの--wrapオプションを使用して以下の関数をラップしました。 OsIf_Interrupts_SuspendAllInterrupts() OsIf_Interrupts_ResumeAllInterrupts() ラッパーは現在の割り込み優先度をチェックします。 添付のWrapperExample.cを参照してください。 現在のISRの優先度がconfigLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITYよりも高い場合、元の関数はスキップされます。 そうでない場合は、元の実装を呼び出します。 この回避策は、生成されたRTDソースを変更せずにデッドロックを解消するようです。 質問 この挙動はRTD MCALのデザイン上当然のことですか? 高優先度のISRからDIO、GPT、CAN、または他のMCAL APIを呼び出すのは推奨されますか? NXPは、ウォッチドッグサービスやGPIOトグルなどの高優先度リアルタイム機能に対して専用ドライバ(複雑デバイスドライバ)の実装を推奨していますか? GNUリンカーの--wrapオプションを使用してOsIf_Interrupts_SuspendAllInterrupts()とOsIf_Interrupts_ResumeAllInterrupts()をラップすることは、許容できる回避策でしょうか? 生成されたRTDソースコードを変更する必要のない、この問題に対する公式または推奨される解決策はありますか? 何かアドバイスやご提案があれば、大変ありがたく思います。 よろしくお願いします。 Re: S32K314 RTD (MCAL) - High Priority ISR Deadlock Caused by OsIf Critical Sections こんにちは、 @tobara さん、 このケースは現在、RTD開発チームからの意見提出を待っています。 BR、ダニエル Re: S32K314 RTD (MCAL) - High Priority ISR Deadlock Caused by OsIf Critical Sections こんにちは、 ご質問に対する回答は以下のとおりです。 この挙動はRTD MCALの設計上当然のことですか?回答:はい、これはCAT1割り込み(つまり優先度がMAX SYSCALLより高い割り込み)からOSのAPIを呼び出すために起こります。MAX_SYSCALL以上の割り込みの手当は、RTOSの影響を受けずに最小限のレイテンシで作業を行うためです。RTOSによって生じるレイテンシを避けたいなら、最終的にRTOSを使うAPIを呼び出すべきではありません。 高優先度のISRからDIO、GPT、CAN、または他のMCAL APIを呼び出すのは推奨されますか? 回答:いいえ、最初の回答で述べた理由により、MAX_SYSCALより大きくすることはできません。 NXPは、ウォッチドッグサービスやGPIOトグルなどの高優先度リアルタイム機能に対して専用ドライバ(複雑デバイスドライバ)の実装を推奨していますか? 回答: RTD SchM、OSIf API、RTOSによる遅延に耐えられるなら、既存のドライバーを使い、MAX_SYSCALLより低い割り込みから呼び出しすればいいです。優先度アップの効果は引き続き得られますが、チケットに記載されている問題は解消されません。 GNUリンカーの--wrapオプションを使用してOsIf_Interrupts_SuspendAllInterrupts()とOsIf_Interrupts_ResumeAllInterrupts()をラップすることは、許容できる回避策でしょうか? 回答:いいえ、簡単な分析によると、この回避策は一方向のみを保護するものです。デッドロックは回避できるかもしれないが、優先度の高いISR(> MAX_SYSCALL)とレジスタ/リソースを共有する優先度の低いISRを保護するものではない。この実装は共有レジスタやグローバル変数に競合条件を導入することができます。 生成された RTD ソース コードを変更する必要のない、この問題に対する公式または推奨される解決策はありますか?回答 (ただし、RTD チームによる確認が必要です) : IRQ > MAX_SYSCALL から RTD / RTOS API を呼び出さないでください。現在のRTD->OSIF->RTOSのレイテンシに耐えられるなら、優先度の高いIRQをMAX_SYSCALLより低く設定すればいいです。 すべての回答はRTDチームによる確認が必要です。私はRTOSの観点から回答しています。
記事全体を表示
iMX8M Plus - Flexspi chip select pin On the i.MX8M Plus EVK, the ECSPI chip select signal can be configured using a GPIO pin. Could you please confirm whether FlexSPI also supports GPIO-based chip-select signals, or whether only the dedicated FlexSPI chip select pins can be used? As per our requirement, we need two chip select signals for FlexSPI. Kindly suggest the recommended configuration for supporting two FlexSPI devices. Re: iMX8M Plus - Flexspi chip select pin Hi @pengyong What we can do for two chip select of QSPI? This is also from our requirement. If there is lack of CS pin means, can we use the any gpio has a chip select? If it will work Re: iMX8M Plus - Flexspi chip select pin Hi @Govind1807  You could use a GPIO-based chip select signal. However, you only have two FlexSPI Flash devices. Why would you use a GPIO as the chip select signal? The imx8mp has four FLEX SS signals that can be used directly: https://github.com/nxp-imx/linux-imx/blob/5768b67a64961d932b7c50adf15ba3f5bfcc8f70/arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h B.R Re: iMX8M Plus - Flexspi chip select pin Hi @pengyong_zhang , What we can do for two chip select of QSPI? This is also from our requirement. If there is lack of CS pin means, can we use the any gpio has a chip select? If it will work or not?
記事全体を表示
例tflm_cifar10_cm33_core0に tflm_label_image_ext_mem のメモリ設定を使ってもいいですか? 良い1日を。 現在はEIQ例tflm_cifar10_cm33_core0 を使ってNPUモードでモデル化しています。モデルデータはSRAMに保存されます。推論時間は良好です。そして、こちらがメモリ構成です。このeiq例を5クラスのモデル用に修正しました https://docs.nxp.com/bundle/AN14700/page/topics/eiq_enablement.html しかし今はモデルが大きくなり、NPU tfliteモデルを外部メモリ上で特定したいと考えています。モデルデータはFlashに格納されています。そして、こちらは eiq の例tflm_label_image_ext_memの設定です。 https://docs.nxp.com/bundle/AN14700/page/topics/imx_rt700_system_details.html 私の目標は、ソースコードをtflm_cifar10_cm33_core0から保持したい(tflm_label_image_ext_memで新しいソースコードを作成したくはありません)が、NPU tfliteモデルを外部メモリ上で特定したい ということです。 私の解決策は、上記の画像のように、メモリ構成をSRAMから外部メモリに変更することだけです。それで合っていますか?あるいは、他の設定も変更する必要があるのかもしれません。 Re: Can I use memory config from tflm_label_image_ext_mem for the example tflm_cifar10_cm33_core0? こんにちは、 @nnxxpp さん。 ご説明ありがとうございます。 「--use-sequencer」を外部メモリモデルの実行と組み合わせて使用しないでください。 「tflm_label_image_ext_mem」例では、モデルが外部メモリから実行されるため、「--fetch-constants-to-sram」を残し、「--use-sequencer」は削除してください。 モデルを以下のように変換してみてください。 ./Neutronコンバータ \ --入力 QAT.tflite\ --出力 QAT_NPU.tflite\ --target imxrt700 \ --ヘッダーファイル出力をダンプする --dump-header-file-input \ --定数をSRAMに取得   お役に立てれば幸いです。 よろしくお願いいたします。 5月 Re: Can I use memory config from tflm_label_image_ext_mem for the example tflm_cifar10_cm33_core0? @mayliu1 こんにちは。これは新たな問題です(まだ解決されていません)。この問題は、外部メモリ(SRAMではなく)でのNPU tfliteモデルのデプロイに関連しています。 現在はSDKs of MIMRT700のeiqサンプルtflm_label_image_ext_memを使っています。この例はCANうまく実行できます。この例はモデル mobilenetv1 で、サイズ=224、クラス数=1000です。 サンプルのモデルを自分のモデル(同じ分類モデル)に置き換えようとしましたが、クラス数を変えました。 ラベルを変えました。(レーベル名の場合)、 サンプルのモデルを自分のモデルに置き換え、名前は同じまま使っています model_data.h ファイル内のmodel_data_lenも変更しました。 ビルドはできましたが、デバッグを実行するとプログラムは「静的プロセッシング」で停止し、結果が出ませんでした。 上の画像には 「モデルハンドルを保存できません。完了したらneutronModelUnprepare()を呼び出せ」というメッセージがありますが、NXPの従業員の一人はエラーではないと言っていました。https://community.nxp.com/t5/eIQ-Machine-Learning-Software/eIQ-FAQ/ta-p/1099741 NPUモデルが外部メモリ上にあるCASE、拡張子.tflite モデルを使います(モデルがSRAM上で位置する場合はヘッダーファイル.hではありません)。 モデルをフラグで--fetch-constants-to-sramに変換して、外部メモリ上のNPUモデルをこのように位置づけています ./Neutronコンバータ \ --input QAT.tflite \ --output QAT_NPU.tflite \ --target imxrt700 \ --ヘッダーファイル出力をダンプする --dump-header-file-input \ --use-sequencer \ --定数をSRAMに取得   NXPから設定や設定(SOの変更方法や場所)のチュートリアルが見当たらなかったので、上記の手順で試しましたがうまくいきませんでした。 手伝ってもらえますか?ありがとう。 Re: Can I use memory config from tflm_label_image_ext_mem for the example tflm_cifar10_cm33_core0? こんにちは@nnxxpp さん、 私たちの製品にご関心を寄せ、コミュニティをご利用いただき、本当にありがとうございます。 返信が遅くなり申し訳ありません。 前回の投稿で、問題はすでに解決済みだと書かれていたことに気づきました。全てが正常に機能していると聞いて安心しました。 ご理解いただき、改めて感謝申し上げます。 よろしくお願いいたします。 5月 Re: Can I use memory config from tflm_label_image_ext_mem for the example tflm_cifar10_cm33_core0? 応援してくれて本当にありがとうございます。正しく動作しました
記事全体を表示
MIMXRT1052CVJ5Bの電源問題 MIMXRT1050HDUGの仕様にあるように、このMCUには2つのバージョンが存在します。電源設計の参考にするために、自分のMCUの具体的なバージョンをどのように特定すればよいでしょうか? i.MXRT 105x Re: MIMXRT1052CVJ5B供电问题 ありがとう! Re: MIMXRT1052CVJ5B供电问题 こんにちは、 @Simon_CHan さん。 NXPのRTシリーズ製品にご関心をお寄せいただき、またNXPコミュニティをご利用いただきありがとうございます。 i.MX RT1050 のチップ正誤表にある ERR011093 を参照してください。正誤表には、この問題は A1 シリコンで修正済みであると記載されています。したがって、最も簡単な方法は、チップのシルクスクリーンでシリコン リビジョンを確認することです。A は A0、B は A1 を示します。バージョンが B の場合は、問題は修正済みです。バージョンが A の場合は、正誤表で規定されているとおり、DCDC_IN/DCDC_IN_Q を 2.8 V ~ 3.0 V の範囲内に制御する必要があります。 上記の情報がお役に立てば幸いです。 よろしくお願いします 5月
記事全体を表示
ADC Configuration Issue Hi @Senlent , I have also same issue which you mentioned above. Our external oscillator clock is 25 MHz. According to the S32K322 datasheet, the ADC supports up to 80 MHz, so I have configured a prescaler of 2. I also configured the sampling time to 1.2 microseconds and set the BCTU mode to trigger mode. However, we are still getting noisy data when executing the BCTU method and the normal chain method simultaneously on the same ADC0 peripheral. Is there a workaround or an alternative method to safely run both on the same ADC0 peripheral? S32 SDK for S32K1 Re: ADC Configuration Issue Hello @praveen_ext , Considering the previous Community thread, the behavior in BCTU Control Mode is expected: when the ADC is controlled by BCTU in Control Mode, normal conversions cannot be started independently on the same ADC instance. This explains why the current sensing becomes more stable in Control Mode, but the voltage and temperature channels configured in the normal chain stop working. In Trigger Mode, the situation is different. This mode allows BCTU-triggered conversions as well as normal/injected conversions, but all these conversions still share the same ADC instance and therefore the same ADC conversion resources. For a time-critical current sensing use case, especially if synchronized with PWM, the important point is not only whether the conversion is possible, but also whether the sampling instant remains deterministic. From the shared data, the current-sense signal seems mostly stable, but it shows occasional large spikes/dropouts. These do not look like ordinary random analog noise only. They look more like event-related outliers, possibly caused by conversion scheduling, result handling or interaction between the BCTU-triggered conversions and the normal chain conversions on the same ADC peripheral. Therefore, I would suggest first isolating whether the issue is caused by the mixed use of the ADC instance: 1. Please run only the BCTU-triggered current sensing in Trigger Mode and completely disable the normal chain execution.    - Do the current-sense spikes still occur? 2. Please run only the normal chain conversions and disable the BCTU-triggered current sensing.    - Are the voltage and temperature channels still stable? 3. Please check whether the current-sense spikes correlate with the moment when the normal chain conversion is started by the application.  Could you also clarify how the normal chain conversion is started while the BCTU-triggered current sensing is running? For example, is the normal chain started periodically by software, from an interrupt or from another scheduler task? One more point to confirm: from your channel list, ADC1-P2 and ADC1-P3 seem to be mentioned both as BCTU current-sensing channels and as normal-chain channels. Could you please confirm whether these channels are intentionally used by both acquisition methods or if this is only a description/configuration mismatch?  If the spikes disappear when the normal chain is disabled, then the likely issue is not the ADC electrical configuration itself, but the timing/scheduling of two acquisition flows on the same ADC instance. In that case, possible workarounds would be: - keep the current-sensing channels exclusively under BCTU control, - move the slower voltage/temperature measurements to another ADC instance, if available, - or schedule the normal chain conversions only in a time window where they cannot interfere with the BCTU/PWM-synchronized current measurement.   After this isolation test, it is still recommended to check the analog front-end, especially for the continuously noisy signals: - source impedance of the measured signal, - external RC filter values, - ADC input capacitor value, - capacitor placement close to the MCU ADC input pin, - whether the configured sampling time is sufficient for the given source impedance and external components.   Similar ADC accuracy/noise-related discussions are available here: - Issue with Inaccurate ADC Values on S32K3:   https://community.nxp.com/t5/S32K/Issue-with-Inaccurate-ADC-Values-on-S32K3/m-p/2033042   - Smoke detector interfacing with FS32K146HAT0MLLT:   https://community.nxp.com/t5/S32K/Smoke-detector-interfacing-with-FS32K146HAT0MLLT/m-p/1773787   - S32K3 Confusion about ADC accuracy and results:   https://community.nxp.com/t5/S32K/S32K3-Confusion-about-ADC-accuracy-and-results/m-p/2006783   Best regards, Pavel
記事全体を表示
MIMXRT1052CVJ5B power supply problem As indicated by the MIMXRT1050HDUG, there are two versions of the MCU. How do I determine my specific version to guide my power supply design? i.MXRT 105x Re: MIMXRT1052CVJ5B供电问题 Thanks! Re: MIMXRT1052CVJ5B供电问题 Hi @Simon_CHan , Thank you for your interest in NXP's RT series products and for using the NXP community. You can refer to ERR011093 in Chip Errata for the i.MX RT1050. The Errata documentation states that this issue has been fixed in A1 silicon. Therefore, the simplest method is to check the chip silkscreen for Silicon Rev: A indicates A0, and B indicates A1. If it's version B, the issue has been fixed; if it's version A, you need to control DCDC_IN/DCDC_IN_Q within the 2.8 V–3.0 V range as required by Errata. I hope the above is helpful to you. Best Regards May
記事全体を表示
ARA240(.dvm)用のカスタムONNX/TFLiteモデルをコンパイルする方法は?(搬送波はi.MX95 FRDMを使用しています) 私はi.MX95 FRDMのARA240 M.2アクセラレータを評価しています。 ランタイムは正常に動作しています。 ARA240はPCIe経由で検出されます。 nnapp は提供された .dvm を正常に実行しますモデル. ランタイムSDKs(rt-sdk-ara240)とPython DVAPIバインディングがインストールされています。 しかし、自分でMobileNetモデルを展開したいのですが、モデルを.dvmにコンパイルするためのツールチェーンが見つかりません形式。 私の質問は以下のとおりです。 カスタムONNX/TFLiteモデルを.dvmにコンパイルする際のサポートワークフローは何ですか?ARA240用ですか? Ara2コンバータ(またはdvconvert/dvnc)は公開されているのか、それともRuntime SDKsとは別に配布されているのか? NXPがサポートするカスタムCNNモデルを展開する方法はありますか(例:MobileNet) を ARA240 に移植する際に、私が見落としている点はありますか? どんなガイダンスやドキュメントでも大変ありがたいです。 よろしくお願いします!
記事全体を表示
How to compile custom ONNX/TFLite models for ARA240 (.dvm) ?(carrier being used i.MX95 FRDM) I'm evaluating the ARA240 M.2 accelerator on the i.MX95 FRDM. The runtime is working correctly: ARA240 is detected over PCIe. nnapp successfully runs the provided .dvm models. The Runtime SDK (rt-sdk-ara240) and Python DVAPI bindings are installed. However, I would like to deploy my own MobileNet model, and I'm unable to find the toolchain required to compile models into the .dvm format. My questions are: What is the supported workflow to compile a custom ONNX/TFLite model into .dvm for ARA240? Is the Ara2 Converter (or dvconvert/dvnc) publicly available, or is it distributed separately from the Runtime SDK? Is there an NXP-supported way to deploy custom CNN models (e.g. MobileNet) onto ARA240, that I am missing? Any guidance or documentation would be greatly appreciated. Thanks!
記事全体を表示
ユーザー空間からカーネルのrpmsgバッファにアクセスする こんにちは、 IMX8MPのMPUとMCU間で通信はできました。しかし、ユーザー空間から共有メモリのデータにアクセスしたいのです。これに関する例はありますか? imx_rpmsg_pinpong.c についても質問したいのですがデバイスドライバは、カーネル空間とユーザー空間間の通信のためにLinuxのユーザースペースI/Oを処理するように拡張可能です。 よろしくお願いします。 i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: Accessing my kernel rpmsg buffer from user space こんにちは、 私も同じ問題に取り組んでいます。あなたが提示した例は、カーネルモジュールで動作します。 しかし、実はユーザースペースのアプリケーション例を探しています。Linux側でユーザースペース内で動かせるサンプルCプログラムを教えてもらえますか? ありがとう! Re: Accessing my kernel rpmsg buffer from user space こんにちは、 @ababatola さん。 お元気でお過ごしでしょうか!返信が遅くなり申し訳ありません。 i.MX 8M Plus SDKsにあるrpmsg_lite_str_echo_rtosマルチコアの例を見ることをお勧めします。これはシンプルなアプリケーションで、Cortex AからCortex Mへメッセージを送信し、M4が受信した内容を表示し、同じメッセージを確認応答として返します。 SDKは https://mcuxpresso.nxp.com/ からビルドしてダウンロードできます これがあなたにとって有効かどうか教えてください。 よろしくお願いします、 ヘクター。
記事全体を表示
如何为 ARA240 (.dvm) 编译自定义 ONNX/TFLite 模型?(载板型号为 i.MX95 FRDM) 我正在评估 i.MX95 FRDM 上的 ARA240 M.2 加速器。 运行时运行正常: 通过 PCIe 检测到 ARA240。 nnapp 成功运行提供的 .dvm 文件模型。 已安装运行时 SDK (rt-sdk-ara240) 和 Python DVAPI 绑定。 但是,我想部署我自己的 MobileNet 模型,却找不到将模型编译成 .dvm 文件所需的工具链。格式。 我的问题是: 将自定义 ONNX/TFLite 模型编译成 .dvm 文件的受支持工作流程是什么?适用于 ARA240? Ara2 变流器(或 dvconvert/dvnc)是公开提供的,还是与运行时 SDK 分开分发的? NXP 是否支持部署自定义 CNN 模型(例如)MobileNet) 到 ARA240,我漏掉了什么吗? 任何指导或文件都将不胜感激。 谢谢您!
記事全体を表示
MIMXRT1052CVJ5B供电问题 从MIMXRT1050HDUG可知,MCU有两个版本,那我要如何确定自己的版本,从而确定我的供电设计呢 i.MXRT 105x Re: MIMXRT1052CVJ5B供电问题 谢谢! Re: MIMXRT1052CVJ5B供电问题 Hi @Simon_CHan ,  感谢您关注恩智浦RT系列产品以及使用NXP社区。 您可以参考 Chip Errata for the i.MX RT1050 中的 ERR011093 。该问题在 Errata 里说明已经 Fixed in A1 silicon 。所以最简单的方法是看芯片丝印Silicon Rev: A 表示 A0,B 表示 A1 。如果是 B 版本,则该问题已修复;如果是 A 版本,则需要按 Errata 要求将 DCDC_IN/DCDC_IN_Q 控制在 2.8 V–3.0 V 范围内。 希望以上对您有帮助 Best Regards May
記事全体を表示
iMX8M Plus - Flexspiチップセレクトピン i.MX8M Plus EVKでは、ECSPIチップ選択信号をGPIOピンで設定できます。 FlexSPIがGPIOベースのチップセレクト信号もサポートしているのか、それとも専用のFlexSPIチップセレクトピンのみが使えるのか確認していただけますか? 当社の要件に基づき、FlexSPIには2つのチップセレクト信号が必要です。FlexSPIデバイスを2台サポートするための推奨構成をご提案ください。 Re: iMX8M Plus - Flexspi chip select pin こんにちは@pengyong QSPIの2チップセレクトで何ができるでしょうか?これも私たちの要件です。もしCSのピン手段が不足している場合、チップセレクトがあるGPIOを使ってもいいのでしょうか?うまくいくなら Re: iMX8M Plus - Flexspi chip select pin こんにちは、 @Govind1807さん GPIOベースのチップセレクト信号を使うこともできます。しかし、FlexSPIフラッシュデバイスは2つしかありません。なぜGPIOをチップセレクト信号として使用するのですか? imx8mpには4つのFLEX SS信号があり、直接使用できます: https://github.com/nxp-imx/linux-imx/blob/5768b67a64961d932b7c50adf15ba3f5bfcc8f70/arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h BR Re: iMX8M Plus - Flexspi chip select pin こんにちは@pengyong_zhang QSPIの2チップセレクトで何ができるでしょうか?これも私たちの要件からです。もしCSのピン手段が不足している場合、チップセレクトがあるGPIOを使ってもいいのでしょうか?それがうまくいくかどうかは?
記事全体を表示
ADC構成の問題 こんにちは、 @Senlent さん。 私も上記で述べられたのと同じ問題を抱えています。 外部発振器のクロックは25MHzです。S32K322のデータシートによると、ADCは最大80MHzをサポートしているので、プリスケーラーは2MHzに設定しています。また、サンプリング時間を1.2マイクロ秒に設定し、BCTUモードをトリガーモードに設定しました。しかし、同じADC0ペリフェラルでBCTU方法とノーマルチェーン方法を同時に実行しても、依然としてノイズの多いデータが得られます。同じADC0ペリフェラルで両方を安全に動かす回避策や代替方法はありますか? S32 SDK for S32K1 Re: ADC Configuration Issue こんにちは、 @praveen_ext さん。 前回のコミュニティThreadを考慮すると、BCTUコントロールモードでADCが制御されている場合、同じADCインスタンス上で通常の変換を独立して開始できません。これが制御モードで電流検出が安定する一方で、通常のチェーンで設定された電圧と温度チャネルが機能しなくなる理由を説明しています。 トリガーモードでは、状況は異なります。このモードでは、BCTUトリガーによる変換と通常の/注入による変換の両方が可能ですが、これらの変換はすべて同じADCインスタンスを共有するため、同じADC変換リソースが使用されます。特にPWMと同期している時間的に重要な電流センシングのCASEでは、変換が可能かどうかだけでなく、サンプリング瞬間がデターミニスティックなままであるかどうかが重要なポイントです。 共有データから判断すると、電流検出信号は概ね安定しているように見えるが、時折大きなスパイクやドロップアウトが見られる。これらは普通のランダムなアナログノイズのようには見えません。これらはイベント情報関連の異常値のように見え、コンバージョンのスケジューリング、結果処理、またはBCTUトリガーの変換と同じADCペリフェラルでの通常のチェーン変換の相互作用が原因と考えられます。 したがって、まずは問題の原因がADCインスタンスの混在使用にあるかどうかを特定することをお勧めします。 1. BCTUトリガーによる電流検出のみをトリガーモードで実行し、通常のチェーン実行は完全に無効にしてください。 電流感知スパイクはまだ発生しますか? 2. 通常のチェーン変換のみを実行し、BCTUトリガーによる電流検出を無効にしてください。 - 電圧と温度チャネルはまだ安定していますか? 3. 電流センススパイクがアプリケーションによって通常の連鎖変換が開始される瞬間と相関しているかどうかを確認してください。  また、BCTUトリガー電流検出が稼働している間に通常のチェーン変換がどのように開始されるのかも説明していただけますか?例えば、通常のチェーンはソフトウェアによって定期的に開始されるのか、割り込みからですか、それとも別のスケジューラタスクからですか? もう一つ確認したい点ですが、あなたのチャンネルリストを見ると、ADC1-P2とADC1-P3はBCTUの電流感知チャネルと正規連鎖チャネルの両方として言及されているようです。これらのチャネルが両方の取得方法で意図的に使われているのか、それとも単なる説明や設定の不一致なのか確認いただけますか?  通常のチェーンが無効化されたときにスパイクが消えた場合、問題はADCの電気構成自体ではなく、同じADCインスタンスで2つの取得フローのタイミングやスケジューリングにある可能性が高いです。その場合、回避策として考えられるのは以下の通りです: - 電流検出チャネルをBCTUの制御下に置くこと、 - 利用可能な場合は、より低速な電圧/温度測定を別のADCインスタンスに移動します。 - または、通常のチェーン変換をBCTU/PWM同期電流測定に干渉しない時間帯内にスケジュールする。   この絶縁テスト後も、特に連続的にノイズの多い信号についてはアナログフロントエンドの確認が推奨されます。 - 測定信号のソースインピーダンス、 - 外部RCフィルタ値、 - ADC入力コンデンサ値、 - コンデンサをMCU ADC入力ピンの近くに配置すること、 - 設定されたサンプリング時間が、指定されたソースインピーダンスと外部コンポーネントに対して十分であるかどうか。   同様のADC精度/ノイズ関連の議論は、こちらでもご覧いただけます。 - S32K3におけるADC値の不正確さに関する問題: https://community.nxp.com/t5/S32K/Issue-with-Inaccurate-ADC-Values-on-S32K3/mp/2033042   - 煙感知器とFS32K146HAT0MLLTのインターフェース接続: https://community.nxp.com/t5/S32K/Smoke-detector-interfacing-with-FS32K146HAT0MLLT/mp/1773787   - S32K3におけるADCの精度と結果に関する混乱: https://community.nxp.com/t5/S32K/S32K3-Confusion-about-ADC-accuracy-and-results/mp/2006783   よろしくお願いいたします。 パベル
記事全体を表示
iMX8M Plus - Flexspi 芯片选择引脚 在 i.MX8M Plus EVK 上,可以使用 GPIO 引脚配置 ECSPI 片选信号。 请问FlexSPI是否也支持基于GPIO的片选信号,还是只能使用FlexSPI专用的片选引脚? 根据我们的要求,FlexSPI 需要两个片选信号。请推荐支持两个FlexSPI设备的配置方案。 Re: iMX8M Plus - Flexspi chip select pin 嗨@pengyong 对于 QSPI 的两个片选信号,我们可以做什么?这也是我们的要求。如果缺少 CS 引脚,我们可以使用任何具有片选功能的 GPIO 吗?如果它有效的话 Re: iMX8M Plus - Flexspi chip select pin 你好@Govind1807 您可以使用基于 GPIO 的片选信号。但是,您只有两个 FlexSPI Flash 设备。为什么要使用GPIO作为片选信号? imx8mp 具有四个可直接使用的 FLEX SS 信号: https://github.com/nxp-imx/linux-imx/blob/5768b67a64961d932b7c50adf15ba3f5bfcc8f70/arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h BR Re: iMX8M Plus - Flexspi chip select pin 嗨@pengyong_zhang , 对于 QSPI 的两个片选引脚,我们该如何实现?这也是我们的需求。如果没有 CS 引脚,我们是否可以使用任何具有片选功能的 GPIO?这样做是否可行?
記事全体を表示
从用户空间访问我的内核 rpmsg 缓冲区 您好, 我已经能够实现我的imx8mp MPU和MCU之间的通信。但是,我想从用户空间访问共享内存中的数据。有例子吗? 我还想问一下 imx_rpmsg_pinpong.c设备驱动程序可以扩展以处理 Linux 用户空间 I/O,从而实现内核空间和用户空间之间的通信。 谢谢! i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: Accessing my kernel rpmsg buffer from user space 你好, 我也在关注同样的问题。你提供的示例适用于内核模块。 但我实际上想找一个用户空间应用程序的示例。能否提供一个可以在Linux用户空间运行的C语言程序示例? 谢谢! Re: Accessing my kernel rpmsg buffer from user space 嗨@ababatola , 希望你一切都好!抱歉回复晚了。 我建议您查看 i.MX 8M Plus SDK 中的 rpmsg_lite_str_echo_rtos 多核示例。这是一个简单的应用程序,允许你从 Cortex A 向 Cortex M 发送消息,然后 M4 显示接收到的内容,并将相同的消息回显作为确认。 您可以从https://mcuxpresso.nxp.com/版本和下载 SDK。 如果这个方法对你有效,请告诉我。 此致, 赫克托。
記事全体を表示
rw612 sdk 26.06 Hi, I downloaded SDK 26.06 for rw612, but it is not available in vs code, i imported the sdk, but i cannot generate project, it is not in the list also cannot open existing project which i created by 26.03 it is not in the dropdown list  Re: rw612 sdk 26.06 Hi. I did, but did not work. When I want to import the project, it says board not supported ( or something like this). but i generated SDK from https://mcuxpresso.nxp.com/ for my board. Re: rw612 sdk 26.06 Hello, Hope you are doing well. I am not able to reproduce this behavior. I would recommend updating the MCUXpresso Installer, and checking that all Software Kits are updated. Best Regards, Ricardo Re: rw612 sdk 26.06 Hello, Could you please try importing repository? Regards, Ricardo Re: rw612 sdk 26.06 hi, it worked, but I should delete other sdks and then add
記事全体を表示
RW612 SDK 26.06 您好,我下载了适用于 RW612 的 SDK 26.06,但它在 VS Code 中不可用。我已经导入了 SDK,但无法生成项目,它不在列表中,也无法打开我使用 26.03 版本创建的现有项目。 它不在下拉列表中 Re: rw612 sdk 26.06 你好。我试过了,但是没成功。当我尝试导入项目时,它显示“不支持的板”(或类似信息)。但我已从https://mcuxpresso.nxp.com/为我的开发板生成了 SDK。 Re: rw612 sdk 26.06 你好, 希望你一切都好。我无法重现此现象。 我建议更新 MCUXpresso 安装程序,并检查所有软件包是否已更新。 顺祝商祺! 里卡多 Re: rw612 sdk 26.06 你好, 请问您能否尝试导入仓库? 此致, 里卡多 Re: rw612 sdk 26.06 嗨,它奏效了,但我应该先删除其他 SDK,然后再添加。
記事全体を表示
Can I use memory config from tflm_label_image_ext_mem for the example tflm_cifar10_cm33_core0? Have a nice day. Currently I am using eiq example tflm_cifar10_cm33_core0 to model on NPU mode. Modeldata is saved in SRAM. Inference time is good. And here is memory configuration. I modified this eiq example for my models with 5 classes https://docs.nxp.com/bundle/AN14700/page/topics/eiq_enablement.html But now my model is larger and I want to locate NPU tflite model on external memory. Modeldata is located in Flash. And here is configuration from eiq example tflm_label_image_ext_mem https://docs.nxp.com/bundle/AN14700/page/topics/imx_rt700_system_details.html My target is that, I want to keep source code from tflm_cifar10_cm33_core0 (I dont want to create new source code with tflm_label_image_ext_mem), but I want to locate my NPU tflite model on external memory.  My solution that I will change only memory configuration from SRAM to external memory as above images. Is that right? Or I need to change more other configurations. Re: Can I use memory config from tflm_label_image_ext_mem for the example tflm_cifar10_cm33_core0? Hi @nnxxpp , Thanks for your clarification. Please do not use `--use-sequencer` together with external-memory model execution. For the `tflm_label_image_ext_mem` example, please keep `--fetch-constants-to-sram` and remove `--use-sequencer`, since the model is executed from external memory. Please try converting the model as below: ./neutron-converter \ --input QAT.tflite \ --output QAT_NPU.tflite \ --target imxrt700 \ --dump-header-file-output \ --dump-header-file-input \ --fetch-constants-to-sram   Wish it helps you Best Regards May Re: Can I use memory config from tflm_label_image_ext_mem for the example tflm_cifar10_cm33_core0? @mayliu1  Hi. This is new issue (not resolved yet). This issue is related to deploy NPU tflite model on external memory (not on SRAM). Currently, I am using eiq sample tflm_label_image_ext_mem from SDK of MIMRT700. I could successfully run this example. This example is for model mobilenetv1, size=224 and number of classes=1000. I tried to replace the sample's model by my model (same classification model) but with different number of classes. I have changed labels.h (for label names),  I replaced the sample's model by my model and I keep the same name I also change model_data_len in the file model_data.h I could build, but when running debug, the program is stopping at "Static processing" and did not give result. There is an message in the above image Unable to save model handle, call neutronModelUnprepare() when done but one NXP's employee said that it is not error. https://community.nxp.com/t5/eIQ-Machine-Learning-Software/eIQ-FAQ/ta-p/1099741 I see that in the case NPU model is located on external memory, we use model with extension .tflite (not header file .h in the case we locate model on SRAM). I convert model with flag --fetch-constants-to-sram to locate NPU model on external memory like this ./neutron-converter \ --input QAT.tflite \ --output QAT_NPU.tflite \ --target imxrt700 \ --dump-header-file-output \ --dump-header-file-input \ --use-sequencer \ --fetch-constants-to-sram   Because I did not see any tutorial from NXP to set up and configs (where and how to change source code), so I tried with the above steps, but it did not work. Could you help me? Thank you. Re: Can I use memory config from tflm_label_image_ext_mem for the example tflm_cifar10_cm33_core0? Hi @nnxxpp , Thank you so much for your interest in our products and for using our community. I apologize for the delayed response. I noticed that in your previous post, you mentioned that the issue has already been resolved. I’m glad to hear that everything is working now. Thank you again for your understanding. Best regards, May Re: Can I use memory config from tflm_label_image_ext_mem for the example tflm_cifar10_cm33_core0? Thank you so much for supporting me. It worked correctly
記事全体を表示
Accessing my kernel rpmsg buffer from user space Hi, I have been able to communicate between my imx8mp MPU and the MCU.  However, I want to access the data in the shared memory from the user space.  Is there an example for this? I would also like to ask if the imx_rpmsg_pinpong.c device driver can be extended to handle linux Userspace I/O for the communication between the kernel space and the user space. Thanks i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: Accessing my kernel rpmsg buffer from user space Hi, I am also looking at the same issue. The example you provided works with the kernel module. However, I am actually looking for a example userspace application. Could you provide a sample C program i can run on the linux side within userspace. Thanks! Re: Accessing my kernel rpmsg buffer from user space Hi @ababatola , I hope you're doing well! Sorry for the late reply. I'd recommend taking a look at the rpmsg_lite_str_echo_rtos multicore example found in the i.MX 8M Plus SDK. It's a simple application which allows you to send a message from the Cortex A to the Cortex M and then M4 displays what is received, and echoes back the same message as an acknowledgement.  You can build and download the SDK from https://mcuxpresso.nxp.com/ Let me know if this works for you. Best regards, Hector.
記事全体を表示
RW612 SDK 26.06 こんにちは、rw612用のSDK 26.06をダウンロードしましたが、VS Codeでは利用できません。SDKをインポートしましたが、プロジェクトを生成できず、リストにも表示されません。また、26.03で作成した既存プロジェクトを開けられません ドロップダウンリストにありません Re: rw612 sdk 26.06 こんにちは。やってみたが、うまくいかなかった。プロジェクトをインポートしようとすると、「ボードがサポートされていません」(またはこれに類するメッセージ)と表示されます。でも、ボード用のSDKsは https://mcuxpresso.nxp.com/ から生成しました。 Re: rw612 sdk 26.06 こんにちは、 あなたの調子が良いといいのですが。この現象を再現することができません。 MCUXpressoインストーラーを更新し、すべてのソフトウェアキットが更新されているか確認することをお勧めします。 よろしくお願いいたします。 リカルド Re: rw612 sdk 26.06 こんにちは、 リポジトリのインポートを試していただけますか? よろしくお願いいたします。 リカルド Re: rw612 sdk 26.06 こんにちは、うまくいきましたが、他のSDKを削除してから追加しなければなりません
記事全体を表示