Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
Fee's first read program crashed I'm using the FEE function of an S32K311 microcontroller to store data. FEE tests for erasing and writing work fine, but on the first read attempt, without any data written, it fails to load and crashes. Similar to the C40, the first read returns 0xFF, which I can use to identify the first read/write operation and fill in the default value. Is there a way to make the first FEE return a value like 0xFF instead of crashing? I'm using RTD 4.0.0. Re: Fee首次读取程序跑飞 Hi@ LJH1 The first time you call Fee_Read(), you don’t have to write to it first. However, if the block has never been written to, the read job is likely to return MEMIF_BLOCK_INVALID or MEMIF_BLOCK_INCONSISTENT. The application layer should be able to treat it as “uninitialized” and then write the default value. Do not rely on reading valid data directly on the first read; the correct approach is to check the job result after reading, and initialize default values and write them when invalid/inconsistent data is encountered. Senlent_0-1783662229362.png
查看全文
在 i.MX8M Plus 和 TIM-VX/VSINPU 上,GC7000UL 通用计算推理路径似乎仅支持 NPU。 板/电路板支持包。: i.MX8M Plus,aarch64 Galcore 版本 6.4.11.p2.745085 ONNX 运行时,带有 VSINPUExecutionProvider(静态链接到 libtim-vx.so) Vivante OpenCL ICD 已存在且功能正常(Vivante.icd → libVivanteOpenCL.so) 目标: 专门在 GC7000UL 3D GPU 核心上运行 ResNet50 推理基准测试(MLPerf loadgen 测试框架),以便与已收集的现有 NPU(VIP8000Nano)和 CPU 基准测试结果进行比较。 已确认有效的功能: 通过 Vivante OpenCL ICD 使用 clGetPlatformIDs/clGetDeviceIDs 可以清晰地枚举同一平台下的两个独立设备: 设备 0:GC7000UL.6204.0000 设备 1:VIP8000Nano-S+I.8002.0000 两者都报告 CL_DEVICE_TYPE_ACCELERATOR,没有错误,通过链接到 libOpenCL.so → libGAL.so 的最小 C 测试程序确认。 是什么阻碍了通过 ORT 进行 GPU 调度: ort.get_available_providers() 仅返回 ['VSINPUExecutionProvider', 'CPUExecutionProvider'] — 没有基于 OpenCL 的 EP。 VSINPUExecutionProvider 静态链接到 libtim-vx.so(OVXLIB/vsi_nn_* API)。libtim-vx.so 和 libGAL.so 的符号/字符串转储显示没有 DEVICE_INDEX/DEVICE_ID 风格的环境变量或配置表面——只有行为切换(VIV_VX_ENABLE_SHADER、VSI_NN_ENABLE_* 等)。 libGAL.so 确实在原始 HAL 层导出了 gcoHAL_SetDeviceIndex/gcoHAL_GetCurrentDeviceIndex,但是从 OVXLIB/TIM-VX 到该调用没有明显的管道,这表明 VSINPU 使用的图形编译器可能被硬编码为仅针对 NPU 核心,而不管设备索引如何。 具体问题: 此电路板支持包 (galcore 6.4.11.p2) 上的 TIM-VX / OVXLIB 是否支持将图编译并分发到 GC7000UL 作为通用计算目标?或者,此版本中的图编译器是否设计为仅限 NPU?我如何验证是否可以以这种方式运行它? 如果 TIM-VX 上游支持 GPU 目标图编译,但 NXP 提供的版本中未启用,是否有构建标志/SDK 元器件可以启用它? 如果无法通过 TIM-VX/ORT 获得支持,NXP 是否有推荐的方法可以直接在 GC7000UL 上运行通用推理(例如通过 OpenCL/OpenVX 层,因为该部分协议栈已被确认功能正常),或者是否有示例应用程序、SDK 组件或参考实现可供我们参考? 我目前是一名学生,正在尝试进行这项实现,并在 GPU 上运行 ORT,请问是否有任何方法或途径可以使用 GPU 进行推理? 非常感谢 IMX8MPLUS #GC7000UL Re: GC7000UL general-compute inference path on i.MX8M Plus and TIM-VX/VSINPU appears NPU-only 嗨@WaleedO , 感谢您联系恩智浦技术支持。 要在 GPU 上运行推理,您应该使用 GPU 委托,它允许由 GPU 加速支持的操作,而不是完全在 CPU 上运行。 我建议您查看我们的机器学习用户指南,以便更好地了解可用的执行后端、委托配置、支持的框架和示例应用程序。该指南还包含逐步示例,可以帮助您验证 GPU 委托是否已正确加载以及您的模型是否按预期执行。 如果在安装或执行过程中遇到任何问题,请分享您的模型、BSP 版本以及您正在使用的命令,我将很乐意为您提供进一步的帮助。 此致, 亚历杭德罗·加西亚 Re: GC7000UL general-compute inference path on i.MX8M Plus and TIM-VX/VSINPU appears NPU-only 你好@Chavira 很高兴见到你。 查阅文档后发现,GPU 委托和 OpenCL 路径是在 i.MX 95/952 GPU(Arm Mali G310)中使用。我目前正在研究IMX8MPLUS。IMX8M Plus 的架构如下:VX 代理 ==> TIM-VX ==> GPU/NPU(统一驱动程序) ==> I.MX 8 系列 NPU 和 GPU(GC7000、GC7000L、GC7000UL)。根据文件记载。 目前我正在使用 ONNX 和 ORT。当我运行该程序时,它默认在 NPU 上运行。是否有办法使用 OpenCL 在IMX8MPLUS GPU 上工作?或者是否有任何手动覆盖或我可以实现的技术,以便我可以手动将编译目标设置为 NPU 或/和 GPU? 非常感谢您的回复。 亲切的问候, IMX8MPLUS #TIM-VX #VX-delegate
查看全文
s32k144 - デバイスは保護されています チームの皆さん、こんにちは。 私はS32K114(AN12323)プロジェクトに取り組んでいます。最初は、 CSECを無効にした状態でGatewayプロジェクトをフラッシュしたところ、プログラミングは成功しました。 その後、 CANの例アプリケーションをフラッシュしようとしましたが、以下のエラーに遭遇しました: 「デバイスは安全です。データを消去して安全性を解除してください。」 問題を解決するために 「緊急Kinetisデバイス回復」 オプションも試しましたが、効果がありませんでした。 CANの例をフラッシュするために、デバイスの復元方法やセキュア状態を解除する方法を教えていただけますか? Re: s32k144 - Device is secured こんにちは、 @Senlent さん。 どのようなシナリオでリセット信号周期が約118μsになるのか、また私の場合、どのような要因で約475μsまで増加するのでしょうか?     ありがとうございます。 Re: s32k144 - Device is secured こんにちは、@ Pranathi06 リセット信号周期が約118µsではなく、200µsより長く、例えば500µsまたはそれ以上の場合、 MCUはSWD/JTAGデバッグインターフェースのマスイレーズコマンドによる復号・復号はできません。 Re: s32k144 - Device is secured こんにちは、 @Senlentさん 私はオシロスコープを使ってRESET_bピンの波形を測定しました。 RESET_b信号は連続的にトグルしています。 パルスの繰り返し周期はおよそ400~500µsのようです(カーソルはΔt ≈ 475µsを示しています)。 ピークレベルは約 5Vで、3.3V MCUピンを直接測定するのではなく外部リセット回路を探っている可能性や、RESET時に5Vへのプルアップがある可能性を示唆しています。 リセット活動は継続的かつ定期的に行われる。   よろしくお願いします。         Re: s32k144 - Device is secured こんにちは、@Pranathi06 「S32K144_FOTA_GATEWAY」コマンドはCSEcやフラッシュのセキュリティ操作を含んでいないので、あなたがMCUに何をしたのかはわかりません。 リセットピンの波形を測定してリセットサイクルを教えてもらえます。 リセットサイクルはチップが正常動作に復旧できるかどうかを判断するために使えます。 Re: s32k144 - Device is secured こんにちは、 @Senlent さん。 はい、「S32K144_FOTA_Gateway」は正常にフラッシュしましたが、その時にプロジェクトをフラッシュしようとしたとき、「デバイスは保護済み」Can_example、その後はどのソフトウェアもフラッシュできなくなりました。 よろしくお願いします。 Re: s32k144 - Device is secured こんにちは、@ Pranathi06 問題は「S32K144_FOTA_Gateway」プログラムのダウンロード中に発生していますか、それとも既に「S32K144_FOTA_Gateway」の書き込みに成功していますか? Re: s32k144 - Device is secured こんにちは、 @Senlentさん     キーを消去するために、AN5401_S32K144_CSEc_Resetting_Flash_to_Factory_State をフラッシュしました。その後、GATEWAY_PROJECTのみをフラッシュし、Memory_Partitionプロジェクトはフラッシュしませんでした。 ありがとうございます。   Re: s32k144 - Device is secured こんにちは、@ Pranathi06 「GATEWAY_PROJECTをフラッシュする前に、「フラッシュを状態にリセット」をフラッシュしました」 あなたの言っている意味が分かりません。 AN12323SWには「フラッシュを状態にリセットする」プログラムがありません。 あなたの話からすると、「S32K144_FOTA_Gateway」を変更したということですか? プログラムがCSEcモジュールを有効にしてキーを割り当てているか、そしてアプリケーション内でCSEcモジュールを工場出荷時の状態に戻すことを検討しているかを確認する必要があります。 そうでなければ、この状況は回復不可能となる。 Re: s32k144 - Device is secured こんにちは、 @Senlentさん Memory_partitionプロジェクトをフラッシュしませんでした。 GATEWAY_PROJECTをフラッシュする前に、「フラッシュを状態にリセット」をフラッシュしました。 復旧するための解決策はありますか? ありがとうございます。 Re: s32k144 - Device is secured こんにちは、@ Pranathi06 この問題は、「S32K144_FOTA_Gateway」で「CSEC」が有効になっているかどうかとは関係ありません。AN12323SWをテストする場合、最初のステップとして「S32K144_Memory_Partition」をダウンロードして実行し、パーティショニングを実行する必要があります。このツールはデフォルトでCSECを有効にし、キーを割り当てます。 Senlent_0-1783587478752.png AN12130: Senlent_1-1783587519720.png これがMCUがロックされている理由です。 解はリセットCSEC操作を提供しないため、復元できません。 次回は、「S32K144_Memory_Partition」をパーティション分割のみに変更し、CSECやキーを有効にしないようにしてください。 Re: s32k144 - Device is secured こんにちは、@ Pranathi06 これは経験に基づいたもので、あなたの状況も非常によく似ています。CSEcハードウェア暗号化モジュールが有効になっていたため、CSEc暗号化キーの一括消去が妨げられ、それが問題の原因となったのです。 チップはデッドロックされており、MCUはプログラムのダウンロードやデバッグができなくなりますが、チップの電源が正常であれば、J-LINKデバッガを使ってS32K1xxシリーズMCU ARM Cortex M4F/M0+のCoreSight DAPデバッグアクセスインターフェースに接続し、SWD/JTAGデバッグインターフェースを介してMDM-APステータスレジスタを読み取ることができます。 したがって、MDM-APの状態レジスタの読み取り値に基づいてチップデッドロックの根本原因を特定できます。 もしデッドロックの原因を特定する手助けが必要なら、 J-LINK を使って MDM-APステータスレジスタを読み取ってみるといいですよ。
查看全文
MC34GD3000 VPWRが24 Vの場合のゲートドライブ出力電圧レベル こんにちは、NXPコミュニティの皆さん、 このMC34GD3000を使って24V、26Wのモーターを駆動する予定です。 多くの参考回路や例では、MC34GD3000のVPWR電源はモーター電源と同じ電源電圧に接続されているように見えます。私の用途では、モーターの電源電圧は24Vなので、MC34GD3000のVPWRも24Vになります。 MC34GD3000のゲート駆動出力電圧レベルについて確認させてください。 データシートの絶対最大定格表には、次のような値が記載されていました。 - PX_HS_G~PX_HS_S:3.0V~16.5V - PX_LS_G~PX_LS_S:3.0V~16.5V - PX_BOOTからPX_HS_Sまで:3.0V~16.5V 私の質問は次のとおりです。 VPWRが24Vの場合、MC34GD3000の実際のPWMゲートドライブ出力電圧レベルはどのくらいですか? VPWRが24Vであるためゲートドライブ出力は24Vになるのでしょうか、それとも各MOSFETソースノードに対してゲートドライブ出力は最大約16.5Vに制限されるのでしょうか? 例えば、ローサイドMOSFETの場合、PX_LS_GからPX_LS_Sへの駆動は24Vではなく約15Vまで駆動されるということを理解しておくべきでしょうか? ハイサイドMOSFETについては、PX_HS_Gは位相ノードより上に駆動されるものの、ゲート・ソース間電圧PX_HS_GからPX_HS_Sまでは依然として約15Vに制限される、と理解してよろしいでしょうか? ご確認いただければ幸いです。 よろしくお願いします。 BLDCドライバー Re: MC34GD3000 gate drive output voltage level when VPWR is 24 V こんにちは、 はい、あなたの理解は正しいです。VPWRが24Vモーター電源に接続されていても、MC34GD3000はMOSFETゲートをソース端子に対して24Vに駆動しません。このデバイスは、約15Vに安定化された内部ゲート駆動電源(VLS)を生成します。 ErikaC_1-1783696364130.png ErikaC_0-1783696304074.png そのため、 ローサイドMOSFETの場合、PX_LS_GはPX_LS_Sより約15V高い電圧で駆動されます。 ハイサイドMOSFETでは、PX_HS_Gは位相ノードの上をブートストラップ回路を通じて駆動されますが、ゲート対ソース電圧PX_HS_G−PX_HS_Sは約15Vのままです。 ErikaC_2-1783696431300.png データシートに示されている制限(PX_HS_GからPX_HS_S、PX_LS_GからPX_LS_S)は、実効的なゲート対ソースドライブ電圧を表し、ゲートドライブが24V VPWR電源と等しくないことを示しています。 お役に立てば幸いです!
查看全文
Imx6ull KSZ8041NLイーサネットの問題 こんにちは 、 私たちの潜在的なプロジェクトの一つにデュアルイーサネットを利用するために、Imx6ullプロセッサを搭載した2つのイーサネット物理線を接続しました。 一方のPHYはKSZ8081、もう一方のPHYはKSZ8041です。以下は当社のDTS構成です。 &fec1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet1>; phy-mode = "rmii"; phy-handle = <&ethphy0>; phy-reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; phy-reset-duration = <26>; phy-reset-post-delay=<20>; phy-supply = <&reg_peri_3v3>; ステータス = "正常"; }; &fec2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet2>; phy-mode = "rmii"; phy-handle = <&ethphy1>; phy-reset-gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; //phy-reset-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>; phy-reset-duration = <26>; phy-reset-post-delay=<20>; phy-supply = <&reg_peri_3v3>; ステータス = "正常"; mdio { #address-cells = <1>; #size-cells = <0>; ethphy0: イーサネット-phy@1 { reg = <1>; micrel、LEDモード = <1>; クロック = <&CLKS IMX6UL_CLK_ENET_REF>; クロックネーム = 「rmii-ref」; }; ETHphy1: イーサネットphy@3 { reg = <3>; micrel、LEDモード = <1>; クロック = <&clks IMX6UL_CLK_ENET2_REF>; クロックネーム = 「rmii-ref」; }; }; }; pinctrl_enet1: enet1grp { fsl、pins = < MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN 0x1b0b0 MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER 0x1b0b0 MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x1b0b0 MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x1b0b0 MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN 0x1b0b0 MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x1b0b0 MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x1b0b0 MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x4001b031 >; }; pinctrl_enet2: enet2grp { fsl、pins = < MX6UL_PAD_GPIO1_IO07__ENET2_MDC 0x1b0b0 MX6UL_PAD_GPIO1_IO06__ENET2_MDIO 0x1b0b0 MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN 0x1b0b0 MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER 0x1b0b0 MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00 0x1b0b0 MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01 0x1b0b0 MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN 0x1b0b0 MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00 0x1b0b0 MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01 0x1b0b0 MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2 0x4001b031 >; }; イーサネットの物理はカーネルログで検出され、イーサネットケーブルを接続するとリンクも検出されています。 しかしIPはKSZ8081物理に接続されているイーサネットに届き、IPはKSZ8084NLに接続されているイーサネットに割り当てられていません。 そして、イーサネットKSZ8041NL eth0でrxエラーが観察されます。以下のログは以下の通りです: root@sls-IMX6ull14X14evk:~# ifconfig eth0 リンク encap:イーサネット HWaddr BA:9C:69:1F:76:3A UP放送マルチキャスト MTU:1500 メトリック:1 RXパケット:0 エラー:1065 ドロップ:0 オーバーラン:0 フレーム:1065 送信パケット数:65 エラー数:0 ドロップ:0 オーバーラン数:0 キャリア:0 衝突:0 TCキューレン:1000 RXバイト:0(0.0 B) TX バイト:12024(11.7 KiB) eth1 リンク encap:イーサネット HWaddr 42:19:11:7F:5E:89 inet addr:10.20.0.184放送日時: 10.20.1.255マスク:255.255.254.0 inet6 アドレス: fe80::8248:9837:9647:2a00/64 スコープ:リンク UP ブロードキャスト実行中 マルチキャスト MTU:1500 メトリック:1 受信パケット数:18 エラー数:0 ドロップ数:0 オーバーラン数:0 フレーム数:0 送信パケット数:23 エラー数:0 ドロップ数:0 オーバーラン数:0 キャリア数:0 衝突回数:0 txqueuelen:1000 RX バイト:2494 (2.4 KiB) TX バイト:3162 (3.0 KiB) lo Link encap:ローカルループバック インターネットアドレス: 127.0.0.1マスク:255.0.0.0 inet6 アドレス: ::1/128 スコープ:ホスト UPループバック実行中 MTU:65536 メトリック:1 受信パケット数:17 エラー数:0 ドロップ数:0 オーバーラン数:0 フレーム数:0 送信パケット数:17 エラー数:0 ドロップ数:0 オーバーラン数:0 キャリア数:0 衝突回数:0 txqueuelen:1000 RX バイト:2011 (1.9 KiB) TX バイト:2011 (1.9 KiB)   root@sls-IMX6ull14x14EVK:~# ethtool eth0 eth0の設定: 対応ポート:[TP MII ] 対応リンクモード:10baseT/Half、10baseT/Full。 100ベースT/ハーフ 100ベースT/フル サポートされる一時停止フレーム使用:対称 自動交渉を支持:はい 対応FECモード:報告されていません 広告リンクモード:10baseT/ハーフ 10baseT/フル 100ベースT/ハーフ 100ベースT/フル 広告される一時停止フレームの使用:対称 広告された自動交渉:はい 広告されたFECモード:報告されていません リンクパートナーが宣伝しているリンクモード:10baseT/Half、10baseT/Fullです 100ベースT/ハーフ 100ベースT/フル リンクパートナーが一時停止を提示したフレーム使用:いいえ リンクパートナーが自動交渉を宣伝していました:はい リンクパートナーがFECモードを広告している:報告されていません 速度:100Mb/s デュプレックス:フル 自動交渉:オン 移植版:ツイステッドペア ファイアド:3 トランシーバ:外部 MDI-X:不明 ウェイクオン支援:g ウェイクオン:d リンク検出:はい   また、50MHzのクロックも確認しましたが、これは適切に生成され、PHY KSZ8041NLにも入力されています。 要するに、1本のイーサネットは正常に動作していますが、2本目のイーサネットは正常に動作KSZ8081 KSZ8041NL。 解決策をご提案ください。参考までに、両方のイーサネット物理ハードウェアのスクリーンショットも添付しています。 image (1).png image (2).jpg i.MX6 全て i.MX6UL Re: Imx6ull KSZ8041NL ethernet issue NXPチームの皆様、こんにちは。 問い合わせ内容について、何か最新情報があれば教えていただけますか? Re: Imx6ull KSZ8041NL ethernet issue こんにちは、NXPサポートチームの皆さん、 私たちはすでに、私たちが直面しているイーサネットの問題について詳細を共有しています。 ですので、あなたの側で確認して、何か解決があれば教えていただけますか? 必要であれば、お電話にて貴社チームと問題について話し合うことも可能です。 貴社チームからの良いフィードバックをお待ちしております。 よろしくお願いいたします。 リテシュ・プラジャパティ Re: Imx6ull KSZ8041NL ethernet issue こんにちは@HarshilSoni434 @ritesh_prajapat お元気でお過ごしのことと思います。 KSZ8041の回路図のストラップオプションを見てみましょう。 Manuel_Salas_0-1785172670273.png 分離モード:プルアップ(デフォルト)=有効 プルダウン= 無効にする PHYは、RMIIデータピン(RXD0、RXD1、CRS/DV、RX_ER、TXD0、TXD1、TX_EN)をMACから切り離します。 MDIO/MDCは完全に機能しており、PHYも検出され、リンクパルスも生成されています。おそらくこれが、PHYが検出され、リンクがアップ状態に見える理由でしょう。 ISOLATEピンのR37をプルアップ抵抗 (~4.7kΩからGND)に変更してみてもらえますか? 次に確認すべき点はリセットピンです。リセットが正しくアサルされているか確認していただけますか? そして、reset_n信号が以下の接続点に合っているかを確認してください: phy-reset-gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; //phy-reset-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>; 次に、CONFIG[2:0] RMII のストラップが物理的に正しく接続されていることを確認してください。 また、KSZ8041の回路図の信号マッピング表には、次の情報が記載されています。 Manuel_Salas_1-1785173206995.png ネット名が入れ替わっているように見えます(MDCはenet_mdioとラベル付けされ、その逆も同様です)。 よろしくお願いいたします。 サラス。 Re: Imx6ull KSZ8041NL ethernet issue @Manuel_Salasさん、ご提案いただきありがとうございます。 お客様からいただいたご提案事項はすべて確認し、結果は大体本日中にご報告いたします。 よろしくお願いいたします。 リテシュ・プラジャパティ Re: Imx6ull KSZ8041NL ethernet issue こんにちは@Manuel_Salas ご返信ありがとうございます。 ご提案通り、プルダウン抵抗の変更を行い、イーサネットの通信も確認しましたが、残念ながら挙動は同じです。 IPネゴシエーション中にRXエラーが発生しています。 また、以下の点についても確認いたしました。 - リセットピンは、imx6ullのピン接続に基づいて適切です。リセットラインに手動でパルスを印加したところ、PHY(KSZ8041NL)はリセットされましたが、動作は同じでした。 - MDIOとMDCのピンの入れ替わりは回路図上の問題であり、実際のハードウェアでは接続は正しく行われています。 つまり、変更後も動作は同じで、両方のPhyは検出されますが、IPはKSZ8081と共に出ていて、KSZ8041NLでは検出されません。以下は更新されたログです: root@sls-IMX6ull14x14evk:~# DMESG |グレップFEC [ 2.124528] FEC 20B4000.イーサネット eth0: 登録済みPHCデバイス0 [ 2.207221 FEC 2188000.イーサネット eth1: 登録済みPHCデバイス1 [ 72.966866] fec 20b4000.イーサネット eth0: リンクは稼働中 - 100Mbps/フル - フロー制御はオフ root@sls-IMX6ull14x14evk:~# DMESG |グレップ eth0 [ 2.124528] FEC 20B4000.イーサネット eth0: 登録済みPHCデバイス0 [ 72.966866] fec 20b4000.イーサネット eth0: リンクは稼働中 - 100Mbps/フル - フロー制御はオフ root@sls-IMX6ull14X14evk:~# ifconfig eth0 リンク encap:イーサネット HWaddr 26:F5:A6:8C:73:42 inet6 addr: FE80::F2af:2D7A:228C:2038/64 Scope:Link UP放送 マルチキャスト実行 MTU:1500 メトリック:1 RXパケット:0 エラー:63 ドロップ:0 オーバーラン:0 フレーム:63 送信パケット:12 エラー:0 ドロップ:0 オーバーラン:0 キャリア:0 衝突:0 TCキューレン:1000 RXバイト:0(0.0 B) TX バイト:2093(2.0 KiB) eth1 リンク encap:イーサネット HWaddr 22:81:A6:66:8C:3A UP放送マルチキャスト MTU:1500 メトリック:1 RXパケット:0 エラー:0 ドロップ:0 オーバーラン:0 フレーム:0 TXパケット:0 エラー:0 ドロップ:0 オーバーラン:0 キャリア:0 衝突:0 TCキューレン:1000 RXバイト:0(0.0 B) TX バイト:0(0.0 B) lo Link encap:ローカルループバック inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host ループバックを走らせる MTU:65536 メトリクス:1 RXパケット:91 エラー:0 ドロップ:0 オーバーラン:0 フレーム:0 送信パケット数:91 エラー:0 ドロップ:0 オーバーラン:0 キャリア:0 collisions:0 txqueuelen:1000 RXバイト:7797(7.6 KiB) TX バイト:7797(7.6 KiB) root@sls-IMX6ull14x14EVK:~# ethtool eth0 eth0の設定: 対応ポート:[TP MII ] 対応リンクモード:10baseT/Half、10baseT/Full。 100ベースT/ハーフ 100ベースT/フル サポートされる一時停止フレーム使用:対称 車載交渉を支持:はい 対応FECモード:報告されていません 広告リンクモード:10baseT/ハーフ 10baseT/フル 100ベースT/ハーフ 100ベースT/フル 広告される一時停止フレームの使用:対称 広告された車載交渉:はい 広告されたFECモード:報告されていません リンクパートナーが宣伝しているリンクモード:10baseT/Half、10baseT/Fullです 100ベースT/ハーフ 100ベースT/フル リンクパートナーが一時停止を提示したフレーム使用:いいえ リンクパートナーが車載交渉を宣伝していました:はい リンクパートナーがFECモードを広告している:報告されていません 速度:100Mb/s デュプレックス:フル 車載交渉:オン 移植版:ツイステッドペア ファイアド:0 トランシーバ:外部 MDI-X:不明 ウェイクオン支援:g ウェイクオン:d リンク検出:はい ぜひご提案をお願いします。 Re: Imx6ull KSZ8041NL ethernet issue こんにちは、 @Manuel_Salas さん さらにイーサネットFECドライバ fec_main.Cへのデバッグも行いましたRXエラーの根CASEを特定するために。 その結果、ドライバがCRCの不一致エラー BD_ENET_RX_CRのためにすべてのrxパケットを無視していることがわかりました。 SO これを踏まえて、問題解決のためのご提案をお願いします。 Re: Imx6ull KSZ8041NL ethernet issue こんにちは、 @Manuel_Salas さん、 前回の観察結果に基づくと、何か最新情報はありますか? CRCエラーのため、すべての受信パケットが無視されることを改めてお知らせします。SO、何がその原因になり得るCANでしょうか? Re: Imx6ull KSZ8041NL ethernet issue こんにちは、 @Manuel_Salas さん、 おはよう、 すでに共有された問題に関する直近のアップデート@HarshilSoni434確認する機会はありましたか?CRCミスマッチの受信パケットの正確な問題を絞り込むために、何か手がかりや追加の発見があれば教えていただけませんか? 弊社側で何か情報が必要な場合はお知らせください。 よろしくお願いいたします。 リテシュ・プラジャパティ
查看全文
Feeの最初の読み取りプログラムがクラッシュしました S32K311マイクロコントローラのFEE機能を使用してデータを保存しています。消去と書き込みのFEEテストは正常に動作しますが、データが書き込まれていない状態での最初の読み出し試行で、ロードに失敗してクラッシュします。C40と同様に、最初の読み出しでは0xFFが返されるため、これを使用して最初の読み書き操作を識別し、デフォルト値を設定できます。最初のFEEでクラッシュする代わりに0xFFのような値を返すようにする方法はありますか?RTD 4.0.0を使用しています。 Re: Fee首次读取程序跑飞 こんにちは@ LJH1 Fee_Read() を初めて呼び出す場合、事前に書き込みを行う必要はありません。ただし、ブロックに一度も書き込みが行われていない場合、読み取り処理は MEMIF_BLOCK_INVALID または MEMIF_BLOCK_INCONSISTENT を返す可能性があります。アプリケーション層は、これを「未初期化」として扱い、デフォルト値を書き込む必要があります。 最初の読み取りで有効なデータを直接読み取ろうとしないでください。正しい方法は、読み取り後にジョブの結果を確認し、無効なデータや矛盾したデータが見つかった場合はデフォルト値を初期化して書き込むことです。 Senlent_0-1783662229362.png
查看全文
i.MX8M PlusおよびTIM-VX/VSINPU上のGC7000UL汎用演算推論パスはNPU専用であるように見える 理事会/BSP: i.MX8M Plus、aarch64 Galcore バージョン 6.4.11.p2.745085 VSINPUExecutionProviderを用いたONNXランタイム(libtim-vx.so に対して静的リンク) Vivante OpenCL ICDの存在と機能(Vivante.icd → libVivanteOpenCL.so) 目標: GC7000UL 3D GPUコア上でResNet50推論ベンチマーク(MLPerfロードゲンハーネス)を実行し、既存のNPU(VIP8000Nano)やCPUベンチマークの結果と比較します。 動作確認済みの項目: Vivante OpenCL ICDを経由したclGetPlatformIDs/clGetDeviceIDsは、1つのプラットフォーム上で2つの独立したデバイスをきれいに列挙します。 デバイス0:GC7000UL.6204.0000 デバイス1:VIP8000Nano-S+I.8002.0000 両者とも、CL_DEVICE_TYPE_ACCELERATORを報告し、エラーはなく、libOpenCL.so → libGAL.so と連携した最小限のCテストプログラムで確認されました。 ORT経由でGPUディスパッチを妨げている原因: ort.get_available_providers()は['VSINPUExecutionProvider', 'CPUExecutionProvider']のみを返します — OpenCLベースのEPはありません。 VSINPUExecutionProviderは静的にリンク libtim-vx.so(OVXLIB/vsi_nn_* API)です。libtim-vx.so と libGAL.so の両方のシンボル/文字列ダンプでは、DEVICE_INDEX/DEVICE_IDスタイルのenv varやconfig surfaceは表示されず、動作の切り替え(VIV_VX_ENABLE_SHADER、VSI_NN_ENABLE_*など)のみが表示されます。 libGAL.so 生のHALレイヤーでgcoHAL_SetDeviceIndex/gcoHAL_GetCurrentDeviceIndexをエクスポートしますが、OVXLIB/TIM-VXからその呼び出しまでの配管は見当たりません。これは、VSINPUが使うグラフコンパイラがデバイスインデックスに関係なくNPUコアのみをターゲットにしている可能性を示唆しています。 具体的な質問: このBSP(galcore 6.4.11.p2)上のTIM-VX / OVXLIBは、グラフをコンパイルして一般的な計算対象としてGC7000ULにディスパッチするのをサポートしているのでしょうか?それともこのビルドではグラフコンパイラは設計上NPUのみ対応されているのでしょうか?また、その方法で実行可能かどうかはどうやって確認すればよいのでしょうか? もしTIM-VXの上流でGPUターゲットグラフコンパイルがサポートされているのに、このNXP搭載ビルドでは有効になっていない場合、それを公開するビルドフラグやSDKコンポーネントはありますか? TIM-VX/ORTを通るサポート済みの経路がない場合、NXPが推奨する汎用推論をGC7000UL上で直接実行する方法(例えばOpenCL/OpenVXレイヤー経由、その部分は機能が確認されているため)やサンプルアプリ、SDKコンポーネント、または参照実装などを基準に構築する方法はありますか? 現在学生で、この実装に取り組みながらGPUの上にORTを動かそうとしているのですが、GPUを使って推論できる方法、あるいは他に何か方法はありますか? どうもありがとうございます。 IMX8MPLUS #GC7000UL Re: GC7000UL general-compute inference path on i.MX8M Plus and TIM-VX/VSINPU appears NPU-only こんにちは、 @WaleedO さん。 NXPサポートまでご連絡いただきありがとうございます。 GPU上で推論を実行するにはGPUデリゲートを使うべきで、これを使うとサポートされた操作をCPUだけで動作するのではなくGPUで加速できます。 利用可能な実行バックエンド、設定の委任、サポートフレームワーク、例のアプリケーションをよりよく理解するために、 Machine Learning ユーザーガイド の確認をお勧めします。ガイドには、GPUデリゲートが正しく読み込まれているか、モデルが期待通りに動作しているかを確認するためのステップバイステップの例も含まれています。 セットアップや実行中に問題が発生した場合は、モデル、BSPバージョン、使用しているコマンドを共有していただければ、喜んでサポートいたします。 よろしくお願いします、 アレハンドロ・ガルシア Re: GC7000UL general-compute inference path on i.MX8M Plus and TIM-VX/VSINPU appears NPU-only こんにちは、 @Chavira はじめまして。 ドキュメントを確認すると、GPUデリゲートとOpenCLパスは95/952 GPU(Arm Mali G310)内で i.MX 使われています。現在、『The IMX8MPLUS』に取り組んでいます。 IMX8M Plusは以下のスタックを持っています:VX delegate ==> TIM-VX ==> GPU/NPU(統一ドライバー)==> I.MX 8シリーズNPU、 GPU(GC7000,GC7000L、GC7000UL)。ドキュメントによると。 現在、私はONNXとORTを扱っています。実行時には、デフォルトでNPU上で実行されます。OpenCLを使って IMX8MPLUS GPUで作業する方法はありますか?あるいは、コンパイルをNPUかGPUに手動で設定できる手動オーバーライドや技術があれば教えてください。 ご返信いただき、誠にありがとうございます。 敬具、 IMX8MPLUS #TIM-VX #VX-delegate
查看全文
关于在多个 AB_SWAP 位置使用 IVT 的说明 (S32K328) 您好,NXP团队: 我正在使用 AB_SWAP 和 HSE_B 进行 S32K328 内存布局,我需要澄清 IVT 位置应该如何处理。 摘自S32K3xx参考手册: IVT 是定义在闪存中固定位置的主要启动入口结构。 IVT 包含指向应用程序映像、启动配置和可选身份验证数据的指针。 在 AB_SWAP 配置中,根据设备和设置的不同,有多个与启动和映像选择相关的已定义闪存区域/地址。 在 S32K328 的内存映射表中,我看到: IVT 位于0x0040_0000 (活动银行) 0x0060_0000 (在同一存储区)处还有另一个对齐区域,这似乎与某些布局中的启动/优先级处理或保留空间有关。 问题: 静脉输液 IVT 是否预期仅存在于每个银行的主要位置(例如,0x0040_0000) ? 或者,是否存在任何要求(或支持的情况),要求在另一个地址(例如0x0060_0000 )也必须存在 IVT(或类似 IVT 的结构)? AB_SWAP 中的多个 IVT 地址 当 RM 显示多个与 IVT 相关的地址(例如,0x0040_0000、0x0050_0000、0x0060_0000 等)时,这些地址分别代表什么? 单独的 IVT 实例,或 同一 IVT 概念下是否使用了备用启动插槽/优先级位置? 使用辅助/备用区域 如果像 0x0060_0000 这样的区域没有明确记录为包含 IVT: 应该保留吗? 它可以安全地用于应用程序数据/元数据吗? 最佳实践 对于 AB_SWAP + HSE 安全启动系统,关于 IVT,这些附加对齐地址的建议解释是什么? 语境: 设备:S32K328 启动模式:AB_SWAP 网络安全:HSE_B,已启用安全启动 目标:正确的启动行为和安全的内存分配 S32K3 #s32k328 Re: Clarification on IVT usage at multiple AB_SWAP locations (S32K328) 嗨@venkatesh-kv 1.在任何可用的已定义地址处,一个 IVT 就足够了。它不一定要是像 0x40_0000 这样的主要位置。SBAF 负责按给定顺序搜索有效的 IVT。 如果在 IVT 更新期间出现问题,可以选择使用第二个 IVT 作为备份。这通常是在 IVT 的启动配置字中的 BOOT_SEQ 位启用安全启动时发生的。 2. S32K328 在 AB_SWAP 模式下有三个可能的 IVT 位置:0x40_0000、0x60_0000、0x1000_0000。SBAF 按此顺序搜索有效的 IVT。地址越靠下,优先级越高。例如,如果 0x40_0000 处存在有效的 IVT,SBAF 将使用此 IVT,而不会检查其他位置。 3. 不必保留该区域,您可以将其用于您的代码或数据。 4. 对于此用例,如前所述,其他 IVT 位置可用作备份。安全启动应用笔记的“6.2 更新 IVT”部分也对此进行了讨论。 可从以下网址下载: https://www.nxp.com/products/S32K3 应用笔记请点击此处查看: 文档 -> 安全文件 -> 安全启动应用笔记 v0.1.1.0(AN744511) 相关演示项目可在此处下载: 设计资源 -> 软件 -> 安全文件 -> SecureBootAppNoteDemo (SW745310) 问候, 卢卡斯
查看全文
Please provide an example of an S32K358 system booting from a dual-core EB29.0 core, preferably with RTD4.0. Hello: Here's an example of an S32K358 running on a dual-core EB29.0 system, preferably with RTD4.0; however, if RTD4.0 isn't available, other versions are also acceptable. Hello: I'd like to provide an example of an S32K358 system based on a dual-core EB29.0 processor, preferably with RTD4.0; however, if RTD4.0 is unavailable, other versions are also acceptable. Re: 提供一下基于eb29.0 双核启动的S32K358例子,最好rtd4.0这种 Hello, There are multiple examples for multicore. For example directly in the: https://community.nxp.com/t5/S32K/S32K324-Multi-Core-Example-Project-based-on-Whiteboard/m-p/1547771 or: There are demos directly in the S32DS package. Since EB tresos is not NXP tool, I am not aware of direct multicre demo here. You will probably need to do porting from the S32DS demos. RTD Drivers contain EB tresos based examples, but I did not find a full multicore project. petervlna_0-1783669665552.png You can also check attached presentation. best regards, Peter Re: 提供一下基于eb29.0 双核启动的S32K358例子,最好rtd4.0这种 https://community.nxp.com/t5/S32K/S32K324-Multi-Core-Example-Project-based-on-Whiteboard/mp/1547771I opened this link and found an example (s32k324_dualcore_demo), which is based on S32K3_RTD_1_0_0_D2110_ASR_REL_4_4_REV_0000_20211007, with an RTD of 1.0. I am currently using S32. I'm having trouble opening the example code with DS v3.5 and RTD 4.0. I can't find this version of RTD on the official website. Could you please send it to me? Also, I'm using S32 DS v3.5. Does RTD 1.0 support this? Do I need to install v3.4? Can I install both v3.4 and v3.5 at the same time?
查看全文
RDDRONE-BMS772开发板配件 RDDRONE-BMS772开发板配件 我想购买 RDDRONE-BMS772 开发板,用于电池相关的实验。我需要测量并记录实验电池的电压、电流和温度数据。除了官网提供的开发板配件外,我还需要购买哪些其他配件,例如电池和兼容的电池充电器?换句话说,我需要进行电池实验,测量并记录电池的电压、电流和温度数据。除了开发板包装中包含的配件外,我还需要哪些其他相关配件来进行此实验?请提供一份详细的配件清单,最好包括这些配件的兼容型号?我需要一次性购买所有实验所需的材料。非常感谢。 我现在想要购买RDDRONE-BMS772这个型号的开发板进行电池的相关实验测量记录实验电池的电压、电流和温度数据,现在除了官网上开发板包含的配件之外,我还需要购买哪些配件,比如电池、和电池匹配的电池配套这些其他需要的相关需要的配件;就是说我现在需要进行电池实验,需要记录电池的电压、电流和温度数据,在这个实验的基础上,除了开发板包装里的配件之外我还需要哪些相关的其他配件,你不能帮我列个详细的配件清单,最好能把装备开发板的这些配件型号也帮我列一下,我需要一次性购买来进行实验,万分感谢。 Re: RDDRONE-BMS772 Development Board Accessories RDDRONE-BMS772开发板配件 亲爱的 Fan007, 对于电池状态估计研究,RDDRONE-BMS772 需要一个真正的 3S 至 6S 锂离子电池组,带有平衡连接器和匹配的充电器。文档中没有具体说明电池或充电器型号。你只需要确保参数在规定的范围内即可。 JozefKozon_1-1783586246113.png JozefKozon_2-1783586292642.png 对于固件开发和调试,建议使用外部调试器,例如: SEGGER J-Link Mini PEMicro 通用多链路 其他兼容的JTAG调试器 该板提供 JTAG (J2) 和 DCD-LZ (J19) 调试接口。由于无法通过电脑直接进行 USB 编程/调试,因此需要使用外部调试器。   最低推荐配置: RDDRONE-BMS772 板 带平衡连接器的 3S 锂离子电池组 兼容3S充电器 J-Link 或 PEMicro 调试器 Windows PC 和 S32 设计工作室 该装置可以测量电池电压、电池组电压、电流(库仑计数)、温度和电池均衡,使其适用于 SOC/SOH 算法的开发。   最诚挚的问候, 约瑟夫 Re: RDDRONE-BMS772 Development Board Accessories RDDRONE-BMS772开发板配件 抱歉,你没听懂我的意思。我目前的研究是关于电池状态估计,这需要测量真实电池的电压、电流和温度数据。因此,我不需要电池模拟器;我需要的是真正的电池。所以,我需要一块与我的开发板兼容的电池,以及一个特定型号的配套电池充电器。另外,链接中提到的 PEMicro 适配器和 SEGGER J-Link Mini 调试器是开发板上调试或编程算法所必需的硬件吗?开发板能否直接连接到电脑进行调试和编程?这些适配器和调试器在市场上可以买到吗?此外,除了您提到的硬件之外,开发板是否还有其他必要的硬件元器件?请详细回答以下问题。非常感谢。 抱歉,你没明白我的意思,我目前的研究是关于电池状态估计的,需要测量真实电池的电压和温度数据,所以我不需要电池模拟器,我需要真实的电池,所以我需要改装开发板的电池和对应电池充电器的具体型号;以及那个链接里提到的PEMicro适配器以及SEGGER J-Link迷你调试器是开发板调试或者烧录算法必须的硬件吗?开发板不能直接连接到电脑上进行调试和烧录程序吗?这些固件和调试器在里面可以买到吗?还有,开发板除了你提到的这几个硬件之外还有其他必须硬件吗?请您详细解答一下这些疑问,万分感谢。 Re: RDDRONE-BMS772 Development Board Accessories RDDRONE-BMS772开发板配件 抱歉,你没听懂我的意思。我目前的研究是关于电池状态估计,这需要测量真实电池的电压、电流和温度数据。因此,我不需要电池模拟器;我需要的是真正的电池。所以,我需要一块与我的开发板兼容的电池,以及一个特定型号的配套电池充电器。另外,链接中提到的 PEMicro 适配器和 SEGGER J-Link Mini 调试器是调试或编程开发板所必需的硬件吗?开发板能否直接连接到电脑进行调试和编程?这些适配器和调试器在市场上可以买到吗?此外,除了您提到的硬件之外,开发板是否还有其他必要的硬件元器件?请详细回答以下问题。非常感谢。 抱歉,你没明白我的意思,我目前的研究是关于电池状态估计的,需要测量真实电池的电压和温度数据,所以我不需要电池模拟器,我需要真实的电池,所以我需要改装开发板的电池和对应电池充电器的具体型号;以及那个链接里提到的PEMicro适配器以及SEGGER J-Link迷你调试器是开发板调试或者烧录算法必须的硬件吗?开发板不能直接连接到电脑上进行调试和烧录程序吗?这些固件和调试器在里面可以买到吗?还有,开发板除了你提到的这几个硬件之外还有其他必须硬件吗?请您详细解答一下这些疑问,万分感谢。 Re: RDDRONE-BMS772 Development Board Accessories RDDRONE-BMS772开发板配件 亲爱的F an007, 有关 RDDRONE-BMS772 所需的其他硬件,请参阅此链接。 JozefKozon_0-1783575667159.png 对于电池组,我们可以为您提供BATT-6EMULATOR和BATT-14EXTENDER 。电池模拟器可以代替电池组使用,但由于接口不同,电池延长器应该连接在两者之间。 最诚挚的问候, 约瑟夫
查看全文
提供一下基于eb29.0 双核启动的S32K358例子,最好rtd4.0这种 你好:       提供一下基于EB29.0 双核启动的S32K358例子,最好rtd4.0这种;如果没有rtd4.0,没有也行,其他版本也可以 Hello: I'd like to provide an example of an S32K358 system based on a dual-core EB29.0 processor, preferably with RTD4.0; however, if RTD4.0 is unavailable, other versions are also acceptable. Re: 提供一下基于eb29.0 双核启动的S32K358例子,最好rtd4.0这种 你好, 多核处理器有很多例子。 例如直接在: https://community.nxp.com/t5/S32K/S32K324-Multi-Core-Example-Project-based-on-Whiteboard/mp/1547771 或者: S32DS软件包中直接包含演示程序。 由于 EB Tresos 不是 NXP 的工具,我不知道这里是否有直接的多组件演示。您可能需要从 S32DS 演示程序进行移植。RTD 驱动程序包含基于 EB tresos 的示例,但我没有找到完整的多核项目。 petervlna_0-1783669665552.png 您还可以查看附件中的演示文稿。 顺祝商祺! Peter Re: 提供一下基于eb29.0 双核启动的S32K358例子,最好rtd4.0这种 https://community.nxp.com/t5/S32K/S32K324-Multi-Core-Example-Project-based-on-Whiteboard/m-p/1547771 我打开此链接发现起其中例子(s32k324_dualcore_demo),是基于   S32K3_RTD_1_0_0_D2110_ASR_REL_4_4_REV_0000_20211007,rtd是1.0,我现在是s32 ds v3.5,rtd 4.0,不能正确打开例程。我在官网找不到此版rtd,可以发我一下吗,另外我使用s32 ds   v3.5 。rtd1.0支持吗? 是不是需要安装v3.4,我可以同时安装v3.4和v3.5吗?
查看全文
複数のAB_SWAPロケーションにおけるIVTの使用に関する説明(S32K328) こんにちは、NXPチームの皆様、 私はAB_SWAPとHSE_Bを使用してS32K328のメモリレイアウトを作成しているのですが、IVTの位置をどのように扱うべきかについて明確な説明が必要です。 S32K3xxリファレンスマニュアルより: IVTは、フラッシュメモリ内の固定位置に定義された、主要なブートエントリ構造です。 IVTにはアプリケーションイメージ、起動設定、オプションの認証データへのポインタが含まれています。 AB_SWAP構成では、デバイスと設定に応じて、ブートとイメージ選択に関連付けられた複数の定義済みフラッシュ領域/アドレスが存在します。 S32K328のメモリマップを見ると、次のようになっています。 IVT は0x0040_0000 (アクティブバンク) にあります 同じバンク内の0x0060_0000にある別の整列領域は、ブート/優先度処理または一部のレイアウトにおける予約領域に関連しているようです。 質問: IVT配置 IVTは、各バンクのプライマリロケーション(例:0x0040_0000)にのみ存在することが想定されていますか? それとも、IVT(またはIVTに似た構造)が別の住所(例えば 0x0060_0000)にも存在しなければならないという要件(または支持されるケース)はありますか? AB_SWAP内の複数のIVTアドレス RMに複数のIVT関連アドレス(例:0x0040_0000、0x0050_0000、0x0060_0000など)が表示されている場合、これらは何を表していますか? 別々のIVTインスタンス、または 同じIVTコンセプトで使用される代替ブートスロット/優先ロケーション? 二次/代替領域の使用 0x0060_0000のような領域がIVTを含むことが明示的に文書化されていない場合: 予約しておくべきか、 アプリケーションデータやメタデータには安全に使えますか? ベストプラクティス AB_SWAP + HSEセキュアブートシステムにおいて、IVTに関連してこれらの追加のアラインメントされたアドレスをどのように解釈するのが推奨されますか? コンテクスト: デバイス: S32K328 ブートモード: AB_SWAP セキュリティ:セキュアブートが有効HSE_B 目標:正しい起動動作と安全なメモリ割り当て S32K3 #s32k328 Re: Clarification on IVT usage at multiple AB_SWAP locations (S32K328) こんにちは、 @venkatesh-kv 1.利用可能な定義済みアドレスにIVTを1つ配置すれば十分です。必ずしも0x40_0000のようなプライマリロケーションである必要はありません。有効なIVTを指定された順番で検索するのはSBAFの責任です。 IVT のアップデート中に何らかの問題が発生した場合に備えて、2 番目の IVT をバックアップとして使用するオプションがあります。これは通常、IVT のブート構成ワードの BOOT_SEQ ビットによってセキュアブートを有効にする際に行われます。 2. AB_SWAP モードの S32K328 には、IVT の可能な位置が 3 つあります: 0x40_0000、0x60_0000、0x1000_0000。SBAFは有効なIVTをこの順番で検索します。住所が小さいほど、優先順位が高くなります。例えば、0x40_0000に有効なIVTが存在する場合、SBAFはこのIVTを使用し、他の場所をチェックしません。 3. エリアを予約しておく必要はなく、コードやデータ用に利用できます。 4. このユースケースでは、前述のバックアップとして他のIVTロケーションを利用することができます。また、Secure Boot アプリケーションノートの「6.2 Update IVT」セクションでも説明されています。 ダウンロード可能: https://www.nxp.com/products/S32K3 アプリケーションノートはこちらでご覧いただけます: ドキュメント -> Secure Files -> Secure Boot アプリケーションノート v0.1.1.0(AN744511) 関連するデモプロジェクトはこちらからダウンロードできます: Design Resources - > ソフトウェア - > Secure Files - > SecureBootAppNoteDemo(SW745310) よろしくお願いいたします。 ルーカス
查看全文
S32K358システムがデュアルコアEB29.0マザーボードから起動する例(できればRTD4.0を使用した場合)を提供してください。 こんにちは: 以下は、デュアルコアEB29.0システム上で動作するS32K358の例です。RTD4.0が望ましいですが、RTD4.0が利用できない場合は、他のバージョンでも構いません。 こんにちは: デュアルコアEB29.0プロセッサを搭載したS32K358システムの例を提示したいと思います。できればRTD4.0を搭載したものが望ましいですが、RTD4.0が入手できない場合は、他のバージョンでも構いません。 Re: 提供一下基于eb29.0 双核启动的S32K358例子,最好rtd4.0这种 こんにちは、 マルチコアの例は複数存在する。 例えば、直接以下のように: https://community.nxp.com/t5/S32K/S32K324-Multi-Core-Example-Project-based-on-Whiteboard/mp/1547771 または: S32DSパッケージには直接デモが収録されています。 EB tresosはNXPのツールではないため、ここに直接的なマルチCREデモがあるかどうかは分かりません。おそらくS32DSのデモから移植する必要があるでしょう。RTDドライバにはEBのトレソベースの例が含まれていますが、完全なマルチコアプロジェクトは見つかりませんでした。 petervlna_0-1783669665552.png 添付のプレゼンテーションもご確認ください。 よろしくお願いいたします。 ピーター Re: 提供一下基于eb29.0 双核启动的S32K358例子,最好rtd4.0这种 https://community.nxp.com/t5/S32K/S32K324-Multi-Core-Example-Project-based-on-Whiteboard/mp/1547771このリンクを開いて、S32K3_RTD_1_0_0_D2110_ASR_REL_4_4_REV_0000_20211007 をベースにしたサンプル (s32k324_dualcore_demo) を見つけました。RTD は 1.0 です。現在、S32 を使用しています。DS v3.5とRTD 4.0でサンプルコードを開く際に問題が発生しています。公式ウェブサイトでこのバージョンのRTDが見つかりません。送っていただけないでしょうか?また、S32 DS v3.5を使用していますが、RTD 1.0はこのバージョンをサポートしていますか?バージョン3.4をインストールする必要がありますか?バージョン3.4とバージョン3.5を同時にインストールできますか?
查看全文
Clarification on IVT usage at multiple AB_SWAP locations (S32K328) Hi NXP team, I am working on an S32K328 memory layout using AB_SWAP and HSE_B, and I need clarification on how IVT locations should be treated. From the S32K3xx Reference Manual: The IVT is the main boot entry structure defined at a fixed location in flash. IVT contains pointers to application images, boot configuration, and optional authentication data. In AB_SWAP configurations, there are multiple defined flash regions/addresses associated with boot and image selection, depending on the device and setup. In the memory map for S32K328, I see: IVT at 0x0040_0000 (active bank) Another aligned region at 0x0060_0000 (in the same bank), which appears to be related to boot/priority handling or reserved space in some layouts. Questions: IVT placement Is the IVT expected to exist only at the primary location (e.g., 0x0040_0000) for each bank? Or is there any requirement (or supported case) where an IVT (or IVT‑like structure) must also be present at another address such as 0x0060_0000? Multiple IVT addresses in AB_SWAP When the RM shows multiple IVT‑related addresses (e.g., 0x0040_0000, 0x0050_0000, 0x0060_0000, etc.), do these represent: separate IVT instances, or alternative boot slots / priority locations used by the same IVT concept? Use of secondary/alternate region If a region like 0x0060_0000 is not explicitly documented as containing an IVT: Should it be kept reserved, or Can it be safely used for application data/metadata? Best practice For AB_SWAP + HSE secure boot systems, what is the recommended interpretation of these additional aligned addresses in relation to IVT? Context: Device: S32K328 Boot mode: AB_SWAP Security: HSE_B with secure boot enabled Goal: correct boot behavior and safe memory allocation S32K3 #s32k328  Re: Clarification on IVT usage at multiple AB_SWAP locations (S32K328) Hi @venkatesh-kv  1. One IVT at any available defined address is sufficient. It doesn’t have to be primary location like 0x40_0000. It’s up to SBAF to search for valid IVT in given order. There’s an option to use second IVT as a backup if something goes wrong during update of IVT which is typically done when enabling secure boot by BOOT_SEQ bit in Boot Configuration Word in IVT. 2. S32K328 in AB_SWAP mode has three possible locations of IVT: 0x40_0000, 0x60_0000, 0x1000_0000. SBAF searches for valid IVT in this order. The lower address, the highest priority. For example, if there’s valid IVT at 0x40_0000, SBAF will use this one and it does not check other locations. 3. It’s not necessary to keep the area reserved, you can use it for your code or data. 4. For this use case, other IVT locations can be used as a backup as mentioned earlier. It’s also discussed in Secure Boot Application Note in section “6.2 Update IVT”. It can be downloaded from: https://www.nxp.com/products/S32K3 Application note can be found here: Documentation -> Secure Files -> Secure Boot Application note v0.1.1.0 (AN744511) Associated demo project can be downloaded here: Design Resources -> Software -> Secure Files -> SecureBootAppNoteDemo (SW745310) Regards, Lukas
查看全文
Imx6ull KSZ8041NL ethernet issue Hello There , To utilize dule ethernet for one of our potential project , We have connected 2 Ethernet phy with Imx6ull processor , One phy is KSZ8081 and one phy is KSZ8041 , below is our DTS configuration : &fec1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet1>; phy-mode = "rmii"; phy-handle = <&ethphy0>; phy-reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; phy-reset-duration = <26>; phy-reset-post-delay=<20>; phy-supply = <&reg_peri_3v3>; status = "okay"; }; &fec2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet2>; phy-mode = "rmii"; phy-handle = <&ethphy1>; phy-reset-gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; //phy-reset-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>; phy-reset-duration = <26>; phy-reset-post-delay=<20>; phy-supply = <&reg_peri_3v3>; status = "okay"; mdio { #address-cells = <1>; #size-cells = <0>; ethphy0: ethernet-phy@1 { reg = <1>; micrel,led-mode = <1>; clocks = <&clks IMX6UL_CLK_ENET_REF>; clock-names = "rmii-ref"; }; ethphy1: ethernet-phy@3 { reg = <3>; micrel,led-mode = <1>; clocks = <&clks IMX6UL_CLK_ENET2_REF>; clock-names = "rmii-ref"; }; }; }; pinctrl_enet1: enet1grp { fsl,pins = < MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN 0x1b0b0 MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER 0x1b0b0 MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x1b0b0 MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x1b0b0 MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN 0x1b0b0 MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x1b0b0 MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x1b0b0 MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x4001b031 >; }; pinctrl_enet2: enet2grp { fsl,pins = < MX6UL_PAD_GPIO1_IO07__ENET2_MDC 0x1b0b0 MX6UL_PAD_GPIO1_IO06__ENET2_MDIO 0x1b0b0 MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN 0x1b0b0 MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER 0x1b0b0 MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00 0x1b0b0 MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01 0x1b0b0 MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN 0x1b0b0 MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00 0x1b0b0 MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01 0x1b0b0 MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2 0x4001b031 >; }; Both The Ethernet Phys are getting detected in kernel logs and also when we connect ethernet  cable , link is also getting detected on both. but Ip is arriving on ethernet which is connected to KSZ8081 phy , the IP is not getting assigned with the Ethernet which is connected to KSZ8084NL. and there is rx errors are observed in KSZ8041NL Ethernet which is eth0 , below are the logs : root@sls-imx6ull14x14evk:~# ifconfig eth0      Link encap:Ethernet  HWaddr BA:9C:69:1F:76:3A           UP BROADCAST MULTICAST  MTU:1500  Metric:1           RX packets:0 errors:1065 dropped:0 overruns:0 frame:1065           TX packets:65 errors:0 dropped:0 overruns:0 carrier:0           collisions:0 txqueuelen:1000           RX bytes:0 (0.0 B)  TX bytes:12024 (11.7 KiB) eth1      Link encap:Ethernet  HWaddr 42:19:11:7F:5E:89           inet addr:10.20.0.184  Bcast:10.20.1.255  Mask:255.255.254.0           inet6 addr: fe80::8248:9837:9647:2a00/64 Scope:Link           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1           RX packets:18 errors:0 dropped:0 overruns:0 frame:0           TX packets:23 errors:0 dropped:0 overruns:0 carrier:0           collisions:0 txqueuelen:1000           RX bytes:2494 (2.4 KiB)  TX bytes:3162 (3.0 KiB) lo        Link encap:Local Loopback           inet addr:127.0.0.1  Mask:255.0.0.0           inet6 addr: ::1/128 Scope:Host           UP LOOPBACK RUNNING  MTU:65536  Metric:1           RX packets:17 errors:0 dropped:0 overruns:0 frame:0           TX packets:17 errors:0 dropped:0 overruns:0 carrier:0           collisions:0 txqueuelen:1000           RX bytes:2011 (1.9 KiB)  TX bytes:2011 (1.9 KiB)   root@sls-imx6ull14x14evk:~# ethtool eth0 Settings for eth0:         Supported ports: [ TP    MII ]         Supported link modes:   10baseT/Half 10baseT/Full                                 100baseT/Half 100baseT/Full         Supported pause frame use: Symmetric         Supports auto-negotiation: Yes         Supported FEC modes: Not reported         Advertised link modes:  10baseT/Half 10baseT/Full                                 100baseT/Half 100baseT/Full         Advertised pause frame use: Symmetric         Advertised auto-negotiation: Yes         Advertised FEC modes: Not reported         Link partner advertised link modes:  10baseT/Half 10baseT/Full                                              100baseT/Half 100baseT/Full         Link partner advertised pause frame use: No         Link partner advertised auto-negotiation: Yes         Link partner advertised FEC modes: Not reported         Speed: 100Mb/s         Duplex: Full         Auto-negotiation: on         Port: Twisted Pair         PHYAD: 3         Transceiver: external         MDI-X: Unknown         Supports Wake-on: g         Wake-on: d         Link detected: yes   We have also checked the clock which is 50MHz , which is generated properly and also coming into phy KSZ8041NL. In short 1 Ethernet with KSZ8081 is working properly but 2nd Ethernet not working with KSZ8041NL. Please suggest us solution. we have also attached screenshot of both Ethernet phy Hardware  for your reference . image (1).png image (2).jpg i.MX6 All i.MX6UL Re: Imx6ull KSZ8041NL ethernet issue Hello NXP Team , Is there any update for us for our asked query ? Re: Imx6ull KSZ8041NL ethernet issue Hello NXP Support Team, We have already shared details about Ethernet issue which we are facing at our end.  So, would you please check it from your end and let us know resolution if anything from your end?  If needed then we will be available over call to discuss issue with your team as well. Waiting for positive feedback from your team end.  Regards, Ritesh Prajapati Re: Imx6ull KSZ8041NL ethernet issue Hello @HarshilSoni434 @ritesh_prajapat  Hope you are doing very well. Looking at your KSZ8041 schematic's Strapping Option: Manuel_Salas_0-1785172670273.png Isolate Mode: Pull-up (Default) = Enable Pull-Down = Disable The PHY disconnects its RMII data pins (RXD0, RXD1, CRS/DV, RX_ER, TXD0, TXD1, TX_EN) from the MAC. MDIO/MDC remains fully functional and PHY is discovered, link pulse is still generated and maybe this is why the PHY appears detected and link is UP. Can you please try Changing R37 from pull-up to a pull-down resistor (~4.7kΩ to GND) on the ISOLATE pin? The second thing to check is the Reset Pin. Can you please confirm that the reset is properly asserted? And check the reset_n signal is according connected to the: phy-reset-gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; //phy-reset-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>; Then, please check the CONFIG[2:0] Strapping for RMII are physically well asserted. Also, in the KSZ8041 schematic's signal mapping table: Manuel_Salas_1-1785173206995.png The net names appear swapped (MDC labeled as enet_mdio and vice versa). Best regards, Salas. Re: Imx6ull KSZ8041NL ethernet issue Hello @Manuel_Salas , Thank you for your response , As per your suggestion , We have done the pull-down resistor change and checked the Ethernet communication , Unfortunately the behavior is same. We are getting RX-errors during IP Negotiation. We have also verified the below points : - The reset pin is proper based on imx6ull pin connection. we have also applied manual pulse on reset line , the phy (KSZ8041NL) is getting reset but the behavior is same. - The MDIO and MDC pin swap is the schematic issue , the connection is proper in actual hardware . So the behavior is same after changes , Both Phy is getting detected but IP is coming with KSZ8081 only not with KSZ8041NL. below is the updated log : root@sls-imx6ull14x14evk:~# dmesg | grep fec [ 2.124528] fec 20b4000.ethernet eth0: registered PHC device 0 [ 2.207221] fec 2188000.ethernet eth1: registered PHC device 1 [ 72.966866] fec 20b4000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off root@sls-imx6ull14x14evk:~# dmesg | grep eth0 [ 2.124528] fec 20b4000.ethernet eth0: registered PHC device 0 [ 72.966866] fec 20b4000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off root@sls-imx6ull14x14evk:~# ifconfig eth0 Link encap:Ethernet HWaddr 26:F5:A6:8C:73:42 inet6 addr: fe80::f2af:2d7a:228c:2038/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:63 dropped:0 overruns:0 frame:63 TX packets:12 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:2093 (2.0 KiB) eth1 Link encap:Ethernet HWaddr 22:81:A6:66:8C:3A UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:91 errors:0 dropped:0 overruns:0 frame:0 TX packets:91 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:7797 (7.6 KiB) TX bytes:7797 (7.6 KiB) root@sls-imx6ull14x14evk:~# ethtool eth0 Settings for eth0: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Supported pause frame use: Symmetric Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Advertised pause frame use: Symmetric Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Link partner advertised pause frame use: No Link partner advertised auto-negotiation: Yes Link partner advertised FEC modes: Not reported Speed: 100Mb/s Duplex: Full Auto-negotiation: on Port: Twisted Pair PHYAD: 0 Transceiver: external MDI-X: Unknown Supports Wake-on: g Wake-on: d Link detected: yes Please provide us the your suggestion for the same. Re: Imx6ull KSZ8041NL ethernet issue Thanks @Manuel_Salas for providing suggestions from your end. We will check all things suggested from your end and will post results mostly by today. Regards, Ritesh Prajapati Re: Imx6ull KSZ8041NL ethernet issue Hello @Manuel_Salas we have done further debugging into ethernet fec driver fec_main.c for identifying the rx error root-case. So we found that driver is ignoring all the rx-packets due to CRC mismatch error BD_ENET_RX_CR. so based on this , please provide your suggestion for issue resolution . Re: Imx6ull KSZ8041NL ethernet issue Hello @Manuel_Salas  , Based on our last observation , is there any update for us .? just updating you again that all the rx-packets are ignored due to CRC error. so what can be the cause of it ? Re: Imx6ull KSZ8041NL ethernet issue Hello @Manuel_Salas , Good Morning, Did you get a chance to review last couple of updates regarding issue which @HarshilSoni434 has already shared to you? Can you please look into it and let us know if you have any clue or any further findings from your end to narrow down exact issue of CRC mismatch failed for receive packet?  Let us know if need any information from our end.  Regards, Ritesh Prajapati
查看全文
s32k144 - 设备已安全 大家好, 我正在参与S32K114 (AN12323)项目。最初,我在禁用 CSEC 的情况下烧录了网关项目,并且编程成功了。 之后,我尝试刷写CAN 示例应用程序,但遇到了以下错误: “设备当前安全,擦除后将变为不安全状态。” 为了解决这个问题,我还尝试使用“紧急 Kinetis 设备恢复”选项,但没有成功。 请问如何恢复设备或移除安全状态,以便我可以刷写 CAN 示例程序? Re: s32k144 - Device is secured 嗨@Senlent , 在哪些情况下 RESET 信号周期约为 118 µs?在我的情况下,哪些因素会导致 RESET 信号周期增加到约 475 µs?     谢谢。 Re: s32k144 - Device is secured 您好@ Pranathi06 如果复位信号周期不是~118µs,而是大于200µs,例如500µs甚至更长, 使用批量擦除命令,无法通过 SWD/JTAG 调试接口解密和恢复 MCU。 Re: s32k144 - Device is secured 嗨@Senlent 我用示波器测量了 RESET_b 引脚的波形。 RESET_b 信号持续切换。 脉冲重复时间似乎约为400–500 µs (光标显示 Δt ≈ 475 µs)。 峰值约为5V ,这表明您可能正在探测外部复位电路,而不是直接测量 3.3V MCU 引脚,或者 RESET 上有一个 5V 的上拉电阻。 The RESET activity is continuous and regular.   谢谢!         Re: s32k144 - Device is secured 您好@Pranathi06 “S32K144_FOTA_GATEWAY”命令不涉及任何CSEc或闪存网络安全相关操作,因此我不确定你对MCU做了什么。 你可以测量 RESET 引脚的波形,告诉我它的复位周期。 复位周期可以用来判断芯片是否能够恢复正常工作。 Re: s32k144 - Device is secured 嗨@Senlent , 是的,已成功刷入“S32K144_FOTA_Gateway”,当我尝试刷入Can_example项目时,出现“设备已保护”的提示,之后就无法刷入任何软件了。 谢谢! Re: s32k144 - Device is secured 您好@ Pranathi06 您的问题是在下载“S32K144_FOTA_Gateway”程序时出现,还是您已经成功刷写了“S32K144_FOTA_Gateway”? Re: s32k144 - Device is secured 嗨@Senlent     我刷入了 AN5401_S32K144_CSEc_Resetting_Flash_to_Factory_State 来清除按键。之后,我只刷写了 GATEWAY_PROJECT 项目;我没有刷写 Memory_Partition 项目。 谢谢。   Re: s32k144 - Device is secured 您好@ Pranathi06 在刷写我的 GATEWAY_PROJECT 之前,我已经刷写了“重置闪存状态” 我不明白你的意思。 AN12323SW 没有“将闪存重置到状态”程序。 根据你的描述,你修改了“S32K144_FOTA_Gateway”? 您只需要检查您的程序是否已启用 CSEc 模块并分配了密钥,以及您是否考虑过在应用程序中将 CSEc 模块恢复到出厂状态。 否则,这种情况就无法挽回了。 Re: s32k144 - Device is secured 嗨@Senlent 我没有刷写 Memory_partition 项目。 在刷写我的 GATEWAY_PROJECT 之前,我已经刷写了“重置闪存状态” 有什么办法可以恢复吗? 谢谢。 Re: s32k144 - Device is secured 您好@ Pranathi06 这个问题与“S32K144_FOTA_Gateway”中是否启用“CSEC”无关,因为在测试 AN12323SW 时,第一步应该是下载并运行“S32K144_Memory_Partition”来执行分区,这默认情况下已经启用了 CSEC 并分配了一个密钥。 Senlent_0-1783587478752.png AN12130: Senlent_1-1783587519720.png 这就是MCU被锁定的原因; 由于该解决方案没有提供重置 CSEC 操作,因此无法恢复。 下次记得修改“S32K144_Memory_Partition”使其仅进行分区,而不启用 CSEC 或密钥。 Re: s32k144 - Device is secured 您好@ Pranathi06 这是根据经验得出的结论,你的情况与此非常相似:CSEc 硬件加密模块已启用,阻止了 CSEc 加密密钥的批量擦除,从而导致了问题。 虽然芯片已死锁,MCU 无法再下载程序或进行调试,但只要芯片的电源正常,仍然可以使用 J-LINK 调试器通过 SWD/JTAG 调试接口连接到 S32K1xx 系列 MCU ARM Cortex M4F/M0+ 的 CoreSight DAP 调试访问接口,读取 MDM-AP 状态寄存器。 因此,您可以根据读取 MDM-AP 状态寄存器值来确定芯片死锁的根本原因。 如果您需要我帮助您找出死锁的原因,您可以尝试使用J-LINK读取MDM-AP 状态寄存器。
查看全文
GC7000UL general-compute inference path on i.MX8M Plus and TIM-VX/VSINPU appears NPU-only Board/BSP: i.MX8M Plus, aarch64 Galcore version 6.4.11.p2.745085 ONNX Runtime with VSINPUExecutionProvider (statically linked against libtim-vx.so) Vivante OpenCL ICD present and functional (Vivante.icd → libVivanteOpenCL.so) Goal: Run ResNet50 inference benchmarks (MLPerf loadgen harness) on the GC7000UL 3D GPU core specifically, as a comparison point against existing NPU (VIP8000Nano) and CPU benchmark results already collected. What's confirmed working: clGetPlatformIDs/clGetDeviceIDs via the Vivante OpenCL ICD cleanly enumerates two independent devices under one platform: Device 0: GC7000UL.6204.0000 Device 1: VIP8000Nano-S+I.8002.0000 Both report CL_DEVICE_TYPE_ACCELERATOR, no errors, confirmed via a minimal C test program linked against libOpenCL.so → libGAL.so. What's blocking GPU dispatch via ORT: ort.get_available_providers() returns only ['VSINPUExecutionProvider', 'CPUExecutionProvider'] — no OpenCL-based EP. VSINPUExecutionProvider is statically linked to libtim-vx.so (OVXLIB/vsi_nn_* API). Symbol/string dump of both libtim-vx.so and libGAL.so shows no DEVICE_INDEX/DEVICE_ID-style env var or config surface — only behavior toggles (VIV_VX_ENABLE_SHADER, VSI_NN_ENABLE_*, etc). libGAL.so does export gcoHAL_SetDeviceIndex/gcoHAL_GetCurrentDeviceIndex at the raw HAL layer, but there's no visible plumbing from OVXLIB/TIM-VX down to that call which is  suggesting the graph compiler used by VSINPU may be hardcoded to target the NPU core only, regardless of device index. Specific question: Does TIM-VX / OVXLIB on this BSP (galcore 6.4.11.p2) support compiling and dispatching a graph to the GC7000UL as a general-compute target, or is the graph compiler NPU-only by design in this build, and how can I verify if it is possible to run it that way ?  If GPU-target graph compilation is supported upstream in TIM-VX but not enabled in this NXP-shipped build, is there a build flag / SDK component that exposes it? If there is no supported path through TIM-VX/ORT, is there an NXP-recommended way to run generic  inference on the GC7000UL directly (e.g. via the OpenCL/OpenVX layer, since that portion of the stack is confirmed functional) ,  a sample app, SDK component, or reference implementation we should be building against instead? as a currently a student, and trying to work on this implementation and running an ORT on TOP of the GPU, is there any way, or any other way to be able use the GPU for inference ?  Thank you very much  IMX8MPLUS  #GC7000UL Re: GC7000UL general-compute inference path on i.MX8M Plus and TIM-VX/VSINPU appears NPU-only HI @WaleedO, Thank you for contacting NXP Support. To run inference on the GPU, you should use the GPU delegate, which enables supported operations to be accelerated by the GPU instead of running entirely on the CPU. I recommend reviewing our Machine Learning User Guide to better understand the available execution backends, delegate configuration, supported frameworks, and example applications. The guide also includes step-by-step examples that can help you validate that the GPU delegate is being loaded correctly and that your model is executing as expected. If you encounter any issues during setup or execution, please share the model, BSP version, and the commands you are using, and I will be happy to assist further. Best regards, Alejandro Garcia Re: GC7000UL general-compute inference path on i.MX8M Plus and TIM-VX/VSINPU appears NPU-only Hello @Chavira  Nice to meet you. After checking the documentation, the GPU delegate and the OpenCL path is used within  i.MX 95/952 GPU (Arm Mali G310). I am curently working on The IMX8MPLUS .  the imx8m Plus have this stack:  VX delegate ==> TIM-VX ==>  GPU/NPU (unified driver)  ==> I.MX 8 series NPU and GPU (GC7000,GC7000L, GC7000UL).  as per the documentation.  Currently, I am working with ONNX and ORT. When I run the execution, It is per default running on the NPU. Is there any way to use the OpenCL to work ont the IMX8MPLUS  GPU ? or if there is any manual override, or technique that I can implement, so that I can manually set the compilation toward either NPU or/And  GPU ?  Thank Your very much for your reply.  Kind regards,  IMX8MPLUS  #TIM-VX #VX-delegate
查看全文
RDDRONE-BMS772 開発ボード アクセサリ RDDRONE-BMS772开发板配件 バッテリー関連の実験用にRDDRONE-BMS772開発ボードを購入したいと考えています。実験用バッテリーの電圧、電流、温度のデータを測定し、記録する必要があります。公式サイトの開発ボードに付属しているアクセサリ以外に、バッテリー本体や対応バッテリー・チャージャなど、どんなアクセサリを購入すればよいのでしょうか?つまり、バッテリー実験を行い、バッテリーの電圧、電流、温度データを測定・記録する必要があるということです。開発ボードのパッケージに含まれるアクセサリー以外に、この実験に必要な関連アクセサリーは何でしょうか?アクセサリーの詳細なリストを教えていただけますか?できれば対応モデルも含めて。実験のために、それらをすべて一度に購入する必要があります。どうもありがとうございます。 私は、RDDRONE-BMS772 を購入したいこのタイプの発行パネルで、電池の関連実装を実行するには、電池の電圧、電流、および温度データを測定する必要があります。削除官網上に公開されているパネルに含まれるアクセサリに加えて、電池、および電池適合型の充電器など、その他の必要な関連アクセサリも必要です。電池の実験を行う必要があり、電池の電圧、電流、温度データを測定する必要があり、この実験のベースには、公開されたパネルのパッケージにある付属品のほかに、これらの関連するデータも必要です。他のアクセサリは、個別のアクセサリを削除することはできませんが、適切な公開パネルのこれらのアクセサリの型番号も次に列挙できることが望ましいため、テストを行うには一度の購入が必要です。 Re: RDDRONE-BMS772 Development Board Accessories RDDRONE-BMS772开发板配件 Fan007様へ バッテリー状態推定の研究において、RDDRONE-BMS772は、バランスコネクタと対応する充電器を備えた実際の3S~6Sリチウムイオンバッテリーパックを必要とします。ドキュメントには特定のバッテリーや充電器モデルは明記されていません。パラメータが規定の範囲内であることを確認するだけで良いのです。 JozefKozon_1-1783586246113.png JozefKozon_2-1783586292642.png ファームウェアの開発およびデバッグには、以下のような外部デバッガの使用をお勧めします。 セガー J-Link ミニ PEMicroユニバーサルマルチリンク その他の互換性のあるJTAGデバッガー このボードはJTAG(J2)およびDCD-LZ(J19)のデバッグインターフェースを提供します。PCから直接USBでプログラミングやデバッグを行うことはできないため、外部デバッガが必要です。   推奨される最小構成: RDDRONE-BMS772ボード バランスコネクタ付き3Sリチウムイオンバッテリーパック 互換性のある3S充電器 J-LinkまたはPEMicroデバッガー Windows PC with S32 Design Studio この構成により、セル電圧、パック電圧、電流(クーロン計数)、温度、およびセルバランスの測定が可能となり、SOC/SOHアルゴリズムの開発に適しています。   敬具、 ヨゼフ Re: RDDRONE-BMS772 Development Board Accessories RDDRONE-BMS772开发板配件 申し訳ありません、私の言っていることが伝わらなかったようですね。現在私が取り組んでいる研究は、バッテリーの状態推定に関するもので、そのためには実際のバッテリーの電圧、電流、温度のデータを測定する必要があります。したがって、バッテリーシミュレータは必要ありません。本物のバッテリーが必要だ。そこで、開発ボードに対応したバッテリーと対応するバッテリー・チャージャの特定モデルが必要です。また、PEMicroアダプターやSEGGER J-Link Miniデバッガは、デバッグや開発ボード上のプログラミングアルゴリズムのリンクに必要なハードウェアに記載されていますか?開発ボードを直接コンピュータに接続してデバッグやプログラミングはできないのでしょうか?これらのアダプターやデバッガはマーケットで入手可能ですか?さらに、あなたが挙げたハードウェア以外に、開発ボードに必要な他のハードウェアコンポーネントはありますか?これらの質問に詳しくお答えください。どうもありがとうございます。 注意、私たちの意思は理解していません、私たちの現在の研究は電池の状態に関するものであり、実際の電池の電圧と温度のデータを測定する必要があるため、電池モジュールは必要ありません、私たちは必要としていますこれは真の電池であるため、適切なパネルの電池と電池充電器の特定の型名が必要です。また、ここで言及されている PEMicro アダプターと SEGGER も必要です。 Jリンクミニ エディタは、公開パネルまたは計算法に必須のハードウェアですか? 公開パネルは、電源に直接接続して評価やプログラムを実行することはできません。市販のハードウェアは市販されている可能性がありますか? さらに、公開パネルには、上記のハードウェア以外にも、必須のハードウェアが存在します。 Re: RDDRONE-BMS772 Development Board Accessories RDDRONE-BMS772开发板配件 申し訳ありません、私の言っていることが伝わらなかったようですね。現在私が取り組んでいる研究は、バッテリーの状態推定に関するもので、そのためには実際のバッテリーの電圧、電流、温度のデータを測定する必要があります。したがって、バッテリーシミュレータは必要ありません。本物のバッテリーが必要だ。そこで、開発ボードに対応したバッテリーと対応するバッテリー・チャージャの特定モデルが必要です。また、PEMicroアダプターやSEGGER J-Link Miniデバッガは、デバッグや開発ボードのプログラミングに必要なハードウェアにリンクに記載されていますか?開発ボードを直接コンピュータに接続してデバッグやプログラミングはできないのでしょうか?これらのアダプターやデバッガはマーケットで入手可能ですか?さらに、あなたが挙げたハードウェア以外に、開発ボードに必要な他のハードウェアコンポーネントはありますか?これらの質問に詳しくお答えください。どうもありがとうございます。 注意、私たちの意思は理解していません、私たちの現在の研究は電池の状態に関するものであり、実際の電池の電圧と温度のデータを測定する必要があるため、電池モジュールは必要ありません、私たちは必要としていますこれは真の電池であるため、適切なパネルの電池と電池充電器の特定の型名が必要です。また、ここで言及されている PEMicro アダプターと SEGGER も必要です。 Jリンクミニ エディタは、公開パネルまたは計算法に必須のハードウェアですか? 公開パネルは、電源に直接接続して評価やプログラムを実行することはできません。市販のハードウェアは市販されている可能性がありますか? さらに、公開パネルには、上記のハードウェア以外にも、必須のハードウェアが存在します。 Re: RDDRONE-BMS772 Development Board Accessories RDDRONE-BMS772开发板配件 F an007様、 RDDRONE-BMS772に必要な追加ハードウェアについては、こちらのリンクを参照してください。 JozefKozon_0-1783575667159.png バッテリーパックについては、 BATT-6EMULATOR とBATT-14EXTENDERをご用意します。バッテリーエミュレーターはバッテリーパックの代わりに使えますが、コネクタが異なるため、バッテリーエクステンダーはその間に置くべきです。 敬具、 ヨゼフ
查看全文
Fee首次读取程序跑飞 使用S32K311单片机的FEE功能储存数据,FEE测试擦写,读取没有问题,但首次没有数据写入,直接读取不进hard,直接跑飞;像C40,首次读取会返回0xFF,可以判断是首次读写,填入默认值。有什么办法FEE首次可以返回值像0xFF这样,而不是跑飞。使用RTD 4.0.0  Re: Fee首次读取程序跑飞 Hi@LJH1 第一次不强制先写才能调用 Fee_Read() ,但如果该 block 从未写过,读 job 很可能返回 MEMIF_BLOCK_INVALID 或 MEMIF_BLOCK_INCONSISTENT ,应用层应可把它当作“未初始化”,然后写入默认值。 不要依赖第一次直接读到有效数据;正确做法是读后检查 job result,遇到 invalid/inconsistent 就初始化默认值并写入 Senlent_0-1783662229362.png
查看全文
MPC5744P IVOR1 机器检查处理程序在 RTOS 和裸机上未触发不可纠正的 FLASH ECC 错误 您好,我正在使用 SDK 2.1 中的FLASH_ECC_Error_Injection_MPC5744P演示项目来测试 FLASH ECC 故障处理。 在裸机 SDK 示例中:调用 Generate_noncorrectable_FLASH_ECC_error 后,内核正确地捕获了故障,并按预期进入了 Machine_check_handler(IVOR1 Handler)。 将相同的 ECC 注入逻辑移植到我的基于 RTOS 的项目中后:没有发生机器检查异常,代码也从未跳转到 Machine_check_handler。 我已经完成了以下移植和配置步骤: 已在启动文件中完全移植并定义了 IVOR1_Handler。与裸机演示一致的汇编文件; 已实现完整的 FCCU 报警中断配置,但注入不可纠正的 FLASH ECC 错误时,也不会触发 FCCU 报警中断。 为了解决这个问题,我有三个核心问题: 要使机器检查处理程序 (IVOR1) 能够处理 FLASH 不可纠正的 ECC 错误,需要哪些强制性的硬件/寄存器配置? 在实时操作系统 (RTOS) 下运行 ECC 故障注入和机器检查异常处理时,是否存在特殊考虑或限制? 能否提供一份分步调试/故障排除工作流程,以查找此机器检查异常缺失的根本原因? Re: MPC5744P IVOR1 Machine Check Handler not hit with uncorrectable FLASH ECC error on RTOS, baremet 我不了解提到的例子,我猜它是我在应用笔记中使用 GHS 编译器编写的移植版本。 https://www.nxp.com/docs/en/application-note/AN13179.pdf https://www.nxp.com/docs/en/application-note-software/AN13179SW.zip 如果 RTOS 影响了行为,那么就需要调查它对 MSR 寄存器做了什么。请注意第五章。 您还可以查看第 8 节以了解 ECC 处理方法。 Re: MPC5744P IVOR1 Machine Check Handler not hit with uncorrectable FLASH ECC error on RTOS, baremet 您好, 我在测试过程中发现: 在我的项目中,使用 -O1 优化级别编译时,无法触发 IVOR1_Vector 处理程序。在 -O0 下,该异常处理程序可以正常工作。 但是,参考演示项目在使用相同的优化设置 -O1 时可以正常工作。 如果您能提供一些建议,帮助我找到问题的根本原因,我将不胜感激。
查看全文