Multi Source Translation Content

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multi Source Translation Content

Discussions

Sort by:
WhisperはNPU上で動作しています こんにちは、 私は95 i.MX でCPUに縛られたささやきを動かしています NPUを使ってプロセッシング速度を上げる方法はありますか?opsetは主にCNN向けのようですが、いずれにせよ聞いてみる価値はあるでしょう。 具体的な例を見たことがないので、可能かどうかは分かりません(NPUはCNN専用のようですが?)。 既にこれをやった人はいますか?何か例はありますか?
View full article
ブート時にはC40を使用してフラッシュメモリを消去し、書き換えます。 こんにちは。ブートローダーでC40チップを使用してフラッシュメモリへの書き込みに問題が発生しています。300KBのバイナリプログラムを作成しているのですが、9番目のデータパケット(2番目のブロック)で頻繁に失敗し、完全に成功する確率は10分の1程度です。C40チップに問題があるかどうか確認していただけないでしょうか?作成中のメインプログラムは… Flash_UnlockSectorIfProtected ( cur_sector ) ; DisableAllInterrupts () ; DisEnableIrq1 () ; if ( Flash_Write ( flash_write_addr + offset , & payload [ 2 ] , FIXED_PACKET_DATA_LEN ) != 0 ) { EnableIrq1 () ; EnableAllInterrupts () ; } EnableIrq1 () ; EnableAllInterrupts () ; Power_Ip_MC_ME_SocTriggerResetEvent(POWER_IP_DEST_RESET_MODE) を使用したリセットに問題がありますか? 8 回試行した後に連続リセットを防ぐにはどうすればよいでしょうか?また、ジャンプにはどの関数を使用すればよいでしょうか? func = * ( uint32_t volatile * )( ADDR_APP + 0xC ) ; func = * ( uint32_t volatile * )((( uint32_t ) func ) + 0x4 ) ; func = (((( uint32_t ) func ) & 0xFFFFFFFF U )) ; // Reset_Handler+1 --> ハードフォールトを回避するために必要 リセットとジャンプの後、以前のプログラムの残留データは残りますか? RAMをクリーンアップする必要はありますか? もし必要なら、どのようにすればよいですか? よろしくお願いいたします。 回复: boot使用C40擦写flash こんにちは@ LJH1 問題を再現できる簡単なデモを提供してください。そうすれば、私もあなたの問題を再現できます。製品プロジェクト全体や、散在するドライバファイルは必要ありません。 回复: boot使用C40擦写flash RTD社は標準バージョンとして4.0.0を使用しています。 回复: boot使用C40擦写flash その後のテストで、C40 の書き込みが断続的に成功していることが判明しました。`status = C40_Ip_MainInterfaceWriteStatus(); ` コマンドは値 2 を返しました。 ErrorFlags = C40_Ip_pFlashBaseAddress -> MCRS & ( FLASH_MCRS_PEG_MASK | FLASH_MCRS_PEP_MASK | FLASH_MCRS_PES_MASK ) ; ErrorFlagsが最終的に0になった場合、エラーを返します。 回复: boot使用C40擦写flash 2つのプログラムをオフラインで書き込むことで、より迅速な再現が可能になります。最初の起動ではアプリに直接ジャンプし、アプリが30秒間点滅してブートモードに入り、消去/書き込みサイクルが1秒間点滅します。これを合計300回繰り返します。問題がなければリセットされ、問題がある場合はオンまたはオフの状態が維持されます。
View full article
6,000枚の画像データセットでeIQツールキットのトレーニング時間を短縮するにはどうすればいいですか? 私はeIQ Toolkitを使って、約6,000枚の画像からなるデータセットで画像分類モデルを訓練しています。目標は 、800KB 未満のTensorFlow Lite(TFLite)モデルを生成し、 MCXN947上で動作させることです。 現在のトレーニング構成は以下の通りです: モデル:MobileNetV2 アルファ: 0.35 剪定:有効 出力形式: TFLite 問題は、トレーニングの完了にほぼ 24時間 かかることです。最終モデルサイズを800KB未満に抑えつつ、トレーニング時間を1〜2時間程度に短縮できるおすすめの設定や最適化があれば知りたいです。 同じような状況に直面した方はいらっしゃいますか?eIQツールキットには、モデルの精度を大きく損なわずにトレーニング時間を短縮したり、モデルサイズを大きく変えたりするベストプラクティスはありますか? 何かご提案があれば大変ありがたいです。ありがとう! FRDMトレーニング MCX N Re: How to Reduce eIQ Toolkit Training Time for a 6,000-Image Dataset? こんにちは、 @sivamankomb さん。 小規模なMobileNetV2-alpha-0.35の移行学習ジョブで、6,000枚以上の画像を24時間かけて実行することは、CPU上でトレーニングが行われている場合、入力サイズが大きい場合、エポックが多すぎる場合、強い動的拡張がある場合、またはトレーニング中ずっとプルノングやQATを行っている場合を除きます。 以下の点を参照できると思います。 CUDAとcuDNNがインストールされ、使用されていることを確認してください。 許容できる精度を維持できる最小の入力解像度を使用してください。224×224を使用している場合は、まず128×128を試してみてください。 固定の長期トレーニングランではなく、低いエポックリミットと早期停止から始めましょう。 初期のトレーニングランでは剪定を無効にし、 展開にはINT8 TFLite量子化を使用します。 最初の速度最適化実行ではQATを避ける。 「強化なし」から始めましょう。 具体的な内容についてはeIQ Toolkitユーザーガイドを参照してください BR ハリー
View full article
i.MX95 OEIおよびDDR PHYファームウェアへのカスタムLPDDR5タイミングの統合に関する説明 NXPチームの皆様、こんにちは。 i.MX9596プロセッサをベースにしたカスタムボードを、i.MX OEIブートローダーを使ってLPDDR5メモリを導入します。 MCUXpresso Config Toolsバージョン26.3を使用して、自作ボード用のDDR構成を生成しました。生成されたファイルは以下のとおりです。 lpddr5_timing.c lpddr5_config.ds ペリフェラル.c ペリフェラル.h pin_mux.c pin_mux.h OEIソースのboards/mx95lp5/ddrディレクトリ内に、以下のファイルが見つかりました。 MIMX95_LPDDR5_EVK_19X19_6400MTS_FW2024.09_timing.c MIMX95_LPDDR5_EVK_19X19_6400MTS_FW2024.09_ECC_enabled_timing.c XIMX95LPD5EVK19_6400mbps_train_timing_a1.c カスタムLPDDR5ボードの正しい統合手順を確認したいのですが。 生成されたlpddr5_timing.cMIMX95_LPDDR5_EVK_19X19_6400MTS_FW2024.09_timing.c の代わりにこれを使用し、OEI_DDR_CONFIG を更新して新しいタイミングファイルを参照するようにしますか? XIMX95LPD5EVK19_6400mbps_train_timing_a1.cはNXPが提供するシリコン専用のトレーニングファイルで、カスタムボードでは変更されないべきでしょうか? OEIは以下のDDR PHYファームウェアバイナリを使用します。 lpddr5_imem_v202409.bin lpddr5_dmem_v202409.bin lpddr5_imem_qb_v202409.bin lpddr5_dmem_qb_v202409.bin これらの同じファームウェアバイナリは、生成されたDDRのタイミング設定とファームウェアバージョンが一致していれば、カスタムLPDDR5ボード上で再利用できますか? ECC対応タイミングファイルは、LPDDR5 ECCが有効になっている場合にのみ必要ですか?カスタムボードでECCを使用しない場合、通常のタイミングファイルで十分でしょうか? EVK DDR構成からカスタムLPDDR5ボードに移行する際に、再生成または変更が必要な追加ファイルがあればお知らせください。 よろしくお願いします。 Re: Clarification on Integrating Custom LPDDR5 Timing into i.MX95 OEI and DDR PHY Firmware Usage こんにちは、 1. はい、MIMX95_LPDDR5_EVK_19X19_6400MTS_FW2024.09_timing.c をカスタム構成に置き換える必要があります。 2. それはそのシリコンリビジョンごとに異なる構成なので、あなたのCASEであれば参考にCAN。この構成を使っていない場合は、そのままにしておいても構いません。 3. はい、これらのバイナリは類似の構成に再利用でき、通常のタイミングファイルで十分で、ECCを使わない場合は十分です。 よろしくお願いいたします。
View full article
マイルストーン搭載のimx8mp h264/h265エンコーダーを緊急募集 mimx8mp h264ビデオエンコーダーはマイルストーンでは実行されません ffprobe -v error -show_streams -i でビデオをテストしたとき 出力の1つにhas_b_frames=2 、SPS/PPSがあり、これがマイルストーンがビデオを表示しない原因になっていると推測されます。 これはHantroエンコーダーによって生成されたものですが、 has_b_frames=0に設定する方法が見つかりませんでした。 他のH264エンコーダーでは問題なく動作します エンコードストリームを に has_b_frames=0 にする方法について教えてください Re: Urgent imx8mp h264/h265 encoder with milestone こんにちは、 @itamarlevit さん。 i.MX8MPでの正確なエンコードコマンド/パイプラインを教えてください。 よろしくお願いします、 志明
View full article
如何缩短 eIQ Toolkit 对包含 6000 张图像的数据集的训练时间? 我正在使用 eIQ Toolkit 训练一个图像分类模型,数据集大约有 6,000 张图像。我的目标是生成一个小于800 KB的 TensorFlow Lite (TFLite) 模型,以便它可以在MCXN947上运行。 我目前的训练配置是: 型号:MobileNetV2 Alpha:0.35 修剪:已启用 输出格式:TFLite 问题在于,整个培训过程需要近24小时才能完成。我想知道是否有任何推荐的设置或优化方法,可以在将最终模型大小保持在800 KB以下的同时,将训练时间缩短到1-2 小时左右。 有人遇到过类似的情况吗?eIQ Toolkit 中是否有任何最佳实践可以在不显著影响模型准确率或增加模型大小的情况下减少训练时间? 任何建议都将不胜感激。谢谢你! FRDM 培训 MCX N Re: How to Reduce eIQ Toolkit Training Time for a 6,000-Image Dataset? 嗨@sivamankomb 对于小型 MobileNetV2-alpha-0.35 迁移学习作业来说,除非训练是在 CPU 上运行、使用较大的输入规模、过多的 epoch、大量的动态增强,或者在整个训练过程中进行剪枝/QAT,否则预计不会出现 24 小时运行约 6,000 张图像的情况。 我认为你可以参考以下内容。 确认已安装并正在使用 CUDA + cuDNN。 使用能够保证可接受精度的最小输入分辨率;如果您使用的是 224×224,请先尝试 128×128。 首先设定较低的训练轮数限制并提前停止,而不是进行固定的长时间训练。 初始训练运行禁用剪枝; 部署时使用 INT8 TFLite 量化; 在第一次速度优化运行中避免使用 QAT; 首先选择“无增强功能”, 具体内容请参阅 eIQ Toolkit 用户指南。 BR 哈里
View full article
关于将自定义 LPDDR5 时序集成到 i.MX95 OEI 和 DDR PHY 固件使用中的说明 您好,NXP团队, 我正在开发一款基于 i.MX9596 处理器和 LPDDR5 内存,并使用 i.MX OEI 引导加载程序的定制电路板。 我使用 MCUXpresso 配置工具 26.3 版为我的定制板生成了 DDR 配置。生成的文件如下: lpddr5_timing.c lpddr5_config.ds 外围设备.c peripherals.h pin_mux.c pin_mux.h 在 OEI 源代码目录 板/mx95lp5/ddr 下,我找到了以下文件: MIMX95_LPDDR5_EVK_19X19_6400MTS_FW2024.09_timing.c MIMX95_LPDDR5_EVK_19X19_6400MTS_FW2024.09_ECC_enabled_timing.c XIMX95LPD5EVK19_6400mbps_train_timing_a1.c 我想确认一下定制LPDDR5板的正确集成流程。 生成的 lpddr5_timing.c是否可以用此文件代替 MIMX95_LPDDR5_EVK_19X19_6400MTS_FW2024.09_timing.c,并更新 OEI_DDR_CONFIG 以引用新的时序文件? XIMX95LPD5EVK19_6400mbps_train_timing_a1.ca 是 NXP 提供的芯片专用训练文件,定制板需要保持不变吗? OEI 使用以下 DDR PHY 固件二进制文件: lpddr5_imem_v202409.bin lpddr5_dmem_v202409.bin lpddr5_imem_qb_v202409.bin lpddr5_dmem_qb_v202409.bin 只要固件版本与生成的 DDR 时序配置匹配,这些相同的固件二进制文件是否可以在定制的 LPDDR5 板上重复使用? 是否只有在启用 LPDDR5 ECC 时才需要启用 ECC 的时序文件?如果定制板上未使用 ECC,则普通时序文件是否足够? 从 EVK DDR 配置迁移到定制 LPDDR5 板时,是否需要重新生成或修改任何其他文件?请告知。 谢谢! Re: Clarification on Integrating Custom LPDDR5 Timing into i.MX95 OEI and DDR PHY Firmware Usage 你好, 1. 是的,您需要将 MIMX95_LPDDR5_EVK_19X19_6400MTS_FW2024.09_timing.c 替换为您的自定义配置。 2. 这是该特定硅片版本的一种不同配置,如果这是你的情况,可以将其用作参考。如果您不使用此配置,则可以保持不变。 3. 是的,这些二进制文件可以重复用于类似的配置,如果您不使用 ECC,则普通的计时文件就足够了。 顺祝商祺!
View full article
reliability data request dear NXP As part of our component evaluation process, we would appreciate receiving the reliability report for the MMX9352XVVXMAC this information is crucial for our design considerations. thank you for your support Re: reliability data request Hi Mike, Thank you for your inquiry. Since you are contacting us using a Gmail address rather than a company email address, could you please provide the following information? Your company name Project details End customer name If you prefer not to share these details here, please feel free to reply directly to the email I sent you. I will need this information when requesting the reliability report from our internal quality team. Thank you in advance for your cooperation. I look forward to your reply. Thank you and have a nice day. Re: reliability data request Dear bar mike,   Thanks for reaching out.   Based on the confirmation: the correct part# should MiMX9352XVVXMAC, not MMX9352XVVXMAC you mentioned.   For the reliability report of MiMX9352XVVXMAC, it is not public, I need to check with our internal quality engineer, will provide it to you once I got it.   Thanks in advance for your patience.  Re: reliability data request Dear mike,    I got our engineers reply, pls advise me if you have signed the NDA (Non disclosure agreement) with NXP?   And we need below information as well.   Your company name Project details End customer name   Look forward to your reply.   Thank you and have a nice day.
View full article
可靠性数据请求 尊敬的恩智浦半导体 作为我们元器件评估过程的一部分,我们希望收到 MMX9352XVVXMAC 的可靠性报告,该信息对我们的设计考虑至关重要。 感谢您的支持 Re: reliability data request 您好,迈克, 感谢您的咨询。 由于您使用的是Gmail地址而不是公司电子邮件地址与我们联系,请您提供以下信息? 您的公司名称 项目详情 最终客户姓名 如果您不希望在此处分享这些细节,请直接回复我发送给您的电子邮件。 我在向内部质量团队索取可靠性报告时需要这些信息。 感谢您的合作。 期待您的回复。 谢谢,祝您愉快。 Re: reliability data request 亲爱的酒吧迈克,   感谢您的联系。   根据确认信息:正确的零件号应为 MiMX9352XVVXMAC, 不是 MMX9352XVVXMAC 你提到了。   对于 可靠性报告 关于 MiMX9352XVVXMAC,它不是公开的,我需要向我们内部的质量工程师确认,一旦我得到它,就会提供给您。   感谢您的耐心等待。 Re: reliability data request 亲爱的迈克,   我收到了我们工程师的回复,请问您是否已与恩智浦半导体签署了保密协议(NDA)?   此外,我们还需要以下信息。   您的公司名称 项目详情 最终客户姓名   期待您的回复。   谢谢,祝您愉快。
View full article
信頼性データ要求 NXP様 部品評価プロセスの一環として、この情報が設計上の考慮事項に不可欠なMMX9352XVVXMAC信頼性報告書をいただけるとありがたいです。 ご支援ありがとうございます Re: reliability data request こんにちは、Mikeさん お問い合わせいただきありがとうございます。 会社のメールアドレスではなく Gmail アドレスでご連絡いただいているので、以下の情報を教えていただけますか? あなたの会社名 プロジェクトの詳細 最終顧客の名前 これらの詳細をここで共有したくない場合は、私が送信したメールに直接返信してください。 この情報は、社内の品質チームに信頼性レポートを依頼する際に必要になります。 ご協力ありがとうございます。 ご返信をお待ちしております。 ありがとうございました。良い一日をお過ごしください。 Re: reliability data request バーマイク様、   ご連絡ありがとうございます。   確認に基づくと、正しい部品番号はMiMX9352XVVXMACです。 ない MMX9352XVVXMAC あなたが言及しました。   MiMX9352XVVXMACの信頼性レポート  は公開されていません。社内の品質エンジニアに確認する必要があります。届い次第お渡しします。   ご理解とご協力に感謝いたします。 Re: reliability data request マイク様、   エンジニアから返信がありましたので、NXP社とNDA(秘密保持契約)を締結済みかどうか教えていただけますでしょうか?   また、以下の情報も必要です。   あなたの会社名 プロジェクトの詳細 最終顧客の名前   ご返信をお待ちしております。   ありがとうございました。良い一日をお過ごしください。
View full article
在 NPU 上运行的 Whisper 你好, 我一直在 i.MX 95 上运行 Whisper,它受限于 CPU 性能。 是否有办法利用NPU来加快处理速度?看起来这个算式集主要是给 CNN 用的,不过还是值得一问。 我没见过任何例子,而且我不确定这是否可行(NPU 似乎只适用于 CNN?) 有人已经做过这件事了吗?有例子吗?
View full article
boot使用C40擦写flash 你好,我这边使用boot里面使用C40写flash大概率失败,我写300K左右的bin程序,经常在第9包数据,也就是第二个块就失败,1/10可能性完整通过,请帮我看一下是不是C40是不是使用有问题,写的主要程序 Flash_UnlockSectorIfProtected(cur_sector); DisableAllInterrupts(); DisEnableIrq1(); if (Flash_Write(flash_write_addr + offset, &payload[2], FIXED_PACKET_DATA_LEN) != 0) { EnableIrq1(); EnableAllInterrupts(); } EnableIrq1(); EnableAllInterrupts(); 我使用Power_Ip_MC_ME_SocTriggerResetEvent(POWER_IP_DEST_RESET_MODE);复位有没有问题,怎么避免8次后连续复位,跳转函数 func = *(uint32_t volatile *)(ADDR_APP + 0xC); func = *(uint32_t volatile *)(((uint32_t)func) + 0x4); func = ((((uint32_t)func) & 0xFFFFFFFFU)); // Reset_Handler+1 --> required to avoid hard fault (* (void (*) (void)) func)();复位和跳转后会不会有之前程序的数据残留,需要清理ram吗,如果需要怎么清理。麻烦了 回复: boot使用C40擦写flash Hi@LJH1 做一个最简单可以复现问题的demo给我,方便我复现你们的问题,我不要你们的完整产品工程或者是零散的驱动文件。 回复: boot使用C40擦写flash RTD公司统一使用的4.0.0 回复: boot使用C40擦写flash 离线烧录两个程序,一起复现快:首次boot直接跳app,app快闪30s进入boot,擦写1s闪烁,一共300次,没问题复位,有问题就常亮或长灭。 回复: boot使用C40擦写flash 后续测试 ,C40写时好时坏        status = C40_Ip_MainInterfaceWriteStatus();status结果等于2; ErrorFlags = C40_Ip_pFlashBaseAddress->MCRS & (FLASH_MCRS_PEG_MASK | FLASH_MCRS_PEP_MASK | FLASH_MCRS_PES_MASK); ErrorFlags最终等于0;返回error
View full article
Urgent imx8mp h264/h265 encoder with milestone using imx8mp h264 video encoder is not run on milestone  when testing the video with ffprobe -v error -show_streams -i one of the output is has_b_frames=2 ,  SPS/PPS  we suspect that this cause milestone not to show the video  it produce by hantro encoder but we didn't find way to set it to has_b_frames=0 it in other h264 encoder that work ok  Need help how we can make the encode stream to has has_b_frames=0  Re: Urgent imx8mp h264/h265 encoder with milestone Hi @itamarlevit  Please provide the exact encoding commands/pipeline on i.MX8MP Best Regards, Zhiming
View full article
急需带里程碑的 imx8mp h264/h265 编码器 使用 imx8mp h264 视频编码器在里程碑版本中未运行。 使用 ffprobe -v error -show_streams -i 测试视频时 其中一项输出是has_b_frames=2 ,SPS/PPS,我们怀疑这是导致里程碑视频无法显示的原因。 它由 Hantro 编码器生成,但我们找不到将其设置为has_b_frames=0 的方法。 它在其他 H264 编码器中运行正常。 需要帮助,如何使编码流具有 has_b_frames=0 属性。 Re: Urgent imx8mp h264/h265 encoder with milestone 嗨@itamarlevit 请提供 i.MX8MP 的确切编码命令/流程。 此致, 志明
View full article
如何将 C++ TFLite 模型集成到基于 C 的 MCUXpresso 项目中? 您好,NXP团队, 我正在将 TensorFlow Lite Micro 模型集成到我的 MCUXpresso 项目中,用于 MCXN947。我的应用程序是用 C 编写的,而 TensorFlow Lite Micro 推理代码和生成的模型是用 C++ 编写的。 在合并 C 和 C++ 源文件时,我遇到了编译和链接问题。我已经尝试使用“extern "C"”,但问题仍然存在。 请问您能否就以下问题提供建议? 在 MCUXpresso 项目中混合使用 C 和 C++ 源文件是否可行? 将 C++ TensorFlow Lite Micro 模型集成到基于 C 的应用程序中的推荐方法是什么? 此集成是否需要任何编译器/链接器设置或参考示例? 任何指导都将不胜感激。谢谢。 开发板 MCX N Re: How to Integrate a C++ TFLite Model into a C-Based MCUXpresso Project? 你好@sivamankomb , 感谢你的帖子。 当然,您可以在 MCUXpresso 项目中混合使用 C 和 C++ 源文件。事实上,我们的 SDK 演示也采用了这种方法。您可以参考 SDK 中包含的几个与 eIQ 相关的示例项目。您可以从“选择开发板 | MCUXpresso SDK 构建器”下载 SDK。 要点如下: - .c文件被编译成 C 代码。 - .cpp文件被编译成 C++ 代码。 - 最终的链接阶段必须使用支持 C++ 运行时和 C++ 符号解析的工具链。 - C 代码只能调用通过 extern "C" 包装器公开的函数,而不能直接包含或使用 TFLM C++ 类、模板或命名空间。 因此,推荐的方法是将 TFLM 推理实现封装在一个 .cpp 文件中。文件仅向 C 应用程序公开与 C ABI 兼容的包装接口。 例如,在 SDK 的 tflm_label_image 演示中,核心 TFLM 推理逻辑在 common/tflm/model.cpp 中实现。此文件使用了 TFLM C++ API,例如: #include "tensorflow/lite/micro/micro_interpreter.h" #include "tensorflow/lite/micro/micro_op_resolver.h" static const tflite::Model* s_model = nullptr; static tflite::MicroInterpreter* s_interpreter = nullptr; extern tflite::MicroOpResolver &MODEL_GetOpsResolver(); 然后创建一个 tflite::MicroInterpreter 实例,并在 MODEL_Init() 中调用 AllocateTensors() 来执行初始化。 外部暴露的模型.h,提供 C 语言友好的接口。 #if defined(__cplusplus) extern "C" { #endif status_t MODEL_Init(void); uint8_t* MODEL_GetInputTensorData(tensor_dims_t* dims, tensor_type_t* type); uint8_t* MODEL_GetOutputTensorData(tensor_dims_t* dims, tensor_type_t* type); void MODEL_ConvertInput(uint8_t* data, tensor_dims_t* dims, tensor_type_t type); status_t MODEL_RunInference(void); const char* MODEL_GetModelName(void); #if defined(__cplusplus) } #endif 函数声明通过 extern "C" 导出,这样 C 源文件就可以简单地 #include "model.h"无需了解 tflite::MicroInterpreter 或 MicroMutableOpResolver 等 C++ 类型,即可调用 MODEL_Init() 和 MODEL_RunInference() 等函数。 这种架构也是我们的 SDK 示例所采用的方法,并且在将 TFLM 集成到基于 C 的应用程序中时通常建议采用这种方法,因为它能够干净利落地隔离 C++ 实现细节,同时为应用程序层保留纯 C 接口。 如果您想将客户 ML 模型集成到 SDK 演示中,您可以参考AN14241 。 希望对您有所帮助。 BR 塞莱斯特
View full article
Whisper running on NPU Hi, I have been running whisper CPU bound on i.MX 95  Is there a way to use the NPU to speed up processing? It seems that the opset is mainly for cnn but worth asking anyway I have not seen any examples, and im not sure it is possible (npu seems cnn only?)  Anyone already did this? are there any examples? 
View full article
C++のTFLiteモデルをCベースのMCUXpressoプロジェクトに統合する方法は? NXPチームの皆様、こんにちは。 私はMCXN947のためにTensorFlow Lite MicroモデルをMCUXpressoプロジェクトに統合しています。私のアプリケーションはCで書かれていますが、TensorFlow LiteのMicro推論コードと生成モデルはC++で書かれています。 C言語とC++のソースファイルを結合する際に、コンパイルとリンクに関する問題が発生しています。既に「extern C」を試してみましたが、問題は解決しません。 以下の点についてアドバイスいただけますか? MCUXpressoプロジェクトでC言語とC++のソースファイルを混在させることは推奨されますか? C++ TensorFlow Lite MicroモデルをCベースのアプリケーションに統合する際の推奨されるアプローチは何ですか? この統合に必要なコンパイラ/リンカの設定や参考例はありますか? 何かご助言いただければ大変ありがたいです。ありがとう。 開発ボード MCX N Re: How to Integrate a C++ TFLite Model into a C-Based MCUXpresso Project? こんにちは、 @sivamankomb さん、 投稿ありがとうございます。 もちろん、MCUXpressoプロジェクトではCとC++のソースファイルを混ぜることも可能です。実際、これは私たちのSDKデモでも使われているアプローチです。参考までに、SDKに含まれるいくつかのeIQ関連の例プロジェクトを確認できます。SDKはSelect Board |MCUXpresso SDK Builder。 要点は以下のとおりです。 - .cファイルはC言語コードとしてコンパイルされます。 - .cppファイルはC++コードとしてコンパイルされます。 - 最終リンクステージでは、C++ランタイムおよびC++シンボル解決をサポートするツールチェーンを使用しなければなりません。 - Cコードは外部の「C」ラッパーを通じて公開された関数のみを呼び出し、TFLM C++のクラス、テンプレート、名前空間を直接含めたり使用したりしてはいけません。 したがって、推奨されるアプローチは、TFLM推論の実装を.cppファイルにカプセル化することです。ファイルを作成し、C アプリケーションに対しては C ABI 互換のラッパーインターフェースのみを公開します。 例えば、SDKのtflm_label_imageデモでは、コアとなるTFLM推論ロジックがcommon/tflm/model.cppで実装されています。このファイルはTFLM C++ APIを使用します。 #include "tensorflow/lite/micro/micro_interpreter.h" #include "tensorflow/lite/micro/micro_op_resolver.h" static const tflite::Model* s_model = nullptr; static tflite::MicroInterpreter* s_interpreter = nullptr; extern tflite::MicroOpResolver &MODEL_GetOpsResolver(); 次に、tflite::MicroInterpreter インスタンスを作成し、MODEL_Init() 内で AllocateTensors() を呼び出して初期化を実行します。 外部に露出したモデル.h、Cに優しいインターフェースを提供します。 #if defined(__cplusplus) extern "C" { #endif status_t MODEL_Init(void); uint8_t* MODEL_GetInputTensorData(tensor_dims_t* dims, tensor_type_t* type); uint8_t* MODEL_GetOutputTensorData(tensor_dims_t* dims, tensor_type_t* type); void MODEL_ConvertInput(uint8_t* data, tensor_dims_t* dims, tensor_type_t type); status_t MODEL_RunInference(void); const char* MODEL_GetModelName(void); #if defined(__cplusplus) } #endif 関数宣言は外部「C」を通じてエクスポートされるため、Cのソースファイルは単に「model.h」#include できます。また、tflite::MicroInterpreterやMicroMutableOpResolverのようなC++型の知識を必要とせずに、MODEL_Init()やMODEL_RunInference()などの関数を呼び出すことができます。 このアーキテクチャは当社のSDK例でも採用されており、CベースのアプリケーションにTFLMを統合する際に一般的に推奨されます。なぜなら、C++の実装の詳細をクリーンに分離しつつ、アプリケーション層の純粋なCインターフェースを保持できるからです。 顧客のMLモデルをSDKデモに統合したい場合は、AN14241を参照してください。 お役に立てば幸いです。 BR セレステ
View full article
HowTo: AutoStartedServicesConfigurationwithS32GBSP Introduction When working with a Yocto-based root filesystem generated from an NXP BSP release, such as BSP43, several system services are configured to start automatically during system boot. These default services provide essential platform functionality and ensure that the Linux system is operational immediately after startup. In many real-world applications, however, customers often need to launch their own applications, scripts, or background services automatically. Typical use cases include initializing peripheral devices, starting communication stacks, launching monitoring applications, collecting diagnostic information, or executing periodic maintenance tasks after the system has booted. This document provides a step-by-step example demonstrating how to configure and manage custom auto-start services in a Yocto-based Linux system. The examples included in this guide are intended as a reference implementation and can be further customized to meet specific project requirements. By default, BSP43 is based on Yocto 4.0.21 and includes the systemd service manager. Therefore, the examples presented in this document are implemented using standard systemd service and timer mechanisms. The following sample scenarios are covered: • Auto-start a one-time script during system boot. • Run a periodic script every 10 seconds, with the first execution delayed until 20 seconds after system startup. By understanding these examples, customers can easily adapt the demonstrated techniques to implement their own startup procedures and background tasks within a Yocto-integrated production environment. S32G
View full article
Implementing MCUboot Using SEC Tool This video is currently being processed. Please try again in a few minutes. (view in My Videos) announcement
View full article
Implementing Dual Image boot Using SEC Tool (function() { var wrapper = document.getElementById('lia-vid-6400987003112w960h540r421'); var videoEl = wrapper ? wrapper.querySelector('video-js') : null; if (videoEl) { if (window.videojs) { window.videojs(videoEl).ready(function() { this.on('loadedmetadata', function() { this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) { bar.setAttribute('role', 'presentation'); bar.setAttribute('aria-hidden', 'true'); }); }); }); } }})(); (view in My Videos) announcement
View full article