Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
S32K312 EVBデバッグ こんにちは: 本当に愚かなミスを犯してしまいました。S32K31XEVB-Q100 のデバッグ ポートを通常の GPIO として構成したため、デバッグ ポート経由でプログラムをダウンロードできなくなりました。この問題の解決策があるかどうか教えていただけますか? さらに、搭載 OPEN-SDA の代わりに外部デバッガーを使用しています。 Re: S32K312 EVB DEBUG こんにちは@PINKMAN 、 Segger 社はこの問題を修正しており、11 月 12 日にリリース予定のバージョン V8.88 に変更が組み込まれる予定です。 よろしくお願いいたします。 ダニエル Re: S32K312 EVB DEBUG こんにちは@PINKMAN 、 SEGGER お問い合わせにお問い合わせしたところ、アルゴリズムにバグがあることが確認されました。 現在、修正に取り組んでいます。利用可能になったら、それに応じてThreadを更新します。 よろしくお願いいたします。 ダニエル Re: S32K312 EVB DEBUG S32K31XEVB-Q100をお持ちの場合、PTA4(JTAG_TMS_SWD_DIO)をCMP_OUTとして設定し、jlinkコマンドを使用してロック解除を試みることができますか? Re: S32K312 EVB DEBUG 2つのモードすべてを試しましたが、まだ機能しません Re: S32K312 EVB DEBUG JTAG プロトコルも試していただけますか? よろしくお願い申し上げます。 Re: S32K312 EVB DEBUG PINKMAN_0-1758079038086.png あなたの提案によると、それは機能しません。写真は私の手順です。何が起こったのか教えていただけますか。私のデバッグはSWDモードです。ありがとうございます Re: S32K312 EVB DEBUG この解決策を試していただけますか? https://community.nxp.com/t5/S32-SDK/dap-after-program-s32k312-with-pll0-equal/td-p/1609010 の電源投入に失敗しました ありがとうございました。 BR、ダニエル Re: S32K312 EVB DEBUG PTA4 (JTAG_TMS_SWD_DIO) のみを CMP_OUT として設定し、他のデバッグ ピンは設定しませんでした。使用するデバッガーは JLINK です。この問題を解決する方法があれば教えていただけますか? Re: S32K312 EVB DEBUG こんにちは@PINKMAN 、 デバッグを成功させるには、ピンが再構成される前に、MCU をリセットし、デバッガーがコアを接続して短時間内に停止する必要があります。 reset_b ピンも再構成しましたか? SO、MCU をリセットする唯一の信頼できる方法は、パワーオン リセット (POR) を使用することです。 どのデバッガーを使用していますか? たとえば、Lauterbach を使用している場合は、次のようなスクリプトをCAN。 SYStem.CPU S32K312-M7 SYStem.config.core 1. 1. SYStem.config.debugporttype JTAG System.JTAGclock 10MHz sys.Option DUALPORT ON wait state.power() sys.up if RUN() break MCU に電源が投入されるまで待機します。 よろしくお願いいたします。 ダニエル
記事全体を表示
PF5030はすべての出力が失われた状態でI2Cを読み取ります こんにちは。致命的なエラーが発生すると、入力電源は維持されますが、PF5030 のすべての出力が失われます。I2C 経由で詳細な障害情報を取得する方法はありますか? VDDIO は出力の 1 つから供給されます。この状況では、VDDIO が失われ、I2C インターフェースが機能しない可能性があります。しかし、致命的なエラーが発生した後に外部 VDDIO を提供するとどうなるでしょうか? エラー メッセージは保持されたままになりますか、それともすでに失われていますか?エラーが発生した後に外部 VDDIO を供給し、I2C 通信を試行することで、エラーの原因をCANますか? Re: PF5030 read I2C while all output lost こんにちは、ポニーさん 致命的なエラー (ウォッチドッグ障害、監視対象レールの過電圧、障害カウンタのオーバーフローなど) が発生すると、PF5030 は DEEP-FS 状態に移行します。 DEEP-FS では、すべてのレギュレータがオフになります。 フェイルセーフロジックはVINから内部的に電源供給されている I²C インターフェースはフェイルセーフ ドメインにあり、VDDIO (1.71 V ~ 5.25 V の範囲) が存在すると再び機能するようになります。 VIN が POR しきい値を上回っており、デバイスの電源がオフ/オンされていない限り、フェイルセーフ レジスタ (例: FS_GRL_FLAGS 、 FS_OVUVREG_STATUS1 、 FS_DIAG_SAFETY 、 FS_STATES ) には次の内容が含まれます。 どの電圧モニターがトリガーされたか(OV/UVフラグ) ウォッチドッグエラーフラグ 障害カウンターとステートマシンのステータス これらのレジスタはPORまたは明示的な書き込みによってのみクリアされ、DEEP-FSに入ることによってはクリアされません。 FS_GRL_FLAGS (一般的な障害の概要) FS_OVUVREG_STATUS1 (VMONがトリガー) FS_DIAG_SAFETY (ウォッチドッグ、CRC、BIST ステータス) FS_STATES (現在のフェイルセーフ状態) VIN が失われていない限り、VDDIO に外部電源を供給して致命的なエラーが発生した後に詳細な障害情報を回復 CAN。VIN が POR を下回ると、すべての揮発性レジスタがクリアされます。 敬具、 ヨゼフ
記事全体を表示
LX2160ardb 上の PCIe エンドポイント lsdk 21.08 を使用して、LX2160ardb_rev2 のエンドポイントとして PCIe を設定しようとしています。ユーザーガイドに記載されているとおり、HOST_AGT_PEX3=1 を設定しました。しかしその後、PCIe3 は u-boot でも Linux コンソールでも表示されなくなりました。何を見逃したのでしょうか? ggrocer_0-1760339883324.png Re: PCIe endpoint on LX2160ardb LS1028ARDB の次の u-boot パッチを参照してください。u-boot に関連コードを追加する必要があります。 nxa13285@lsv07330:/opt/samba/nxa13285/flexbuild/flexbuild/components/firmware/rcw$ git diff diff --git a/ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600.rcw b/ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600.rcw インデックス 057b0f1..2e4fa7d 100644 --- a/ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600.rcw +++ b/ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600.rcw @@ -38,6 +38,7 @@ SRDS_PRTCL_S1_L0=8 SRDS_PRTCL_S1_L1=5 SRDS_PRTCL_S1_L2=11 SRDS_PRTCL_S1_L3=11 +HOST_AGT_PEX2=1 /* PCIe コントローラのエラッタ */ #include <../ls1028asi/a008851.rcw> nxa13285@lsv07330:/opt/samba/nxa13285/flexbuild/flexbuild/components/firmware/rcw$ nxa13285@lsv07330:/opt/samba/nxa13285/flexbuild/flexbuild/components/firmware/uboot$ git diff diff --git a/arch/arm/dts/fsl-ls1028a.dtsi b/arch/arm/dts/fsl-ls1028a.dtsi インデックス 7234faea0e..bda9035ea0 100644 --- a/arch/arm/dts/fsl-ls1028a.dtsi +++ b/arch/arm/dts/fsl-ls1028a.dtsi @@ -123,6 +123,17 @@ 0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 0x40000000>; /* プリフェッチ不可能なメモリ */ }; + + pcie_ep2: pcie_ep@3500000 { + 互換性 = "fsl,ls-pcie-ep"; + レジスタ = <0x00 0x03500000 0x0 0x80000 + 0x00 0x035c0000 0x0 0x40000 + 0x88 0x00000000 0x8 0x00000000>; + reg-names = "regs", "ctrl", "addr_space"; + num-ib-windows = <6>; + num-ob-windows = <8>; + }; + 暗号: crypto@8000000 { 互換性 = "fsl,sec-v5.0", "fsl,sec-v4.0"; fsl、秒時代 = <10>; diff --git a/configs/ls1028ardb_tfa_defconfig b/configs/ls1028ardb_tfa_defconfig インデックス 87357d30c0..0afbc815c1 100644 --- a/configs/ls1028ardb_tfa_defconfig +++ b/configs/ls1028ardb_tfa_defconfig @@ -94,3 +94,4 @@ CONFIG_OF_LIBFDT_OVERLAY=y CONFIG_EFI_LOADER_BOUNCE_BUFFER=y CONFIG_VIDEO=y CONFIG_VIDEO_LS_HDP_LOAD=y +CONFIG_PCIE_LAYERSCAPE_EP=y
記事全体を表示
NOR フラッシュに UBI を接続すると、U-Boot「ubi0: レイアウト ボリュームが見つかりません」というエラーが発生します。 「私は、256 MiB NOR フラッシュ (GD55B02g2) を搭載した i.MX ベースのボードで U-Boot 2024.04 を使用しています。」 U-Boot はフラッシュとパーティションを正しく検出します。 mtdparts=21e0000.qspi:448k(U-Boot),64k(U-BootEnv),-(ubi パーティション) しかし、U-Boot が UBI パーティションを接続しようとすると失敗します。 SPIFlashから環境をロード中... SF: ページサイズ256バイト、消去サイズ64 KiB、合計256 MiBのGD55B02g2を検出しました *** 警告 - CRC が不正です。デフォルトの環境を使用しています UBI から環境をロードしています... ubi0: mtd3 を接続 ubi0: スキャンが完了しました ubi0 エラー: ubi_read_volume_table: レイアウトボリュームが見つかりませんでした ubi0 エラー: ubi_attach_mtd_dev: mtd3 の接続に失敗しました、エラー -22 UBIエラー: mtd3をアタッチできません UBI エラー: UBI を初期化できません、エラー -22 UBI初期化エラー22 正しい MTD パーティションが使用されているかどうか (サイズが十分大きいか) を確認してください。 ** mtdパーティション「ubi-partition」が見つかりません mtdparts と mtd list はパーティションが有効であることを示します。 sf プローブは正常に動作します。 U-Boot が正常に接続できるように、この ubi パーティションを適切に初期化またはフォーマットするにはどうすればよいですか? => mtdパーツ デバイス nor0 <21e0000.qspi>、部品数 = 3 #: 名前 サイズ オフセット mask_flags 0: U-Boot 0x00070000 0x00000000 0 1: U-BootEnv 0x00010000 0x00070000 0 2: ubiパーティション 0x0ff80000 0x00080000 0 アクティブパーティション: nor0,0 - (U-Boot) 0x00070000 @ 0x00000000 デフォルト: mtdids: nor0=21e0000.qspi mtdparts: mtdparts=21e0000.qspi:448k(U-Boot),64k(U-BootEnv),-(ubi-partition) => mtdリスト MTD デバイスのリスト: * ノル0 - デバイス: flash@0 - 親: spi@21e0000 - ドライバ: jedec_spi_nor - パス: /soc/bus@2100000/spi@21e0000/flash@0 - タイプ: NORフラッシュ - ブロックサイズ: 0x10000 バイト - 最小I/O: 0x1バイト - 0x000000000000-0x000010000000 : "nor0" - 0x000000000000-0x000000070000 : 「U-Boot」 - 0x000000070000-0x000000080000 : 「U-BootEnv」 - 0x000000080000-0x000010000000 : 「ubiパーティション」 次を使用して、U-Boot で UBI パーティションをアタッチしてみました。 => sfプローブ => ubi パート ubi パーティション U-Boot が UBI デバイスを正常に接続し、利用可能なボリュームを一覧表示することを期待していました。 しかし、次の理由で失敗しました: ubi0 エラー: ubi_read_volume_table: レイアウトボリュームが見つかりませんでした ubi0 エラー: ubi_attach_mtd_dev: mtd3 の接続に失敗しました、エラー -22 また、パーティション レイアウトが正しいことと、フラッシュが適切に検出されたことを確認するために、mtdparts と mtd list も実行しました。これで有効な UBI パーティションが確認されると思っていましたが、有効な UBI ヘッダーがまだないようです。 Re: U-Boot "ubi0: the layout volume was not found" error when attaching UBI on NOR flash. こんにちは@LoKi 返信が遅くなり申し訳ありません。まずは ubi パーティションをフォーマットして、有効な UBI パーティションにする必要があります。 BR
記事全体を表示
S32K142 の ECC を使用して SRAM のシングルビット エラーを修正するにはどうすればよいですか? SRAMでシングルビットエラーが発生しました。「AN12522 S32K1xx ECCエラー処理」ドキュメントには、エラー処理の3つの方法が紹介されています。シングルビットエラーの修正は自動で行われるのでしょうか?3つの処理方法はどのように設定すればよいでしょうか?ERMはエラー修正イベントの報告のみを行うのでしょうか?それとも、ERMが有効になっていなくてもシングルビットエラーを修正できるのでしょうか? S32K14x および S32K11x デバイスは、単一ビット エラーを同じ方法で処理します。エラー報告モジュール (ERM) は、(有効な場合) 割り込みを生成して、CR0[ESCIEx] ビットを 1 に設定することで有効にできる単一ビット訂正イベントを通知できます。イベントが発生した後にエラーを処理する方法は 3 つあります。 1.通常の MCU 動作: MCU は障害を検出し (障害検出時間)、それを修正します (障害反応時間)。この時点で、MCU は正常に動作し続けます。 2. 障害を管理するための適切な機能安全メカニズムを備えています。MCU は障害を検出し (障害検出時間)、それを修正します (障害反応時間)。この時点で、ソフトウェアは safe_state_system に切り替える必要があります (safe_state_system とは、人身傷害や健康被害が発生する可能性が不当に低い動作モードです)。safe_state_system はユーザーが定義する必要があります。 3. 適切な機能安全メカニズムがない場合: MCU は障害を検出し (障害検出時間)、その後修正しますが、ユーザーにはエラーが発生したことが通知されません。フォールト トレランス時間間隔 (FTTI) が経過した後に危険が発生する可能性があります。 Re: S32K142 ECC如何更正SRAM单比特错误 こんにちは@minsky SRAM 読み取り操作中、ECC デコード ロジックが自動的に動作し、シングル ビット エラー訂正とマルチ ビット訂正不可能な ECC エラー検出を実現します。 複数ビットの訂正不可能なエラーが検出されると、2 サイクルの AHB バス エラー応答が生成され、AHB バスのデータ転送は終了しますが、ターゲット アドレスの SRAM データは変更されません。 https://mp.weixin.qq.com/s?__biz=MzI0MDk0ODcxMw==&mid=2247485836&idx=1&sn=c34d036624606761ad8f67c279251183&chksm=e9124d0ade65c41c2a4d9f4b9fcc7c73b58bd3575828f4afb590646e405aae163765f81da942&scene=21#wechat_redirect https://mp.weixin.qq.com/s?__biz=MzI0MDk0ODcxMw==&mid=2247485852&idx=1&sn=a696a936e3645843e555e02d4355f1c4&chksm=e9124d1ade65c40c20ac22924a6c3109ed11706fc346fdeeeee4488411a714515e3700006213&scene=21#wechat_redirect
記事全体を表示
将 SBC FS26 R21-11 5.0.0 整合到 MBDT 上 您好, 我在恩智浦的网站(MBDT上的SBC FS26 R21-11 5.0.0)上找到了这些驱动程序,我想知道是否有可能将它们内置到MBDT中,如果是的话,该怎么做。 我试着将包含这些驱动程序的文件夹复制并粘贴到 RTD 路径中,但当我打开 S32CT 时,它不允许我添加驱动程序,所以我认为方法不对....。 谢谢! 西蒙 Re: Integration of SBC FS26 R21-11 5.0.0 on MBDT 你找到将 SBC_FS26 与 MBDT 集成的解决方案了吗?我目前正在研究这个问题,如果您能提供任何指导或见解,我将不胜感激。 Re: Integration of SBC FS26 R21-11 5.0.0 on MBDT 嗨,很遗憾完全没有 Re: Integration of SBC FS26 R21-11 5.0.0 on MBDT 请参阅 privete 信息 Re: Integration of SBC FS26 R21-11 5.0.0 on MBDT 您找到解决这个问题的办法了吗? 是否有办法解决这个问题,或者您有什么办法可以让我试试? MBDT FS26
記事全体を表示
使用 SEGGER J-Link 和 S32DS IDE 调试 S32K144 MCU 的问题 当然可以,高萨姆您可以在社区组(如恩智浦论坛、Stack Overflow 或嵌入式系统组)中发布您的问题的清晰技术版本: 大家好, 我正在研究S32K144,目前正在开发定制 MCAL 驱动程序。我使用SEGGER J-Link 调试器和S32 Design Studio (S32DS)进行开发。 在尝试调试代码时,我不断遇到与寄存器和内存访问相关的错误和警告。以下是主要的错误信息: ERROR: Cannot read register 26 (FAULTMASK) while CPU is running ERROR: Cannot read register 27 (CONTROL) while CPU is running ... ERROR: Cannot read register 64 (FPS31) while CPU is running WARNING: Failed to read memory @ address 0xDEADBEEE 意见: 目标程序一开始运行,这些错误就会出现。 当CPU处于执行模式时,调试器似乎无法访问系统或浮空寄存器。 内存警告指向一个无效地址:0xDEADBEEE。 当前设置: MCU:恩智浦 S32K144(ARM Cortex-M4F) IDE:S32 设计工作室 调试器:赛格 J-Link(SWD 模式,1 MHz) 应用:裸机、开发和测试定制 MCAL 驱动程序 调试模式:通过 GDB 服务器连接,并通过 S32DS 进行闪存/调试 问题 为什么 CPU 运行时会出现这些寄存器访问错误? 是否有允许在执行过程中读取寄存器的设置,还是 CPU 必须停止运行? 0xDEADBEEE 内存访问的根本原因是什么? 这是恩智浦驱动程序或 MCAL 中用于未初始化指针的常用默认值吗? 在开发低级 MCAL 驱动程序时,有什么建议的方法来处理这些调试器限制吗? 我真的很希望任何使用过 S32K1xx MCU、MCAL 开发或世纪佳缘 J-Link 工具的人能够提供帮助。如果您需要更多日志或设置细节,请告诉我。 谢谢 Re: Debugging Issue with S32K144 MCU Using SEGGER J-Link and S32DS IDE 你好,@Gowtham_768、 对不起,我的回答太多了,请帮我确认这些信息: 这是你第一次尝试连接板,还是之前能够调试和连接? 您使用的是 S32DS v3.6吗?如果没有,是哪个版本?另外,请说明您是使用 SDK 还是 RTD 驱动程序,以及使用的是哪个版本。 为什么 CPU 运行时会出现寄存器访问错误?是否有允许在执行过程中读取寄存器的设置,还是 CPU 必须停止运行? CPU 必须停止运行。 0xDEADBEEE 内存访问的根本原因是什么?这是恩智浦驱动程序或 MCAL 中用于未初始化指针的常见默认值吗? 0xDEADBEEE 值主要表示出错。它不是一个标准的内存位置,而是一个用来表示内存部分未初始化/有错误的值。我相信在您的情况下,它只是说明无法连接 MCU 在开发低级 MCAL 驱动程序时,有什么建议的方法来处理这些调试器限制吗? 首先,也是最明显的一点,就是要仔细检查连接是否正确。如果您以前可以连接,但现在却不能连接,那么可能有几种原因导致无法连接: 设备在执行大规模擦除时正在使用网络安全功能。 设备是安全的。 闪存配置字段已损坏。 请查看以下详细描述此问题的应用笔记: AN12130:S32K1xx MCU 的生产闪存编程最佳实践 — 应用笔记 致以最诚挚的问候, Julián
記事全体を表示
Android vendor_boot img で imx95 evk ボードのスターティングブロックを作成する imx95 android 15コードをダウンロードし、イメージを正常にビルドしてuuu_imx_android_flash.shでフラッシュしました。デフォルトで avb をサポートしており、フラッシュ プロセスは成功し、ブートローダは正常に動作しますが、boot_jump_linux 関数 armv8_switch_to_el2 を実行すると、ブロックされます。これらの vendor_boot.img と vbmeta-imx95.img を公式にビルドされた img に置き換えてみたところ、うまくいきました。そして、vendor_boot.img を単独で置き換え、uboot でパッケージ チェックを閉じると、カーネルも起動できるSO、ブロックの原因は私が構築した vendor_boot イメージであることがわかりました。vendor_boot イメージを解凍して、公式のものでコンパイルしてみましたが、bootconfig と dtb の違いは見つかりませんでした。 なぜ vendor_boot がカーネル実行問題を解決できないのか疑問に思います。私は vendor_boot のソースを変更していません。ブートローダと DDR タイミングのみを変更した場合、起動の問題の根本原因を見つけるにはどうすればよいですか。 回复: Android vendor_boot img make imx95 evk board starting block テストのためにこれらのイメージを置き換えようとしましたが、ブートローダーとspl /uboot init_boot vendor_boot vbmeta super dtboとパーティションテーブルが置き換えられ、最後にvendor_bootを置き換える必要があることが判明し、起動できるようになりました。つまり、カーネルの起動時にブロックされなくなり、カーネルの起動メッセージ「物理 CPU で Linux を起動しています...」が出力されます。
記事全体を表示
ADC+DMA 首次转换超时 微控制器:s32k312 问题描述: 在组转换模式下使用带 DMA 的 ADC 时,我发现一个持续的问题,即第一次转换启动(Adc_StartGroupConversion)总是导致超时。具体来说 群组通知回调永远不会触发​ 轮询任务中的群组状态时,它会无限期地停留在 " busy " 如果我执行 超时处理程序(由初始失败触发),该处理程序 调用 adc_stopGroupConversion,然后再调用 第二个 ADC_st artGroupConversion,则 后续转换可以 完美运行,不会出现任何 其他问题。 Adc_StartGroupConversion(gularrMcuWrapAdcGroups[ulAdcIter]); Adc_StopGroupConversion(gularrMcuWrapAdcGroups[ulAdcIter]); 问题​ 是否有人遇到过类似的情况,即第一个 ADC 组转换失败(超时/忙状态),但之后工作正常? 这是否是 ADC+DMA 组的已知初始化序列要求(例如,需要一个虚拟转换来"prime" 硬件)? 这是否与时钟门控、开机状态或 DMA 初始化时序有关? 希望了解根本原因或建议的初始化做法,以避免这种变通办法。
記事全体を表示
读/写 DDR 时,DRAM_ADDR10 变为 "1"(i.MX7D) 你好。 该电路基于 i.mx7D-Sabre 板。 如果我写入地址 0x80000000,同样的值也会写入地址 0x80000100。 当我用示波器检查时,确认 DDR_ADDR10 设置为 "1"。 我还确认 DDR_ADDR10 在刷新时序(3.5uSec)设置为 "1"。 除了刷新定时外,DDR_ADDR10 变为 "1 "是否有其他原因? 顺祝商祺! Re: DRAM_ADDR10 becomes '1' when reading/writing DDR (i.MX7D) 你好,pengyong_zhang。 有你们的支持,我做得很好。 我按照"图 9-4 进行了设置。系统地址到物理地址的映射". 我将 BANK 和 ROW 向下移动了 1 位,并启用了 ROW_B15。 我已禁用 COL_B9。 我认为参考手册是矛盾的。 例如,COL_B2。 全总线宽度模式:-----位 2 半总线宽度模式:-----位 3 四分之一总线宽度模式:-----位 4 正确 全总线宽度模式:-----位 2 半总线宽度模式:-----位 1 四分之一总线宽度模式:-----位 3 这与"图 9-4 相对应。系统地址到物理地址的映射". 顺祝商祺! Re: DRAM_ADDR10 becomes '1' when reading/writing DDR (i.MX7D) 你好@塔莫津 您可以通过 RPA 表更改总线宽度,如下图所示: pengyong_zhang_0-1756275387221.png B.R Re: DRAM_ADDR10 becomes '1' when reading/writing DDR (i.MX7D) 你好,pengyong_zhang。 写入 DDR 的值与读取的值一致。 原理图中的错误是整个总线宽度变成了总线宽度的一半。 你能告诉我如何将地址映射寄存器设置为半总线宽度吗? 例如,我不明白为什么地址映射寄存器 2 中的 COL_B5 会从第 5 位变为第 6 位。 第 2194-2195 页上的解释仅适用于总线全宽。 顺祝商祺! Re: DRAM_ADDR10 becomes '1' when reading/writing DDR (i.MX7D) 你好@塔莫津 请使用 md mw 命令读取数据并写入 DDR 地址测试,看看写入值是否与您的写入值相同。我已经在我的 imx7D 板上测试过了,我写入和读取值时没有问题。 你在 DDR 设计中犯了什么错误?我不明白您在原理图文件中提到的错误。 B.R Re: DRAM_ADDR10 becomes '1' when reading/writing DDR (i.MX7D) 你好,pengyong_zhang。 我重读了参考手册并注意到了地址映射寄存器设置。 我发现全总线和半总线之间的列地址有所不同。 当我看到图 9-4 时,我以为 "全屏 "和 "半屏 "是相同的设置。 我以为 HIF 地址没有区别,但我错了吗? 当前设置如下: DDRC_ADDRMAP0 : 0x0000001F DDRC_ADDRMAP1 : 0x00080808 DDRC_ADDRMAP2 : 0x00000000 DDRC_ADDRMAP3 : 0x00000000 DDRC_ADDRMAP4 : 0x00000F0F DDRC_ADDRMAP5 : 0x07070707 DDRC_ADDRMAP6 : 0x0F070707 请指出任何错误。 顺祝商祺! Re: DRAM_ADDR10 becomes '1' when reading/writing DDR (i.MX7D) 你好,pengyong_zhang。 现附上 Kyoto Microcomputer 的调试器 Jetset3 显示的内容。 顺祝商祺! Re: DRAM_ADDR10 becomes '1' when reading/writing DDR (i.MX7D) 你好,pengyong_zhang。 谢谢! DDR 原理图附后。 主寄存器为 0x01041001。 u-启动 重定位的源代码如下: ENTRY(重新定位代码) adr r3, relocate_code ldr r1, _image_copy_start_ofs add r1, r3 /* r1<- 运行&__image_copy_start */ subs r4, r0, r1 /* r4<- 运行以复制偏移量 */ beq relocate_done /* 跳过重新定位 */ ldr r1, _image_copy_start_ofs add r1, r3 /* r1<- 运行&__image_copy_start */ ldr r2, _image_copy_end_ofs add r2, r3 /* r2<- 运行&__image_copy_end */ 复制循环: ldmia r1!, {r10-r11} /* 从源地址 [r1] 复制 */ stmia r0!, {r10-r11} /* 复制到目标地址 [r0] */ cmp r1, r2 /* 直到源端地址 [r2] */ blo copy_loop   在 DDR 中,或非-FLASH 中 0x28080000 的值被复制到 0x9FF93000。 但在 DDR 中,相同的值被复制到 0x9FF93800。 原因是 DRAM_ADDR10 复制到 0x9FF93000 时会变为 "1"。 我想知道 DRAM_ADDR10 为什么会变成 "1",以便解决这个问题。   顺祝商祺! Re: DRAM_ADDR10 becomes '1' when reading/writing DDR (i.MX7D) HI@tamotsu 你提到在 DDR 设计中犯了一个错误,什么是错误?如何更改 MR 寄存器? 能否提供有关问题描述的更多细节?测试代码和完整的日志文件。 B.R Re: DRAM_ADDR10 becomes '1' when reading/writing DDR (i.MX7D) 我会补充更多信息。 我在 DDR 设计中犯了一个错误,将主寄存器的 DATA_BUS_WIDTH 设置为 Half DQ。 顺祝商祺! Re: DRAM_ADDR10 becomes '1' when reading/writing DDR (i.MX7D) 你好,pengyong_zhang。 调试器发出的命令 我是通过在 u-boot 中使用 relocate.S 的过程找到的。 命令是 ldmia 和 stmia。 我试着将自动刷新改为自刷新,但效果并不明显。 顺祝商祺! Re: DRAM_ADDR10 becomes '1' when reading/writing DDR (i.MX7D) 你好@塔莫津 你在写什么命令? B.R
記事全体を表示
swd構成デバイスが検出されません こんばんは、 残念ながら、フラッシュを誤ってプログラミングした後、ターゲットを見つけることがCANません。 .launchを削除してみましたファイル; カードが存在することはCAN認識しますが、もう見つかりません。 外部デバッガーがありません。ターゲットを修復するにはどうすればいいですか? よろしくお願いいたします。 Transidico_0-1757429938631.png Re: swd configuration no device detected こんにちは、パブロさん。 RT1062-EVKB ボードを使用していますが、プログラムもできません。MCUXpresso IDE は CMSIS-DAP デバッガーを検出しますが、デバッグ セッションを起動すると、SWD が検出されないというメッセージが表示されます。セキュア プロビジョニング ツールで提案されたことを実行しようとしましたが、チップの検出にも失敗しました。SO、CMD を使用して強制しようとしましたが、何も機能しませんでした。何か提案はありますか? Re: swd configuration no device detected おはようございます、パブロさん。 どうぞよろしくお願いいたします。なんとか修理でき、カードは動作するようになりました。 なぜこのようなことが起こったのか教えていただけますか? 改めて感謝申し上げます。 Re: swd configuration no device detected こんにちは@Transidico 、 フラッシュメモリが保護されている可能性があります。メモリが保護されているかどうか確認してもらえますか? これは、MCUXpresso Secure Provisioning Toolを使用して実行 CAN。 Pablo_Ramos_1-1757633225149.png UART ボタン (赤) をクリックします。これにより、「ターゲット プロセッサとの接続」ウィンドウが開きます。 MCU-Link USB (J13) を介してボードを接続し、テスト接続ボタン (緑) を使用して UART 接続をテストします。 フラッシュが図のように固定されている場合は、次の操作を試してください。 コマンドラインインターフェース (青) を開き、次のコマンドを実行します。 blhost -p COM37,57600 -- フラッシュ消去すべて非セキュア 注: COM ポートは設定によって異なる場合があります。 よろしくお願いします、 パブロ Re: swd configuration no device detected 一括消去コンソール: フラッシュ操作「消去」を実行しています (フラッシュ消去) - Wed Sep 10 10:16:37 CEST 2025 MCU 情報を確認しています... ターゲットをスキャンしています... フラッシュアクションを実行しています... MCUXpresso IDE RedlinkMulti ドライバ v24.9 (2024年9月19日 19:34:05 - crt_emu_cm_redlink.exe ビルド 802) ( 0) リモート構成の読み取り Wc(03)。キャッシュはサポートされていません。 C:/ユーザー/transidico/Desktop/workspace2/TB1585/Debug\MCXC242.xml にチップ XML ファイルが見つかりました (5)リモート設定完了 既存の LinkServer プロセスに再接続しました。 ============= スクリプト: MCXC_connect.scp ============== MCXC 接続スクリプト プローブインデックス = 1 に接続しています このプローブ = 1 このTAP = 0 このコア = 0 DPID = 0BC11477 NRESETをアサートする リセットピンの状態: 00 パワーアップデバッグ MDM-AP APID: 0x001C0020 MDM-AP システムリセット/ホールドリセット/デバッグ要求 MDM-AP制御: 0x00000008 MDM-AP ステータス (フラッシュ準備完了): 0x00000036 部品は固定されています 一括消去が必要です ============= スクリプト終了 ============================ プローブファームウェア: MCU-LINK FRDM-MCXC242 (r0E7) CMSIS-DAP V3.160 (NXP Semiconductors) シリアル番号: D3RQLYWOEAOJ0 VID:PID: 1FC9:0143 USBパス: 0001:000d:00 適切なコアを検索した後、コア0のメモリを使用する redlink サーバー クライアント - 2000 ミリ秒後にサーバーからの応答 (op 62 へ) を受信できませんでした - タイムアウトしました (rc 138) 接続に失敗しました - EE(47): デバッグメールボックス要求が失敗しました...再試行しています redlink サーバー クライアント - 2000 ミリ秒後にサーバーからの応答 (op 12 へ) を受信できませんでした - タイムアウトしました (rc 138) プローブ 1 TAP 0 は TAP ID の読み取りに失敗しました - Ee(FF)。Redlink インターフェース エラー 255。 接続に失敗しました: Ee(FF)。Redlink インターフェース エラー 255。 接続してリセットしました。以前は: 未接続でした。DpID: 0BC11477。CPUID: 00000000。情報: 最後のスタブエラー0: OK 最後のスティッキーエラー: 0x0 AIndex: 0 デバッグバスが選択されました: MemAp 0 DAP 速度テストが実行されなかったか失敗しました デバッグ プロトコル: SWD。RTCK: 無効。ベクターキャッチ: 無効。 (100)ターゲット操作に失敗しました redlink サーバー クライアント - 警告 - サーバーからの予期しないデータ 28 バイト デバッグセッションの終了時にエラーが発生しました - Nn(05)。DAP アクセスにおける Wire ACK 障害 操作を実行できません! コマンドは終了コード 1 で失敗しました Re: swd configuration no device detected おはようございます、パブロさん。 LPC55s69のプログラミングを試みましたが、うまくいきませんでした。フラッシュメモリの一括消去も試みましたが、やはりうまくいきませんでした。 .launchファイルを削除した場合デバイスが見えます Transidico_0-1757489076103.png しかし、充電しようとするとデバイスが認識されません。 Transidico_1-1757489149760.png 本当にどうすればいいのか分からない。 ありがとうございます。よろしくお願いいたします。 Re: swd configuration no device detected この新しいファームウェアが何と関係があるのか分かりません。フラッシュを間違ってプログラムした場合、フラッシュを一括消去すると問題が解決すると思います。コンソールからの変数を使用してフラッシュをプログラムし、コンソールが突然シャットダウンした場合、フラッシュを誤ってプログラムしたことになります。一括消去でこの問題が解決するかどうか教えていただけますか? ご返信ありがとうございます。 Re: swd configuration no device detected こんにちは@Transidico 、 CAN LPC55S69 のファームウェアを更新することで問題が解決するかどうかをテストするのを手伝ってもらえますか? 次の投稿に記載されている手順に従ってください。 MCX-NとMCX-Aのデバッガーを更新する方法 - NXPコミュニティ FRDM-MCXC242 で EVK を DFU モードに設定するには、ジャンパー JP1 を閉じる必要があります。 Pablo_Ramos_0-1757440699684.png よろしくお願いします、 パブロ Re: swd configuration no device detected 何が起こったのか説明しましょう。私は統合された mcxpresso コンソールを備えた frdm-mcxc242 ボードを使用しています。コンソールから挿入してフラッシュ ドライブに変数を保存する、非常にシンプルなプログラムを作成してみたいと思いました。変数をフラッシュ ドライブに 3 回または 4 回保存して読み取った後、ある時点で、前述の画面 (SWD にデバイスが利用できません) が表示されました。 外部デバッガーは使用していませんが、ボードを回復する必要があります。リセットボタンを押してPCを再起動してみたのですが、効果はありませんでした。 ボードは紛失しましたか?
記事全体を表示
恩智浦 iMX95 EVK - NPU TensorFlow Lite 模型 你好、 我们在 NPU 上运行了 eIQ TensorFlow Lite 示例模型,但却出现了以下错误: 信息:加载模型 mobilenet_v1_1.0_224_quant.tflite INFO: 解决了记者问题 INFO:已创建外部代表。 remoteproc remoteproc 0:正在启动几个镜像 neutronFirmware.elf remoteproc remoteproc0:远程处理器 neutron-rproc 已启动 INFO:NeutronDelegate 委托:31 个节点中已委托 29 个节点,1 个分区。 信息:应用了外部委托。 信息:为 CPU 创建了 TensorFlow Lite XNNPACK 代理。 中子 4ab00004.imx95-neutron:ioctl 无效。cmd=1075577096,arg=549719032088 无法创建中子推理任务 错误:元器件="Neutron Driver",category="内部故障",代码=442 错误:节点编号 31(NeutronDelegate)无法调用。 错误:调用 tflite 失败! 这些示例是使用以下代码包构建的: # AI/ML IMAGE_INSTALL:append =" tensorflow-lite-neutron-delegate" 目前,远程处理器显示为脱机: root@toradex-smarc-imx95-12593622:/sys/class/remoteproc/remoteproc0# cat state 脱机 在尝试手动启动远程处理器时,我遇到了权限错误: root@toradex-smarc-imx95-12593622:~# echo rproc-neutron-rproc-fw> /sys/class/remoteproc/remoteproc0/firmware -sh:/sys/class/remoteproc/remoteproc0/firmware:权限被拒绝 root@toradex-smarc-imx95-12593622:~# echo start> /sys/class/remoteproc/remoteproc0/state -sh:/sys/class/remoteproc/remoteproc0/state:权限被拒绝 我们目前正在参照 IMX_ML_User_Guide,在 NPU 上运行 eIQ Toolkit TensorFlow Lite 示例,但遇到了微码不匹配错误。 我们的设置使用 电路板支持包 版本 scarthgap-6.6.36-2.1.0和 eIQ 工具包 1.16.0 版。我们将 TensorFlow Lite 模型 .tflite但在执行过程中,出现了以下错误: Screenshot from 2025-10-10 17-05-43 (1).png 为了排除故障,我们测试了多个电路板支持包和 eIQ Toolkit 版本组合(电路板支持包 6.6.52_2.2.0、6.12.34_2.1.0、6.12.34_2.1.0), lf-6.6.3_1.0.0 6.6.23_2.0.0 和 6.6.36_2.1.0使用 eIQ 1.16.0、1.15.1 和 1.14.0)。但是,任何微码版本都与预期版本不符。 请提供预期的微码二进制文件 (NeutromFirmware.elf)执行或提出任何修改意见。 Re: NXP iMX95 EVK - NPU TensorFlow Lite Model 你好, 电路板支持包 版本从 6.12.20 升级到 6.12.34,并执行了 eIQ 工具包中的默认示例。所附截图显示了结果--示例成功运行,并在恩智浦 i.MX95 EVK 上生成了默认图像分类输出。然而,在执行过程中,31 个节点中没有一个被委托。 NXP_iMX95.png 我转换了我的 .tflite该模型使用最新的 eIQ 工具包第 17 版。但是,当我使用 TensorFlow Lite 17 版本运行该示例时,却没有显示图像分类结果。我附上了显示此问题的截图。 v17.png 上述两个案例都是在恩智浦 i.MX95 EVK 上执行的。 不过,我们的主要目标是在 Toradex SMARC i.MX95 EVK 上运行这些示例。 由于Toradex i.MX95 EVK尚未发布6.12.34版本的稳定电路板支持包,因此Toradex主板上的电路板支持包升级仍然不稳定,导致在NPU上运行人工智能工作负载时出现多个错误。 Re: NXP iMX95 EVK - NPU TensorFlow Lite Model 又见面了 你应该这样转换你的模型: /opt/nxp/eIQ_Toolkit_v1.17.0/bin/neutron-converter/MCU_SDK_25.09.00+Linux_6.12.34_2.1.0/neutron-converter \ --input you_model_quant.tflite \ --output your_model_neutron.tflite \ --target imx95 \ --convert-inputs-uint8-to-int8 \ --convert-outputs-uint8-to-int8 我让 YOLOv11 Nano 以 27 FPS 的速度运行。我仍然收到版本不匹配警告,但这些都不会造成问题。有警告并不好玩,但现在也无能为力。 希望对您有所帮助。 干杯 Re: NXP iMX95 EVK - NPU TensorFlow Lite Model 又见面了 我设法用最新版本(6.12.34)转换了更多的节点和操作符。从 3% 到 62 美元的运营商转换,这对于基于 YOLOv11 的机型来说真是不错。 现在我也遇到了版本不匹配的问题。但这是我主板上的版本造成的。因此,我试图将它从 6.12.20 升级到 6.12.34。请检查您拥有的版本和用于转换的版本。 干杯 Re: NXP iMX95 EVK - NPU TensorFlow Lite Model 您好, 我不知道这个错误,也许恩智浦公司的人可以插话。 我也按照指南,成功转换了我的定制单级探测器(基于 CNN)。遗憾的是,只有 1 个节点被加载到委托中(其余节点仍由 CPU XNNPACK 处理): ====== V4L2ENC: 1.26.0 build on May 7 2025 08:46:20. ====== INFO: NeutronDelegate delegate: 1 nodes delegated out of 697 nodes with 1 partitions. INFO: Neutron delegate version: v1.0.0-a5d640e6, zerocp enabled. INFO: Created TensorFlow Lite XNNPACK delegate for CPU. 这可能是因为转换后,697 个中子图中只创建了 1 个。只有 27 名操作员进行了转换。lol Conversion statistics: Number of operators after import = 678 Number of operators after optimize = 723 Number of operators converted = 27 Number of operators NOT converted = 696 Number of operators after extract = 697 Number of Neutron graphs = 1 Number of operators NOT converted = 696 Operator conversion ratio = 27 / 723 = 0.0373444 Operators converted = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27, 我再次联系了 Variscite 的支持人员,看看他们是否有什么好主意。很遗憾恩智浦没有真正回复。 希望你能找到解决办法。我会继续调查,如果有什么发现,我会告诉你。 干杯 Re: NXP iMX95 EVK - NPU TensorFlow Lite Model 您好, 感谢您的支持。我查看了您分享的链接,并按照提供的步骤进行了操作,但还是遇到了微码不匹配错误。我附上了一张屏幕截图供你参考。 Screenshot from 2025-10-31 17-54-09.png 能否请您检查一下并帮助我们解决问题? Re: NXP iMX95 EVK - NPU TensorFlow Lite Model 恩智浦的支持真的很糟糕,他们的文档也没有提供我们所需要的一切,更不用说那些不带 Neutron 兼容模型的映像了--因为他们没有将其转换并添加到映像中。 我联系了Variscite,该公司提供了集成恩智浦iMX 95的板,他们为我提供了帮助。即使是使用 NPX 示例,也必须自己转换模型才能正常工作。请按此处说明操作: https://dev.variscite.com/dart-mx95/mx95-yocto-walnascar-6.12.20_2.0.0-v1.2/machine-learning/ 我还没有进行转换,因为忙于其他事情。 希望对你有所帮助。 Re: NXP iMX95 EVK - NPU TensorFlow Lite Model 我们已经更新到最新的电路板支持包版本,但问题仍然存在。您能帮助我们解决这个问题吗? Re: NXP iMX95 EVK - NPU TensorFlow Lite Model 您好, 我面临着同样的问题,却无法解决。 我测试了图片附带的示例代码 - 在示例下。我也遇到了同样的问题,NeutroDelegate 无法正确委托节点。我用我们的检测模型试了试,结果和预想的一样。 ====== V4L2ENC: 1.26.0 build on May 7 2025 08:46:20. ====== INFO: NeutronDelegate delegate: 0 nodes delegated out of 678 nodes with 0 partitions. Error in cpuinfo: prctl(PR_SVE_GET_VL) failed INFO: Created TensorFlow Lite XNNPACK delegate for CPU. 任何这样的尝试: echo start > /sys/class/remoteproc/remoteproc0/state 结果是拒绝许可。 我试过很多图片: 6.12.20_2.0.0-v1.1:可以工作,可以启动,但委托没有得到正确分配。 6.6.52_2.2.0-v1.1:不起作用-甚至无法启动。 6.6.23_2.0.0-v1.1:不起作用-甚至无法启动。 6.6.1_1.0.0-v1.. 00:不起作用-甚至无法启动。 我们正在测试或试图测试 Variscite DART DM95 附带的 NXP i.MX 95。图片是从他们的网站上下载的。我也尝试过最新的恩智浦版本,但这也行不通。 您知道权限被拒绝的原因是什么吗?如果您有特定的工作图像,能否分享下载链接? 提前感谢您的支持。 干杯 Re: NXP iMX95 EVK - NPU TensorFlow Lite Model 你好。 这很奇怪,所以请确保你有最新的电路板支持包,擦掉板上的 linux 再烧掉,我不能再说了,因为它在这里运行良好。 此致 Re: NXP iMX95 EVK - NPU TensorFlow Lite Model 你好, 我们按照你的建议尝试了下面的命令,但仍然遇到了权限被拒绝等错误。我们也在尝试使用 root 和 sudo 命令,但仍然面临权限被拒绝的问题。已添加屏幕截图供您参考。 1.echo stop> /sys/class/remoteproc/remoteproc0/state 2.cat /sys/class/remoteproc/remoteproc0/state 3.ls /lib/firmware 4.echo NeutronFirmware.elf> /sys/class/remoteproc/remoteproc0/firmware Screenshot from 2025-10-16 14-57-17.png Re: NXP iMX95 EVK - NPU TensorFlow Lite Model 你好 根据你的错误信息,你同时遇到了 RemoteProc 权限问题和 NPU 委托失败。让我来帮你逐步解决这些问题。 1.RemoteProc 权限问题 您在尝试手动控制远程处理器时看到的权限错误很常见。根据 RemoteProc 文档,在进行更改之前,需要确保远程处理器处于正确状态。 # cat /sys/class/remoteproc/remoteproc0/state 如果出现权限拒绝错误,请先尝试停止远程处理器: # echo stop> /sys/class/remoteproc/remoteproc0/state ( 然后验证是否脱机: # cat /sys/class/remoteproc/remoteproc0/state offline 2.固件加载过程 在加载固件时,RemoteProc 框架默认会查找存储在 /lib/firmware 内的 *.elf 固件(1)。您可以将固件复制到该位置: $ scp hello_world.elf root@ :/lib/firmware 如果固件存储在其他地方,可以更新固件路径: # echo -n new_path> /sys/module/firmware_class/parameters/path 3.加载和启动远程处理器 要加载固件,请将其名称写入固件文件: # echo .elf> /sys/class/remoteproc/remoteproc0/firmware 重要: 确保运行 *.elf 固件,否则将无法运行 使用新固件启动远程处理器: # echo start> /sys/class/remoteproc/remoteproc0/state 您应该会看到类似的输出结果: [12594.692880] remoteproc remoteproc0:启动 imx-rproc [12594.698629]remoteproc remoteproc 0:正在启动 fw 图片 hello_world.elf,size 240736 [12594.706192]remoteproc remoteproc0: no dtb rsrc-table [12594.761474]remoteproc remoteproc0:远程处理器 imx-rproc 已启动 4.NPU 配置要求 根据社区讨论,设置 NPU 有几个重要的考虑因素: 验证 NPU 支持:确保您的硬件支持 NPU 执行,且您使用的 TensorFlow Lite 版本与 NPU 加速兼容 安装 NPU 驱动程序:确保正确安装和配置 NPU 驱动程序 使用正确的 TensorFlow Lite 委托:确保使用合适的委托执行 NPU 5.故障排除步骤 检查硬件支持:验证硬件配置是否支持 NPU 代理 固件验证:确保已加载正确的 NPU 固件 驱动程序状态:检查中子驱动程序是否已正确加载并可访问 委托配置:验证 TensorFlow Lite 委托是否针对特定硬件进行了正确配置 6.替代方法 如果继续遇到问题,请考虑先使用纯 CPU 推理进行测试,以确定问题是否与 NPU 加速有关。您可以使用 USE_HW_ACCELERATED_INFERENCE=0 此致  
記事全体を表示
ex_ecc with -DPTMW_SE05X_Auth=ECKey_PlatfSCP03 I'm using Plug & Trust middleware (v04.05.03) from  github plug-and-trust. Built ex_ecc with CMake flags: -DPTMW_Applet=SE05X_C -DPTMW_HostCrypto=OPENSSL -DPTMW_SE05X_Auth=ECKey_PlatfSCP03 Configured /tmp/SE05X/plain_scp.txt: Running ./ex_ecc /dev/i2c-0 fails with: SE ECDSA Public Key is not Provisioned!!! and sss_session_open failed. Full log: App :INFO :PlugAndTrust_v04.05.03_20240502 App :INFO :Running //tmp/ex_ecc App :INFO :Using PortName='/dev/i2c-0' (CLI) ... App :WARN :Using SCP03 keys from:'/tmp/SE05X/plain_scp.txt' App :ERROR:Unknown key type ... sss :INFO :atr (Len=35) ... sss :INFO :Newer version of Applet Found sss :INFO :Compiled for 0x70200. Got newer 0x70216 ... sss :ERROR:SE ECDSA Public Key is not Provisioned!!! App :ERROR:sss_session_open failed ... How do I provision the ECDSA public key for ECKey_PlatfSCP03 auth? Smart Cards Re: ex_ecc with -DPTMW_SE05X_Auth=ECKey_PlatfSCP03 Hi @carlos_o  Thanks for the previous guidance. I resolved the "SE ECDSA Public Key is not Provisioned" issue with the following steps on SE052F: Set default session login to SSS_HAVE_SE05X_AUTH_PLATFSCP03. Run the se05x_Delete_and_test_provision example to perform AddAttestationKeys and ReInitializeTestSample (all succeeded with kSE05x_Result_SUCCESS). Switch default session login to SSS_HAVE_SE05X_AUTH_ECKEY_PLATFSCP03. After this, ex_sss_boot_open succeeds, and ./ex_ecc /dev/i2c-0 runs without errors. Can you confirm if this workflow:SSS_HAVE_SE05X_AUTH_PLATFSCP03 -->provision --> SSS_HAVE_SE05X_AUTH_ECKEY_PLATFSCP03 is correct and recommended? Re: ex_ecc with -DPTMW_SE05X_Auth=ECKey_PlatfSCP03 Hi @KiteJLKo  Could you try to update to SE-PLUG-TRUST-MW_04.07.01?  Re: ex_ecc with -DPTMW_SE05X_Auth=ECKey_PlatfSCP03 Hi @carlos_o , My Env: yocto Linux  Re: ex_ecc with -DPTMW_SE05X_Auth=ECKey_PlatfSCP03 Hi @KiteJLKo  Could you please provide in which environment are you building the code? (Windows, linux, specific microcontroller)
記事全体を表示
RT1051 PWM Capture Counter Stop Hello, recently when I was doing a project about FlexPWM capture on RT1051, I encountered a problem that the timer could not start properly, when I remove the crossover code or set it to 1 crossover frequency, Counter can run normally, but when I set it to 2 crossover frequency or higher crossover frequency Counter stops, what is the reason for this? void Capture_config(void) { pwm_input_capture_param_t pwm_input_capture; gpio_pin_config_t PWM_pin_config; //初始化输入捕获管脚 IOMUXC_SetPinMux(PWM2_PWMA03_IOMUXC, 0U); //设置外部引脚的复用功能 IOMUXC_SetPinConfig(PWM2_PWMA03_IOMUXC, PWMC_INPUT_PAD_CONFIG_DATA); //设置引脚的 pad 属性 PWM_pin_config.direction = kGPIO_DigitalInput; PWM_pin_config.interruptMode = kGPIO_NoIntmode; GPIO_PinInit(PWM2_PWMA03_GPIO, PWM2_PWMA03_GPIO_PIN, &PWM_pin_config); //初始化输入捕获配置参数 pwm_input_capture.captureInputSel = false; pwm_input_capture.edge0 = kPWM_RisingEdge; //pwm_input_capture.edge1 = kPWM_FallingEdge; pwm_input_capture.enableOneShotCapture = false; //pwm_input_capture.edgeCompareValue = 10; //当captureInputSel为FALSE时,此处设值无意义 pwm_input_capture.fifoWatermark = 0; PWM_SetupInputCapture(PI_PWM_BASEADDR, kPWM_Module_3, kPWM_PwmA, &pwm_input_capture); //开启捕获中断 //set_IRQn_Priority(PWM2_3_IRQn,Group4_PreemptPriority_0, Group4_SubPriority_0);//设置中断优先级 //PWM_EnableInterrupts(PI_PWM_BASEADDR, kPWM_Module_3, kPWM_CaptureA0InterruptEnable| kPWM_CaptureA1InterruptEnable ); PWM_EnableInterrupts(PI_PWM_BASEADDR, kPWM_Module_3, kPWM_CaptureA0InterruptEnable ); EnableIRQ(PWM2_3_IRQn); } /** * @brief 初始化 PWM 配置参数 * @retval 无 */ void PWM_config(void) { pwm_config_t pwmConfig;//定义pwm 配置结构体 PWM_Deinit(PI_PWM_BASEADDR, kPWM_Module_3); /*设置AHB总线时钟和IP总线时钟*/ CLOCK_SetDiv(kCLOCK_IpgDiv, 0x3); /* Set IPG PODF to 3, divede by 4 */ /*设置pwm 错误输入为高电平,表示没有错误,只有当pwm 没有错误输入或者禁止错误检测才能正常输出pwm波*/ XBARA_Init(XBARA1); XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1Fault0); XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1Fault1); XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1234Fault2); XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1234Fault3); PWM_GetDefaultConfig(&pwmConfig); pwmConfig.reloadLogic = kPWM_ReloadPwmFullCycle; //新值在上一个pwm周期输出结束之后加载到缓冲寄存器中 pwmConfig.pairOperation = kPWM_Independent; // 工作在独立模式 pwmConfig.clockSource = kPWM_BusClock; pwmConfig.enableDebugMode = true; // 使能DebugMode pwmConfig.prescale = kPWM_Prescale_Divide_128; //1320000000/128/65535=16Hz=PWM最小频率 //初始化 PWM 并且判断初始化是否成功 if (PWM_Init(PI_PWM_BASEADDR, kPWM_Module_3, &pwmConfig) == kStatus_Fail) { PRINTF("PWM initialization failed\n"); } Capture_config(); PWM_SetPwmLdok(PI_PWM_BASEADDR,kPWM_Control_Module_3 , true); PWM_StartTimer(PI_PWM_BASEADDR, kPWM_Control_Module_3 ); } i.MXRT 105x Re: RT1051 PWM Capture Counter Stop Hi @coderick , Thanks for your interest in NXP MIMXRT series! Did you set BOARD_PWM_BASEADDR->SM[3].VAL1 & INIT in your project? If VAL1 is still 0, it will cause a problem. Best regards, Gavin
記事全体を表示
SEMC Configuration for SDRAM Hi, I am using a custom NXP RT1176 board, and in the SEMC interface for SDRAM, the hardware only provides address lines A0–A11. With this configuration, we can access a maximum of 16MB of SDRAM. However, I would like to use 32MB, so I selected a 64MB SDRAM part (Alliance AS4C32M16SB) and left the A12 address line floating. My intention is to use the lower 32MB of the device. I have configured SEMC for 64MB, mapping the memory range from 0x80000000 to 0x80FFFFFF. In this region, I am observing 16-bit read/write failures at certain addresses. Interestingly, when I access memory from 0x81000000 to 0x81FFFFFF (the upper 32MB), it works correctly. I’ve attached the code I used for configuration. Can you please review it and let me know if any improvements are needed, or if this kind of setup (with A12 floating) is valid and supported by SEMC? Best regards, Pavanakumar A G Re: SEMC Configuration for SDRAM A12 should be held low on the SDRAM side(I suggest confirming this with the manufacturer).  BR, Omar Re: SEMC Configuration for SDRAM Thank you, @Omar_Anguiano, for your reply. On our board, A12 is floating on both the controller side and the SDRAM side. As you mentioned, A12 should be held at a known logic level. Could you please clarify: What logic level should we use for A12 in this case (HIGH or LOW)? Do we need to drive A12 to the same known level on both sides, or is it sufficient to set it only on the SDRAM side? Re: SEMC Configuration for SDRAM Avoid floating  Lines. Ideally, do not leave A12 floating; tie it to a known logic level so you can access the lower half.  BR, Omar
記事全体を表示
用于 mcxn947 的 flexio qspi 恩智浦你好, 我需要使用 flexio 来模拟 qspi 接口才能使用或非 flash。我想知道是否有任何方法可以直接对闪光灯进行编程,类似于 ISP 模式的工作方式。 我已经简要地阅读了参考手册,看来MCX无法在flexio上与qspi进行直接交互,只能与可以支持此功能的flexspi进行直接交互。 TomC818_1-1753201120542.png nxp 提供的现有工具中是否有可以实现此功能的工具? 我还查看了关于使用 flexio 仿真 qspi 的 AN14175。 TomC818_0-1753200761108.png 我想问一下,中断模式的 flexio qspi 和 edma 模式的 flexio qspi 有什么区别?它们各自的性能如何,每种模式的用例又是什么。 启动 ROM | 启动配置 | 闪存 通信& 控制(I3C | I2C | SPI | FlexCAN | 以太网 | FlexIO) 核心与内存 MCX N Re: flexio qspi for mcxn947 你好@TomC818 我可以像 ISP 使用 FlexsPI 一样通过 Flexio-QSPI 对 NOR Flash 进行编程吗? 不,不是直接。 ISP 仅通过 FlexSPI 而非 FlexIO 仿真 QSPI 支持外部闪存编程。 MCX 中的 ROM 引导加载程序 (ISP) 无法识别或支持 FlexIO 作为可编程接口。   BR 哈利
記事全体を表示
S32K36x 支持的 ADC 实例 公司:AVNET 联系人姓名:Norm Siegel 设备:S32K36x 队员们好 仅根据表 270 来报告一下。参考手册 " ADC_0/ADC_1/ADC_2 的配置和支持的实例在 S32K36x " 中不可用。 但是,引脚工具 (RTD 6.0.0)允许为此类 ADC 实例分配引脚。 Adc_Sar_Ip驱动程序的Adc 硬件单元不包括 ADC_0/ADC_1/ADC_2。 当用户选择 ADC_0/ADC_1/ADC_2 时,Bctu_Ip驱动程序的Adc 目标掩码应产生错误/警告。 请分享您的反馈意见。 提前感谢您的帮助。 祝您愉快 致以最崇高的敬意, Leonardo RTD Re: ADC supported instances for S32K36x 你好@_Le_、 RTD 开发团队确认该问题是 RTD 驱动程序的一个错误。门票编号ARTD-196382 顺祝商祺! 丹 Re: ADC supported instances for S32K36x 根据参考手册 " SDADC_2/SDADC_3 在 S32K36x " 中不可用,SDAD C 也有同样的问题。但配置工具似乎允许使用它们。
記事全体を表示
S32K39-37-36におけるCoolFlux DSPの対象アプリケーション NXPについて: 大金半導体 お問い合わせ: Heedong Lee デバイス: S32K39-37-36 こんにちは、チームの皆さん お客様と私の理解では、S32K39-37-36 は安全な EV 制御アプリケーション用に設計されています。 - モータ制御(3相または6相モーター、Si IGBT/SiC/GaNトランジスタ) - 電力変換(DCDC、OBC) - バッテリー・マネジメントシステム(BMS)制御 - 車載制御ユニット(VCU)またはドメイン制御 特に、CoolFlux DSP は、モーター リゾルバ アプリケーション (S32K39-36) 用の FIR フィルタリング機能を実装し、SDADC からの生データを後処理し、構成されたサンプリング レートに従って最終サンプルを提供するように構築されています。 ただし、お客様は、CoolFlux DSP が次のアプリケーションでどのような役割を果たすことができるかを知りたいと考えています。 - 電力変換(DCDC、OBC) - バッテリー・マネジメントシステム(BMS)制御 - 車載制御ユニット(VCU)またはドメイン制御 また、アプリケーションで SDADC が使用されていない場合、CoolFlux DSP は他にどのような操作を実行できますか? ご協力をよろしくお願いいたします。 良い1日を! よろしくお願いします、 レオナルド クールフラックス 優先度: 高 Re: Target applications of CoolFlux DSP in S32K39-37-36 「CF」はCoolFluxの略で、 ペトル Re: Target applications of CoolFlux DSP in S32K39-37-36 フィードバックありがとうございます。 頭字語「CFSDADC」の「CF」はどういう意味ですか? Re: Target applications of CoolFlux DSP in S32K39-37-36 こんにちは、 Threadで述べたように、CoolFlux DSPの主な(そして唯一の)CASEは、モータ制御アプリケーションです。開発フェーズでは、他のユース CASE のサポートは要求されませんでした。その他の/新しいユースCASEの場合は、FW がそのまま他のユースCASEをサポートできるかどうかを確認するために分析を実行する必要があります。あるいは、何らかの変更が必要になるか、異なる機能を備えた異なるバージョンの FW が必要になる可能性があります。 2番目の質問に関して。SDADC 入力ストリームの代わりに、CFSDADC FW は DMA-WRITE バッファとクロックしきい値スケジューリング モードで動作 CAN。ただし、現時点で RTD ドライバがこれをサポートしているかどうかはわかりません。 一般に、CFSDADC FW は入力データ (SDADC または DMA-WRITE バッファ) の次のプロセッシングをサポートします。アップサンプリング、FIR フィルタリング、デシメーション、調整 (ゲインまたはオフセット)、IIR フィルタリング。 よろしくお願いします。 イインドリッヒ。
記事全体を表示
NXP OTA の例におけるキャッシュ不可能な領域 皆様へ ここで示されている OTA メカニズムの例を使用しようとしています。 https://github.com/nxp-mcuxpresso/mcuxsdk-examples/tree/release/25.09.00-pvw1/_boards/evkbmimxrt1170/ota_examples/mcuboot_opensource リンカー スクリプトには次のセクションがあります。 /* Specify the memory areas */ MEMORY { m_flash_config (RX) : ORIGIN = 0x30000400, LENGTH = 0x00000C00 m_ivt (RX) : ORIGIN = 0x30001000, LENGTH = 0x00001000 m_interrupts (RX) : ORIGIN = 0x30002000, LENGTH = 0x00000400 m_text (RX) : ORIGIN = 0x30002400, LENGTH = TEXT_SIZE m_qacode (RX) : ORIGIN = 0x00000000, LENGTH = 0x00040000 m_data (RW) : ORIGIN = 0x20240000, LENGTH = 0x00040000 m_data2 (RW) : ORIGIN = 0x202C0000 + RPMSG_SHMEM_SIZE, LENGTH = 0x00080000 - RPMSG_SHMEM_SIZE rpmsg_sh_mem (RW) : ORIGIN = 0x202C0000, LENGTH = RPMSG_SHMEM_SIZE m_core1_image (RX) : ORIGIN = CORE1IMAGE_START, LENGTH = 0x00040000 } Then later there is: __NDATA_ROM = __ram_function_flash_start + (__ram_function_end__ - __ram_function_start__); .ncache.init : AT(__NDATA_ROM) { __noncachedata_start__ = .; /* create a global symbol at ncache data start */ *(NonCacheable.init) . = ALIGN(4); __noncachedata_init_end__ = .; /* create a global symbol at initialized ncache data end */ } > m_data2 . = __noncachedata_init_end__; .ncache : { *(NonCacheable) . = ALIGN(4); __noncachedata_end__ = .; /* define a global symbol at ncache data end */ } > m_data2 これは、OCRAM2 の残りの部分 (202C_0000 から 2033_FFFF - 512KB) として追加のキャッシュ不可能なセクションを定義します。 ただし、Board_ConfigMPU は次のことを行います。 https://github.com/nxp-mcuxpresso/mcuxsdk-examples/blob/release/25.09.00-pvw1/_boards/evkbmimxrt1170/board.c #if defined(CACHE_MODE_WRITE_THROUGH) && CACHE_MODE_WRITE_THROUGH /* Region 6 setting: Memory with Normal type, not shareable, write through */ MPU->RBAR = ARM_MPU_RBAR(6, 0x20200000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 0, 0, ARM_MPU_REGION_SIZE_1MB); /* Region 7 setting: Memory with Normal type, not shareable, write trough */ MPU->RBAR = ARM_MPU_RBAR(7, 0x20300000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 0, 0, ARM_MPU_REGION_SIZE_512KB); #else /* Region 6 setting: Memory with Normal type, not shareable, outer/inner write back */ MPU->RBAR = ARM_MPU_RBAR(6, 0x20200000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_1MB); /* Region 7 setting: Memory with Normal type, not shareable, outer/inner write back */ MPU->RBAR = ARM_MPU_RBAR(7, 0x20300000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_512KB); #endif この RAM セクターをキャッシュ可能としてマークします。 サンプル コードが実際に m_data2 のリマインダーをキャッシュ不可としてマークしているかどうか教えていただけますか? または、言い換えると、これをどのように実現できるか誰か教えていただけますか。私たちのアプリケーションでは、この RAM セクションの残りをキャッシュ不可として使用したいと考えています。 ご支援ありがとうございます Re: Non-Cachable region in NXP OTA example こんにちは@jslota13245さん、 NXP MIMXRTシリーズにご興味をお持ちいただきありがとうございます。 OCRAM はキャッシュ可能な領域です。アプリケーションシナリオについては、このガイドを参照してください: https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs-Knowledge/Using-NonCached-Memory-on-i-MXRT/ta-p/1183369 よろしくお願いします、 ギャビン
記事全体を表示
S32K3 在 POWER 配置下的运行模式 S32K3 在 POWER 配置下的工作模式。这些工作模式有何不同。 alan_yu_0-1755688313221.png Re: S32K3 operating mode in POWER configuration 嗨,@alan_yu、 逻辑分区是指由 MC_ME 单个分区控制的 SoC 块。每个 MC_ME 分区都使用 MC_ME 分区处理硬件控制一组逻辑功能。 请参阅第46.1.3章的分区: Snag_2b037317.png 是的,您的 POWER 配置看起来没问题。 致以最诚挚的问候, Julián Re: S32K3 operating mode in POWER configuration 另一个问题是,McuPartition0Config - McuPartition2Config 的含义是什么? 下图是我在 S32K312 中的配置。看起来还好吗? alan_yu_0-1755739133931.png Re: S32K3 operating mode in POWER configuration 你好@Julián_AragónM、 谢谢您的答复。这对我帮助很大。 我一直在使用 S32K312,只有一个内核。 因此,如果我想让微控制器进入待机状态,只需选择"STANDBY" 运行模式即可。对不对?我遇到了一个问题。当我使用 GPIO 唤醒微控制器时,微控制器会在近 10 秒后正常运行。问题出在哪里?    Re: S32K3 operating mode in POWER configuration 嗨,@alan_yu、 第 41.1.6 章S32K3XX 参考手册中描述了工作电源模式。只有两个: 运行 模式和 待机 模式。   不过,驾驶员可以将过渡唤醒和快速/正常唤醒的步骤分开。如果我们调用 STANDBY,驱动程序将经历SOC_PREPARE_STANDBY、SOC_STANDBY 和CORE_STANDBY - 但我们可以单独调用所有模式。   例如,我们可以让 SOC 处于运行模式,而只有一个内核可以调用CORE_STANDBY,这样就可以用 WFI 停止一个内核。   MCU 可以通过 FAST 唤醒来代替普通唤醒。第 41.2 章介绍了快速与正常待机退出。   至于其他选项,请参见RTD_MCU_UM.pdf:   Julin_AragnM_0-1755707730053.png 我建议查看源代码,了解其中划分了哪些步骤。您可以参考这些低功耗示例: S32K3 电源管理单元 AN 和演示-恩智浦社区 [RTD400 & 500 MCAL & IP] S32K3 电源管理单元 AN 和演示-恩智浦社区 致以最诚挚的问候, Julián
記事全体を表示