Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
如何在不使用硬掉电 (HPD) 模式的情况下稳定执行上电复位 (POR)? 你好, 我正在尝试将 NTAG5(NXP NTP53321G0JHKZ 芯片)用作 I2C 从设备,ESP32 用作主设备。我发现 NTAG5 在 I2C 从模式下的响应非常不稳定。当一切正常时,通信可以顺利进行数小时,但如果通信中断,则 NTAG5 可能需要几分钟、几小时或几天才能再次作为 I2C 从设备做出响应。我不确定为什么会发生这种情况,但我认为,上电复位 (POR) 有助于快速恢复通信。所以,我想请问一下,当无法使用硬断电 (HPD) 模式时,是否可以通过某种方式执行 POR(上电复位)? 谢谢 PS:我们不使用能量收集,所以 NTAG5 由 Vcc 供电。 Re: How to perform Power On Reset (POR) consistently without Hard Power Down (HPD) mode? 你好@gp3 希望你一切都好。 为了更好地了解这种行为,能否请您提供以下信息? - 您使用的是 NTAG 5 链路的开发套件(例如 OM2NTP5332),还是定制的电路板? - 您能否更详细地描述一下您的申请流程?你的测试流程是怎样的?这种异常行为是如何触发的? 你说的“沟通不畅”是什么意思?例如,您是否收到 NACK、超时,或者设备是否完全停止响应任何 I2C 事务? 关于复位机制:根据NTP53x2 数据手册,NTAG 5 链路支持通过 RESET_GEN_REG 寄存器进行软件触发的系统 RESET,写入 E7h 会触发完全 RESET(第 8.1.4.10 节)。 对于更轻量级的方案,可设置 I2C_SOFT_RESET(位 3,I2C_SLAVE_CONFIG_REG,NTP53x2 数据手册第 8.1.4.9 节)。表 100)仅重置 I2C 状态机。RESET后,这两个位都应该自动清除。 问候, 爱德华多。 Re: How to perform Power On Reset (POR) consistently without Hard Power Down (HPD) mode? 你好@EduardoZamora 谢谢,我很好。也希望你如此。 我来尝试设置 I2C_SOFT_RESET 位,如果需要,还会设置 RESET_GEN_REG 寄存器,正如您正确指出的那样。 NTP53x2 数据手册。 如果问题仍然存在,我会尽快向您提供所有必要的详细信息。 谢谢,此致敬礼。
記事全体を表示
ETH MDIOドライバー 私たちはsia1110を使用していますが、TCPクライアントとサーバーが同時に実行されている場合、しばらくするとどちらか一方がランダムに切断されることに気づきました。クライアントはホストマシンの再接続ボタンをクリックすることで正常に再接続できますが、サーバーはできません。 同じ手順でも、異なるプラットフォームではこの問題はありません。その理由を教えていただけますか? 今のところ、MDIOを使ってMCUとスイッチ間の状況を監視しようと考えていますが、いくつか問題に直面しています。 status_t Dwmac_LLD_Mii_Read_Reg(volatile DwmacReg *dwmac_reg, uint32_t phy_addr, uint32_t reg_addr, uint32_t *reg_data) {     while (dwmac_reg->MAC_MDIO_ADDRESS.B.GB != 0U) {; }       dwmac_reg->MAC_MDIO_DATA.B.RA = reg_addr;     dwmac_reg->MAC_MDIO_DATA.B.GD = 0;     dwmac_reg->MAC_MDIO_ADDRESS.B.PA = phy_addr;     dwmac_reg->MAC_MDIO_ADDRESS.B.RDA = reg_addr;     dwmac_reg->MAC_MDIO_ADDRESS.B.GOC = 2U;     dwmac_reg->MAC_MDIO_ADDRESS.B.CR = 0xB;       dwmac_reg->MAC_MDIO_ADDRESS.B.GB = 1U;       while (dwmac_reg->MAC_MDIO_ADDRESS.B.GB != 0U) {; }       *reg_data = (uint16_t) (dwmac_reg->MAC_MDIO_DATA.R & 0x0000FFFFU);     return STATUS_SUCCESS; }   Dwmac_LLD_Mii_Read_Reg(&ETHERNET_0, 0x1B, 0x2U, &reg_val); ここで使用されている基となる関数では、reg_val は常に 0 のままです。   Re: ETH MDIO driver SJA110 2.0とRMIIの使用 MDIOを使ってレジスタを監視し、ポートが切断されたときにスイッチやMCUの状態を確認したいです。これは検出方法の一つに過ぎません。TCPサーバーとクライアントが同時に共存できない原因がわかりません。どのバージョンかは分かりません。 xingyun_0-1788248086523.pngxingyun_0-1788248086523.pngxingyun_0-1788248086523.png Re: ETH MDIO driver こんにちは@xingyunさん TCP切断とMDIO読み取り機能を分析する前に、あなたのセットアップについて追加情報を教えていただけますか? 使用しているSJA1110デバイスの正確なバリアントとシリコンリビジョンは何ですか? どのMCUやプロセッサがSJA1110に接続されており、それらの間でどのインターフェースが使われますか?例えばRGMII、RMII、SGMII、または他のインターフェースなどです。 MCU、SJA1110ポート、TCPクライアントとサーバーを動かすデバイスを示す簡略な接続図を教えてもらえますか? 使用しているTCP/IPスタックとそのバージョンは何ですか? プロジェクトで使われているSJA1110 SDK/RTDのバージョンは何ですか? TCPクライアントとサーバーは同じMCUとイーサネットインターフェース上で動作しているのか、それとも別々のデバイスやインターフェースで動作しているのか? また、MDIOの読み取り機能で具体的に何を監視するつもりなのかも教えていただけますか?特に、あなたの設定では、PHYアドレス0x1Bとレジスタアドレス0x02はどのデバイスとレジスタを指しているのでしょうか?また、SMIインターフェース(MDCおよびMDIO信号を含む)がMCUとSJA1110間でどのように接続されているかを示す回路図のセクションや接続詳細も共有してください。 上記の質問に対して、より詳細な情報をご提供いただけますようお願いいたします。これにより、お客様のシステム構成を明確に理解し、分析の初期段階で潜在的な誤解を回避することができます。   よろしくお願いいたします。 パベル Re: ETH MDIO driver こんにちは@xingyunさん さらに詳しくお手伝いするには、もっと情報が必要です。以下の質問すべてにお答えください。 1.使用しているSJA1110デバイスの正確なバリアントはどれですか?SJA1110A、B、C、またはDですか? 2. SJA1110上のどのポートがTCPSおよびTCPCに接続されているか? 3. TCPSとTCPCの両方でRMIIが使用されましたか? 4. TCPSとTCPCはRMIIに直接接続されていますか、それともPHYが存在しますか? 5. SJA1110はどのように設定されますか?SJA1110上で動いているSWはあるのでしょうか、それともスイッチとしてのみSJA1110動くのでしょうか? 6. SJA1110設定に使われたソフトウェアは?S32 Design Studio? よろしくお願いいたします。 パベル
記事全体を表示
i.MX95 19x19 EVK: SMMUコヒーレントテーブルウォーク(IDR0.COHACC)およびSMMUが有効なDPDK用のvfio-pci こんにちは、NXP チームの皆様、 私たちは、i.MX95 19x19 LPDDR5 EVKと公式のNXP Linux BSP LF 6.6.52_2.2.2を組み合わせた高スループット・低レイテンシのネットワーク製品を開発しています。 ユーザー空間PMDと共に、 netc関数(例: 0002:00:00.0 やSR-IOV VF)で vfio-pci を 用いてDPDKを実行する必要があります 。しかし、 SMMUが有効になると vfio-pciへのバインド が失敗します。 64バイトフレームのベンチマークでは: Linuxカーネルドライバー(fsl_enetc4😞 約17万ページ SMMUが無効になっているVFでのネイティブPMD:約456,000pps パフォーマンスの違いにより、ユーザー空間のDPDKドライバが私たちのアプリケーションに必要です。 本番システムではハードウェアによるDMA隔離が必要なため、SMMUを無効化したりenable_unsafe_noiommu_mode=1を使うことはできません。 SMMUが有効になっている場合、NETC機能をfsl_enetc4からバインド解除してvfio-pciにバインドすると、 -EINVALエラーで失敗します。 root@imx95-19x19-lpddr5-evk:~# lspci -k -s 0002:00:00.0 0002:00:00.0 Ethernet controller: Philips Semiconductors Device e101 (rev 04) Subsystem: Philips Semiconductors Device e101 Kernel driver in use: fsl_enetc4 root@imx95-19x19-lpddr5-evk:~# echo 0002:00:00.0 > /sys/bus/pci/drivers/fsl_enetc4/unbind root@imx95-19x19-lpddr5-evk:~# echo "1131 e101" > /sys/bus/pci/drivers/vfio-pci/new_id [ 143.562552] vfio-pci: probe of 0002:00:00.0 failed with error -22 Linux VFIOおよびArm SMMUコードの追跡から、この障害はSMMUのコヒーレンシー能力に関連しているようです。VFIOはIOMMU_CAP_CACHE_COHERENCYを必要とし、Arm SMMUドライバーは IDR0 に基づいてARM_SMMU_FEAT_COHERENCYを有効にします。COHACCです。 i.MX95 EVKでは、IDR0。COHACCは0を読み取り、SMMUは一貫した翻訳テーブルウォークをサポートしていないと報告されます。これにより、device_iommu_capable(..., IOMMU_CAP_CACHE_COHERENCY)がfalseを返し、vfio-pciが-EINVALで失敗します。 We understand that adding dma-coherent; to the SMMU device-tree node can force the Linux SMMUドライバー to enable ARM_SMMU_FEAT_COHERENCY. However, this also causes io-pgtable-arm to configure pgtbl_cfg.coherent_walk = true, which disables the CPU cache maintenance normally performed for page-table updates. したがって、DMAコヒーレントを有効にしたくありません。i.MX95ハードウェアがコヒーレントなSMMU変換テーブルウォークをサポートすることが確認されていない限りです。インターコネクトがSMMUテーブルウォークのためにCPUキャッシュをスヌープしない場合、動的IOMMUマッピング中にページテーブルエントリの古びやメモリ破損を引き起こす可能性があります。 NXPの皆さん、以下の点を明確にしていただけますか? i.MX95シリコン/インターコネクトは 、 CPUキャッシュの必要なキャッシュスヌーピングを含む ハードウェアコヒーレントなSMMU変換テーブルウォーク をサポートしていますか? もしコヒーレントテーブルウォークがサポートされている場合、 SMMUがコヒーレントウォークを報告する前に、インターコネクト、システムマネージャー、ATF/ファームウェア、またはその他のプラットフォーム初期化で有効化しなければならない設定はありますか? もしコヒーレントテーブルウォークがサポートされている場合、NXP推奨のデバイスツリー/ファームウェア構成は安全に有効化されるためのもので、EVK上でどのように検証できますか? も しコヒーレントテーブルウォーク が サポートされていない 場合、 SMMU/DMAのアイソレーションを有効にしたまま vfio-pciでDPDK を使用する際、NXPが推奨する本番環境で安全な方法は何ですか? i.MX95でSMMUを有効にした状態でDPDK + vfio-pciをサポートする構成について、何かご助言いただければ大変ありがたいです。 Re: i.MX95 19x19 EVK: SMMU coherent table walks (IDR0.COHACC) and vfio-pci for DPDK with SMMU enable 顧客が他の用途でSMMUを使いたいが、DPDKのバイパスは許容される場合(bootargsでiommu.passthrough=1を使ったり、dtsでSMMUノードを無効にしたくない場合)。 その後、uio-pci-genericフレームワークをバインドし、VSI-PSIメッセージングを無効にしようと試みることができます(エクスポートENETC4_VSI_MSG_DISABLE=1)。しかしVSI-PSIメッセージを無効にすると、ユーザーはpromisc、VLAN MACフィルタリング、リンク情報などのENETC機能が使えなくなります。 Re: i.MX95 19x19 EVK: SMMU coherent table walks (IDR0.COHACC) and vfio-pci for DPDK with SMMU enable DPDKチームからフィードバックがあり、以下の質問をされました。 これは既知の制約事項です。i.MX95-evkはIOキャッシュでないコヒーレントプラットフォームであり、SMMU対応のドライバ VFIO_PCI「IOMMU_CAP_CACHE_COHERENCY」に依存しており、これは公表できません。 詳細はすべてREADMEに記載されています: dpdk/nxp/README_imx95_enetc_vf_vfio at 25.11-qoriq · NXP/dpdk · GitHub dpdkのデータパスでも確認できますが、ドライバは非キャッシュ可能なメモリを使用しているか、SWキャッシュの保守命令を使っています: dpdk/drivers/net/enetc/enetc_rxtx.c at 25.11-qoriq ·NXP/dpdk ·GitHub Re: i.MX95 19x19 EVK: SMMU coherent table walks (IDR0.COHACC) and vfio-pci for DPDK with SMMU enable DPDKチームと話し合っています。
記事全体を表示
Gui-guider 2.0.1 Ubuntu 错误 在 Ubuntu 26.04 LTS 系统中,使用 GUI-Guider 2.0.1(该项目即在此版本中创建)打开一个非常简单的项目时出现错误: 错误:/__w/sharp/sharp/node_modules/@img/sharp-libvips-dev/include/vips/VImage8.h:134:vips::VObject& vips::VObject::operator=(const vips::VObject&): 断言失败:(!a.vobject || VIPS_IS_OBJECT(a.vobject)) 赶紧逃命!错误:/__w/sharp/sharp/node_modules/@img/sharp-libvips-dev/include/vips/VImage8.h:134:vips::VObject& vips::VObject::operator=(const vips::VObject&): 断言失败:(!a.vobject || VIPS_IS_OBJECT(a.vobject)) 有什么解决办法吗? 此外,Ninja框架需要手动安装。 Re: Gui-guider 2.0.1 Ubuntu error 谢谢你, @EdwinHz 。 我只查看了入门指南页面,其中在“主机操作系统”一栏中写着“Ubuntu 24.04 或更高版本”。总之,我成功创建了一个非常简单的项目,问题出在我想向资源中添加图像的时候。 删除资源文件夹后,我就可以再次打开项目了。似乎一切正常,但偶尔会再次停止并显示相同的消息。 Re: Gui-guider 2.0.1 Ubuntu error 嗨@poldo , 正如GUI Guider 页面的系统要求部分或GUI Guider 文档页面的安装过程中所述,GUI Guider 2.0.1 是为 Ubuntu 24.04 开发的,这或许可以解释为什么您在 Ubuntu 26.04 LTS 上打开一个简单的项目时会立即看到错误(以及安装 ninja 框架时遇到困难)。安装过程中是否遇到任何警告或错误信息?如果可以,请尝试在 24.04 版本上运行此工具。 BR, 埃德温。 Re: Gui-guider 2.0.1 Ubuntu error 嗨@poldo , 这可能是由于某些不兼容问题导致 sharp 出现错误,所以添加图像资源时才会出现该错误描述。如果可以,请尝试使用 Ubuntu 24.04,因为 GUI Guider 已被证明即使在使用镜像资源的情况下也能在此 LTS 版本上运行。 BR, 埃德温。 Re: Gui-guider 2.0.1 Ubuntu error 降级是不可能的,但我通过在 Ubuntu 24.04 发行版容器中运行 GUI-Guider 解决了兼容性问题。需要手动安装一些库和程序,但看起来它运行正常! Re: Gui-guider 2.0.1 Ubuntu error 嗨@poldo , 真是个好消息!如果您遇到任何其他问题,请告诉我,我将很乐意提供帮助。 BR, 埃德温。
記事全体を表示
Error in building an image for imx8mp with custom dts Hi, I am new to nxp i am facing problem with building an image for custom board I am using the imx8mp (MIMX8ML8CVNKZAB) I am using the scrapgap Linux 6.6.52_2.2.0 I created a new dts for my custom board I am getting error in building image This the err i am getting while building an image This is the err i got during building the imageThis is the err i got during building the imageThis is the err i got during building the imageThis is the err i got during building the image added the custom board dts name in imx8mp_evk.hadded the custom board dts name in imx8mp_evk.hadded the custom board dts name in imx8mp_evk.hadded the custom board dts name in imx8mp_evk.h How to fix this err? Re: Error in building an image for imx8mp with custom dts Did you modify any configuration related with u-boot? Please run the following command to rebuild u-boot. $ bitbake u-boot-imx -c cleansstate $ bitbake u-boot-imx Re: Error in building an image for imx8mp with custom dts Hi,  I added the "freescale/imx8mp-evk-delta.dtb \" in variable KERNEL_DEVICETREE:append:use-nxp-bsp in file sources/meta-freescale/conf/machine/imx8mp-lpddr4-evk.conf i got this erri got this erri got this erri got this err here i added the dtshere i added the dtshere i added the dtshere i added the dts i got the err  Re: Error in building an image for imx8mp with custom dts Please add "freescale/imx8mp-evk-delta.dtb \" in variable KERNEL_DEVICETREE:append:use-nxp-bsp in file sources/meta-freescale/conf/machine/imx8mp-lpddr4-evk.conf Then run "bitbake virtual/kernel". Re: Error in building an image for imx8mp with custom dts This is what i added in the u-boot config CONFIG_DEFAULT_FDT_FILE="imx8mp-evk-delta.dtb" u-boot config i added this lineu-boot config i added this lineu-boot config i added this line After clean and rebuild the u-boot i am getting the same error  Re: Error in building an image for imx8mp with custom dts Please refer to the following procedure to add and use new dts file in u-boot. $ bitbake u-boot-imx -c cleansstate $ bitbake u-boot-imx -c patch Go to u-boot source code folder tmp/work/imx8mp_lpddr4_evk-poky-linux/u-boot-imx/2024.04/git, please add dts file imx8mp-evk-delta.dts in folder arch/arm/dts/. Please modify configs/imx8mp_evk_defconfig as the following. CONFIG_DEFAULT_DEVICE_TREE="imx8mp-evk" Modify to: CONFIG_DEFAULT_DEVICE_TREE="imx8mp-evk-delta" Then rebuild u-boot: $ bitbake u-boot-imx
記事全体を表示
ハードパワーダウン(HPD)モードを使用せずに、電源投入時リセット(POR)を確実に実行するにはどうすればよいですか? こんにちは、 ESP32をマスターとして、NTAG5(NXP NTP53321G0JHKZチップ)をI2Cスレーブモードで使用しようとしています。NTAG5はI2Cスレーブモードで非常に不安定な応答を示すことが観察されました。すべてが正常に動作している場合は、通信は何時間もスムーズに行われますが、通信が途絶えた場合は、NTAG5がI2Cスレーブデバイスとして再び応答するまでに数分、数時間、または数日かかる場合があります。なぜこのようなことが起こるのかは分かりませんが、私の意見では、電源投入リセット(POR)を行うことで通信を迅速に回復できると思います。そこで、ハード電源ダウン(HPD)モードが使えない場合に特定の方法でPORを実行することは可能でしょうか? ありがとうございます 追伸:私たちはエネルギーハーベスティングを使わないので、NTAG5はVccで供給されています。 Re: How to perform Power On Reset (POR) consistently without Hard Power Down (HPD) mode? こんにちは@gp3 あなたの調子が良いといいのですが。 この行動をよりよく理解するために、以下の情報を教えていただけますか? - NTAG 5リンク用の開発キット(例えばOM2NTP5332)を使っていますか?それともカスタムボードですか? - アプリケーションの流れをもう少し詳しく説明してもらえますか?検査を受けるにあたって、どのような手順に従っていますか?予期せぬ動作はどのようにして引き起こされるのか? 「コミュニケーションが途絶えている」とはどういう意味ですか?例えば、NACK(応答拒否)やタイムアウトが発生しているのでしょうか?それとも、デバイスがI2Cトランザクションに全く応答しなくなってしまったのでしょうか? リセット機構について: NTP53x2のデータシートによると、NTAG 5リンクはRESET_GEN_REGレジスタを介したソフトウェアトリガーによるシステムリセットをサポートしており、E7hを書き込むと完全リセットがトリガーされます(セクション8.1.4.10)。 より軽量なオプションとして、I2C_SOFT_RESET (ビット 3、I2C_SLAVE_CONFIG_REG、NTP53x2 データシートのセクション 8.1.4.9) を設定します。表100)はI2Cステートマシンのみをリセットします。リセット後、両方のビットは自動的にクリアされるはずです。 よろしくお願いいたします。 エドゥアルド。 Re: How to perform Power On Reset (POR) consistently without Hard Power Down (HPD) mode? こんにちは、 @EduardoZamoraさん ありがとうございます。元気です。あなたにも同じことを願っています。 I2C_SOFT_RESET ビットを設定し、必要であれば、ご指摘のとおり RESET_GEN_REG レジスタも設定してみます。 NTP53x2 データシート 問題が解決しない場合は、必要な詳細情報をすべて添えて改めてご連絡いたします。 ありがとうございました。
記事全体を表示
[S32DS 3.6.1] Update Fail boring  CY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.png Cannot complete the install because one or more required items could not be found. Software being installed: C/C++ Development Tools 12.5.0.202606022100 (org.eclipse.cdt.feature.group 12.5.0.202606022100) Missing requirement: GDB Common 7.2.500.202603111352 (org.eclipse.cdt.gdb 7.2.500.202603111352) requires 'osgi.bundle; org.eclipse.core.runtime [3.34.0,4.0.0)' but it could not be found Cannot satisfy dependency: From: C/C++ Development Tools 12.5.0.202606022100 (org.eclipse.cdt.feature.group 12.5.0.202606022100) To: org.eclipse.equinox.p2.iu; org.eclipse.cdt.gdb.feature.group [12.5.0.202603111352,12.5.0.202603111352] Cannot satisfy dependency: From: C/C++ Common GDB Support 12.5.0.202603111352 (org.eclipse.cdt.gdb.feature.group 12.5.0.202603111352) To: org.eclipse.equinox.p2.iu; org.eclipse.cdt.gdb [7.2.500.202603111352,7.2.500.202603111352] Cannot complete the install because one or more required items could not be found. Software being installed: Remote Services 12.5.0.202603111352 (org.eclipse.remote.feature.group 12.5.0.202603111352) Missing requirement: Eclipse Remote Development documentation plug-in 12.5.0.202603111352 (org.eclipse.remote.doc.isv 12.5.0.202603111352) requires 'osgi.bundle; org.eclipse.help [3.10.500,4.0.0)' but it could not be found Cannot satisfy dependency: From: Remote Services 12.5.0.202603111352 (org.eclipse.remote.feature.group 12.5.0.202603111352) To: org.eclipse.equinox.p2.iu; org.eclipse.remote.doc.isv [12.5.0.202603111352,12.5.0.202603111352] Cannot complete the install because one or more required items could not be found. Software being installed: C/C++ Development Tools 12.5.0.202606022100 (org.eclipse.cdt.feature.group 12.5.0.202606022100) Missing requirement: GDB Common 7.2.500.202603111352 (org.eclipse.cdt.gdb 7.2.500.202603111352) requires 'osgi.bundle; org.eclipse.core.runtime [3.34.0,4.0.0)' but it could not be found Cannot satisfy dependency: From: C/C++ Development Tools 12.5.0.202606022100 (org.eclipse.cdt.feature.group 12.5.0.202606022100) To: org.eclipse.equinox.p2.iu; org.eclipse.cdt.gdb.feature.group [12.5.0.202603111352,12.5.0.202603111352] Cannot satisfy dependency: From: C/C++ Common GDB Support 12.5.0.202603111352 (org.eclipse.cdt.gdb.feature.group 12.5.0.202603111352) To: org.eclipse.equinox.p2.iu; org.eclipse.cdt.gdb [7.2.500.202603111352,7.2.500.202603111352] Cannot complete the install because one or more required items could not be found. Software being installed: C/C++ Development Platform 12.5.0.202606022100 (org.eclipse.cdt.platform.feature.group 12.5.0.202606022100) Missing requirement: C/C++ Development Tools Core Native Utilities 6.6.200.202603111352 (org.eclipse.cdt.core.native 6.6.200.202603111352) requires 'osgi.bundle; org.eclipse.core.runtime [3.34.0,4.0.0)' but it could not be found Cannot satisfy dependency: From: C/C++ Development Tooling Native Utilities 12.5.0.202606022100 (org.eclipse.cdt.native.feature.group 12.5.0.202606022100) To: org.eclipse.equinox.p2.iu; org.eclipse.cdt.core.native [6.6.200.202603111352,6.6.200.202603111352] Cannot satisfy dependency: From: C/C++ Development Platform 12.5.0.202606022100 (org.eclipse.cdt.platform.feature.group 12.5.0.202606022100) To: org.eclipse.equinox.p2.iu; org.eclipse.cdt.native.feature.group [12.5.0.202606022100,12.5.0.202606022100] Cannot complete the install because one or more required items could not be found. Software being installed: C/C++ GCC Cross Compiler Support 12.5.0.202603111352 (org.eclipse.cdt.build.crossgcc.feature.group 12.5.0.202603111352) Missing requirement: CDT GCC Cross Compiler Support 1.3.800.202603111352 (org.eclipse.cdt.build.crossgcc 1.3.800.202603111352) requires 'osgi.bundle; org.eclipse.core.runtime [3.34.0,4.0.0)' but it could not be found Cannot satisfy dependency: From: C/C++ GCC Cross Compiler Support 12.5.0.202603111352 (org.eclipse.cdt.build.crossgcc.feature.group 12.5.0.202603111352) To: org.eclipse.equinox.p2.iu; org.eclipse.cdt.build.crossgcc [1.3.800.202603111352,1.3.800.202603111352] Cannot complete the install because one or more required items could not be found. Software being installed: C/C++ Development Tooling Native Utilities 12.5.0.202606022100 (org.eclipse.cdt.native.feature.group 12.5.0.202606022100) Missing requirement: C/C++ Development Tools Core Native Utilities 6.6.200.202603111352 (org.eclipse.cdt.core.native 6.6.200.202603111352) requires 'osgi.bundle; org.eclipse.core.runtime [3.34.0,4.0.0)' but it could not be found Cannot satisfy dependency: From: C/C++ Development Tooling Native Utilities 12.5.0.202606022100 (org.eclipse.cdt.native.feature.group 12.5.0.202606022100) To: org.eclipse.equinox.p2.iu; org.eclipse.cdt.core.native [6.6.200.202603111352,6.6.200.202603111352] Cannot complete the install because one or more required items could not be found. Software being installed: C/C++ Common GDB Support 12.5.0.202603111352 (org.eclipse.cdt.gdb.feature.group 12.5.0.202603111352) Missing requirement: GDB Common 7.2.500.202603111352 (org.eclipse.cdt.gdb 7.2.500.202603111352) requires 'osgi.bundle; org.eclipse.core.runtime [3.34.0,4.0.0)' but it could not be found Cannot satisfy dependency: From: C/C++ Common GDB Support 12.5.0.202603111352 (org.eclipse.cdt.gdb.feature.group 12.5.0.202603111352) To: org.eclipse.equinox.p2.iu; org.eclipse.cdt.gdb [7.2.500.202603111352,7.2.500.202603111352] Cannot complete the install because one or more required items could not be found. Software being installed: C/C++ Memory View Enhancements 12.5.0.202603111352 (org.eclipse.cdt.debug.ui.memory.feature.group 12.5.0.202603111352) Missing requirement: Debug Core Memory 0.2.300.202512020204 (org.eclipse.cdt.debug.core.memory 0.2.300.202512020204) requires 'osgi.bundle; org.eclipse.core.runtime [3.34.0,4.0.0)' but it could not be found Cannot satisfy dependency: From: C/C++ Memory View Enhancements 12.5.0.202603111352 (org.eclipse.cdt.debug.ui.memory.feature.group 12.5.0.202603111352) To: org.eclipse.equinox.p2.iu; org.eclipse.cdt.debug.core.memory [0.2.300.202512020204,0.2.300.202512020204] Cannot complete the install because one or more required items could not be found. Software being installed: C/C++ GNU Toolchain Build Support 12.5.0.202603111352 (org.eclipse.cdt.gnu.build.feature.group 12.5.0.202603111352) Missing requirement: GCC support for CDT Build Core 2.1.800.202512020204 (org.eclipse.cdt.build.gcc.core 2.1.800.202512020204) requires 'osgi.bundle; org.eclipse.core.runtime [3.34.0,4.0.0)' but it could not be found Cannot satisfy dependency: From: C/C++ GNU Toolchain Build Support 12.5.0.202603111352 (org.eclipse.cdt.gnu.build.feature.group 12.5.0.202603111352) To: org.eclipse.equinox.p2.iu; org.eclipse.cdt.build.gcc.core [2.1.800.202512020204,2.1.800.202512020204] Cannot complete the install because one or more required items could not be found. Software being installed: C/C++ GDB Hardware Debugging 12.5.0.202603111352 (org.eclipse.cdt.debug.gdbjtag.feature.group 12.5.0.202603111352) Missing requirement: Eclipse GDB Hardware Debug Core Plug-in 10.8.500.202512020204 (org.eclipse.cdt.debug.gdbjtag.core 10.8.500.202512020204) requires 'osgi.bundle; org.eclipse.core.runtime [3.34.0,4.0.0)' but it could not be found Cannot satisfy dependency: From: C/C++ GDB Hardware Debugging 12.5.0.202603111352 (org.eclipse.cdt.debug.gdbjtag.feature.group 12.5.0.202603111352) To: org.eclipse.equinox.p2.iu; org.eclipse.cdt.debug.gdbjtag.core [10.8.500.202512020204,10.8.500.202512020204] Cannot complete the install because one or more required items could not be found. Software being installed: C/C++ GNU Toolchain Debug Support 12.5.0.202603111352 (org.eclipse.cdt.gnu.debug.feature.group 12.5.0.202603111352) Missing requirement: C/C++ Development Tools Launching Support 11.0.300.202603111352 (org.eclipse.cdt.launch 11.0.300.202603111352) requires 'osgi.bundle; org.eclipse.ui.ide [3.22.600,4.0.0)' but it could not be found Cannot satisfy dependency: From: C/C++ GNU Toolchain Debug Support 12.5.0.202603111352 (org.eclipse.cdt.gnu.debug.feature.group 12.5.0.202603111352) To: org.eclipse.equinox.p2.iu; org.eclipse.cdt.launch [11.0.300.202603111352,11.0.300.202603111352] Cannot complete the install because one or more required items could not be found. Software being installed: C/C++ DSF GDB Debugger Integration 12.5.0.202603111352 (org.eclipse.cdt.gnu.dsf.feature.group 12.5.0.202603111352) Missing requirement: GDB DSF Debugger Integration Core 7.3.100.202601271447 (org.eclipse.cdt.dsf.gdb 7.3.100.202601271447) requires 'osgi.bundle; org.eclipse.core.runtime [3.34.0,4.0.0)' but it could not be found Cannot satisfy dependency: From: C/C++ DSF GDB Debugger Integration 12.5.0.202603111352 (org.eclipse.cdt.gnu.dsf.feature.group 12.5.0.202603111352) To: org.eclipse.equinox.p2.iu; org.eclipse.cdt.dsf.gdb [7.3.100.202601271447,7.3.100.202601271447] CY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.png CY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.png Cannot complete the install because one or more required items could not be found. Software being installed: Remote Services 12.5.0.202603111352 (org.eclipse.remote.feature.group 12.5.0.202603111352) Missing requirement: Eclipse Remote Development documentation plug-in 12.5.0.202603111352 (org.eclipse.remote.doc.isv 12.5.0.202603111352) requires 'osgi.bundle; org.eclipse.help [3.10.500,4.0.0)' but it could not be found Cannot satisfy dependency: From: Remote Services 12.5.0.202603111352 (org.eclipse.remote.feature.group 12.5.0.202603111352) To: org.eclipse.equinox.p2.iu; org.eclipse.remote.doc.isv [12.5.0.202603111352,12.5.0.202603111352] Re: [S32DS 3.6.1] Update Fail You are late . Ref: https://community.nxp.com/t5/S32K/S32DS-3-6-1-Example-Code-disappear/m-p/2408504  I'd already remove this SHxT. Too much problems .  It's *NOT* v3.6.1 , it's v3.6.10 actually .  Re: [S32DS 3.6.1] Update Fail Hello @CY9, Could you share what package, updatesite, RTD or plugin you are trying to install?  From the error log, I can see you are trying to install CDT 12.5.0, however, latest S32DS release supports Eclipse 2023-12 framework, CDT 11.4, and Java17. Have you tried to update only through the S32DS Updates and Extensions interface?  Julin_AragnM_0-1787853046969.pngJulin_AragnM_0-1787853046969.pngJulin_AragnM_0-1787853046969.pngJulin_AragnM_0-1787853046969.pngJulin_AragnM_0-1787853046969.pngJulin_AragnM_0-1787853046969.pngJulin_AragnM_0-1787853046969.pngJulin_AragnM_0-1787853046969.pngJulin_AragnM_0-1787853046969.png Best regards, Julián Re: [S32DS 3.6.1] Update Fail Hello @CY9, I apologize if S32DS and general environment gave you too many issues. By your other post, I can see you are looking to use RTM 4.0.2, which is not supported by S32DS 3.6.10.  Instead, as my colleague Robin suggested, you must install:  S32 Design Studio 3.4  S32K1xx Service Pack 1 With this, you should be able to see S32K1XX RTM. In my case, I use RTM 4.0.3: Julin_AragnM_0-1787933831435.pngJulin_AragnM_0-1787933831435.pngJulin_AragnM_0-1787933831435.pngJulin_AragnM_0-1787933831435.pngJulin_AragnM_0-1787933831435.pngJulin_AragnM_0-1787933831435.pngJulin_AragnM_0-1787933831435.pngJulin_AragnM_0-1787933831435.png Otherwise, if you use S32DS 3.6.10, you must use Real-Time Drivers (RTD). S32SDK has been deprecated and replaced by RTD package, which also provides examples and drivers for low level (IP) and high level (MCAL). I apologize for the inconveniences while trying to install S32SDK. Best regards, Julián Re: [S32DS 3.6.1] Update Fail 「 ... RTM 4.0.2, which is not supported by S32DS ... 」 That's another question:  How do a newbie know that [Which RTM is  supported/NOT supported by which version of S32DS] !??  AND:  How Do I open/import a old Project that made by RTM xx , in new version os S32DS !?? I can *NOT* open&import old project created by S32DS v3.5+RTM402  on new S32DS v6.0.10 ... There is no motivation to upgrade to the new version. ..... understand !? I will use S32DS 3.5 FOREVER... no matter how smart/advanced is your new S32DS 4.0/99.0 ... if you don't solve this problem :   CY9_2-1787708167310.pngCY9_2-1787708167310.pngCY9_2-1787708167310.pngCY9_2-1787708167310.pngCY9_2-1787708167310.pngCY9_2-1787708167310.pngCY9_2-1787708167310.png ```  $ grep -ni "RTM" .* * 2>/dev/null  .project:35: s32sdk_s32k1xx_rtm_402/rtos/osif/doxygen/osif.dox .project:40: S32SDK_S32K1XX_RTM_4.0.2/platform/drivers/src/adc/doxygen/adc_driver.dox .project:45: s32sdk_s32k1xx_rtm_402/platform/drivers/src/clock/doxygen/clock_manager.dox .project:50: s32sdk_s32k1xx_rtm_402/platform/drivers/src/crc/doxygen/crc.dox .project:55: s32sdk_s32k1xx_rtm_402/platform/drivers/src/edma/doxygen/edma_driver.dox .project:60: s32sdk_s32k1xx_rtm_402/platform/drivers/src/flash/doxygen/flash_driver.dox .project:65: s32sdk_s32k1xx_rtm_402/platform/drivers/src/flexcan/doxygen/flexcan_driver.dox .project:70: s32sdk_s32k1xx_rtm_402/platform/drivers/src/ftm/doxygen/ftm_driver.dox .project:75: s32sdk_s32k1xx_rtm_402/platform/drivers/src/ftm/doxygen/ftm_pwm_driver.dox .project:80: s32sdk_s32k1xx_rtm_402/platform/drivers/src/interrupt/doxygen/interrupt.dox .project:85: S32SDK_S32K1XX_RTM_4.0.2/platform/drivers/src/lptmr/doxygen/lptmr.dox .project:90: S32SDK_S32K1XX_RTM_4.0.2/platform/drivers/src/lptmr/doxygen/lptmr_driver.dox .project:95: s32sdk_s32k1xx_rtm_402/platform/drivers/src/lpuart/doxygen/lpuart_driver.dox .project:100: S32SDK_S32K1XX_RTM_4.0.2/platform/drivers/src/pdb/doxygen/pdb.dox .project:105: S32SDK_S32K1XX_RTM_4.0.2/platform/drivers/src/pdb/doxygen/pdb_driver.dox .project:110: s32sdk_s32k1xx_rtm_402/platform/drivers/src/pins/doxygen/pins.dox .project:115: S32SDK_S32K1XX_RTM_4.0.2/platform/drivers/src/trgmux/doxygen/trgmux_driver.dox .project:120: S32SDK_S32K1XX_RTM_4.0.2/platform/pal/src/adc/doxygen/adc_pal.dox .project:125: s32sdk_s32k1xx_rtm_402/platform/pal/src/can/doxygen/can_pal.dox .project:130: S32SDK_S32K1XX_RTM_4.0.2/platform/pal/src/pwm/doxygen/pwm_pal.dox .project:135: s32sdk_s32k1xx_rtm_402/platform/pal/src/timing/doxygen/timing_pal.dox .project:140: s32sdk_s32k1xx_rtm_402/platform/pal/src/uart/doxygen/uart_pal.dox .project:145: s32sdk_s32k1xx_rtm_402/platform/drivers/src/clock/S32K1xx/doxygen/clock_S32K1xx.dox Project_S32DS35_118.mex:6: s32sdk_s32k1xx_rtm_402 ```  I know RTM402 is  *NOT* supported by S32DS3.5 ..... after I HAD ALREADY CREATE lots of project for my job for a long time.....  But I can *NOT* rollback RTM402 back to RTM401  =_="  And When I install RTM402 on S32DS3.5, your RTM/S32DS v3.5 NEVER block/alarm me because it's *NOT* supported... ← That's the most annoying thing.  Re: [S32DS 3.6.1] Update Fail Hello , RTM 4.0.2 is quite old and not pushed by NXP anymore. The easiest way to know which SW is supported is to refer to the release notes. For example, since RTM 4.0.2 was released with S32 Design Studio v3.4 S32K1 Service Pack 1, you should consider using only the version advertised with the SDK (S32DS v3.4 for RTM 4.0.2). SDK/RTD compatibility: SDK/RTD S32DS Version SDK RTM 4.0.1 v3.3 only SDK RTM 4.0.2 v3.4 only SDK RTM 4.0.3 v3.4 only RTD 2.0.x v3.5 RTD 3.0.0 v3.6.1+ When trying to import a project made by older SW (RTM xxx), I simply suggest using the same IDE + SW versions used to developed (e.g. S32DS 3.4 + RTM 4.0.2), instead of updating to newer RTD.  And When I install RTM402 on S32DS3.5, your RTM/S32DS v3.5 NEVER block/alarm me because it's *NOT* supported... ← That's the most annoying thing.  SDK/RTD installation is done through S32DS Extensions and Updates. This usually blocks unsupported versions. You can see if you try to install SDK in v3.5+ this message appears:  Julin_AragnM_0-1788199384241.pngJulin_AragnM_0-1788199384241.pngJulin_AragnM_0-1788199384241.pngJulin_AragnM_0-1788199384241.pngJulin_AragnM_0-1788199384241.pngJulin_AragnM_0-1788199384241.png When installing SW through "Help > Install New Software", eclipse bypasses all of S32DS Extensions and Updates' restrictions. I suggest not installing the software directly, unless you are certain it is compatible. As my colleague Robin answered in this other post: 回复: [S32DS 3.5+RTM401] I don't know what this SHxT happened - NXP Community, if you are trying to use S32K1 SDK RTM 4.0.1, S32DS 3.3 is recommended instead. This depends on which SW you are trying to install. I apologize for the inconveniences. Best regards, Julián Re: [S32DS 3.6.1] Update Fail Hi @CY9, I understand you are using S32DS 3.5 with RTM 4.0.1. Even if the SDK can be installed without warnings or errors, it is not recommended to install S32K1 SDK 4.0.x in S32DS v3.5+. What I meant by sharing the compatibility table was that each SDK RTM 4.0.x release specifies which S32DS version it was developed and tested with, and that is the only combination for which we guarantee full compatibility with no issues. SDK RTM 4.0.1 was developed and validated with S32DS v3.3, and the last 4.0.x version (RTM 4.0.3) was validated with S32DS v3.4. There are currently no plans to integrate S32SDK S32K1XX 4.0.x into S32DS v3.5 or above. From RTM 4.0.1 release notes: Julin_AragnM_0-1788288309871.pngJulin_AragnM_0-1788288309871.pngJulin_AragnM_0-1788288309871.pngJulin_AragnM_0-1788288309871.pngJulin_AragnM_0-1788288309871.png Best regards, Julián Re: [S32DS 3.6.1] Update Fail Ref : https://community.nxp.com/t5/S32-Design-Studio/Create-a-MEX-File-in-S32-DS/td-p/1587470  If I have NO SDK, how do I solve this problem ? How to create a .mex file WITHOUT SDKs? I don't understand .  S32SDK-S32V  Re: [S32DS 3.6.1] Update Fail Could you install a brand new S32DS v3.5 on a brand new PC/VM ? That's my screenshot on brand new install S32DS v3.5 !! *NOT* v3.3/v3.4 !! It's support  S32K1xx_RTM 401 already !!! -- Filter keyword: "RTM" :  CY9_0-1788227256367.pngCY9_0-1788227256367.pngCY9_0-1788227256367.png And install it without any warning/alert ! You can confirm it by yourself...  So, your list below is INCORRECT !!  SDK RTM 4.0.1 v3.3 only and, make all ppl confused... understand !?  Re: [S32DS 3.6.1] Update Fail I don't see any 「 we guarantee full compatibility with no issues. SDK RTM 4.0.1 was developed and validated with S32DS v3.x」 information BELOW :  CY9_0-1788308855556.pngCY9_0-1788308855556.png
記事全体を表示
使用自定义 DTS 为 imx8mp 构建镜像时出错 您好, 我是 NXP 的新手,在为自定义主板构建镜像时遇到了问题。 我使用的是 imx8mp (MIMX8ML8CVNKZAB) 我使用的是ScrapGap Linux 6.6.52_2.2.0。 我为我的自定义板创建了一个新的 dts 文件。 构建镜像时出错 这是我在构建镜像时遇到的错误。 This is the err i got during building the imageThis is the err i got during building the imageThis is the err i got during building the image这是我在构建镜像时遇到的错误。 added the custom board dts name in imx8mp_evk.hadded the custom board dts name in imx8mp_evk.hadded the custom board dts name in imx8mp_evk.h在 imx8mp_evk.h 中添加了自定义板的 DTS 名称 如何解决这个错误? Re: Error in building an image for imx8mp with custom dts 你是否修改过与 u-boot 相关的任何配置? 请运行以下命令重新构建 u-boot。 $ bitbake u-boot-imx -c cleansstate $ bitbake u-boot-imx Re: Error in building an image for imx8mp with custom dts 你好, 我在 sources/meta-freescale/conf/machine/imx8mp-lpddr4-evk.conf 文件中的变量 KERNEL_DEVICETREE:append:use-nxp-bsp 中添加了“freescale/imx8mp-evk-delta.dtb”。 i got this erri got this erri got this err我收到这个错误 here i added the dtshere i added the dtshere i added the dts这里我添加了dts 我收到错误提示 Re: Error in building an image for imx8mp with custom dts 请在 sources/meta-freescale/conf/machine/imx8mp-lpddr4-evk.conf 文件中的 KERNEL_DEVICETREE:append:use-nxp-bsp 变量中添加“freescale/imx8mp-evk-delta.dtb”。 然后运行“bitbake virtual/kernel”。 Re: Error in building an image for imx8mp with custom dts 这是我添加到 u-boot 配置中的内容 CONFIG_DEFAULT_FDT_FILE="imx8mp-evk-delta.dtb" u-boot config i added this lineu-boot config i added this line我在 u-boot 配置中添加了这一行 清理并重新构建 u-boot 后,我仍然遇到同样的错误。 Re: Error in building an image for imx8mp with custom dts 请参考以下步骤在 u-boot 中添加和使用新的 dts 文件。 $ bitbake u-boot-imx -c cleansstate $ bitbake u-boot-imx -c patch 进入 u-boot 源代码文件夹 tmp/work/imx8mp_lpddr4_evk-poky-linux/u-boot-imx/2024.04/git,请将 dts 文件 imx8mp-evk-delta.dts 添加到 arch/arm/dts/ 文件夹中。 请按如下方式修改configurations/imx8mp_evk_defconfig。 CONFIG_DEFAULT_DEVICE_TREE="imx8mp-evk" 修改为: CONFIG_DEFAULT_DEVICE_TREE="imx8mp-evk-delta" 然后重新构建 u-boot: $ bitbake u-boot-imx
記事全体を表示
i.mxrt1187/1189 核心时钟配置 i.mxrt1180 数据手册列出了运行速度高达 800 MHz 的 Cortex-M7 内核和运行速度高达 300 MHz 的 Cortex-M33 内核。 是否真的可以将核心配置成以这样的速度运行? 示例代码全部显示内核运行频率分别为 792 MHz (M7) 和 240 MHz (M33)。 看来这是我能配置 M7 核心的最快速度了。 看起来我可以通过切换到 PLL_ARM 输入时钟除以 3 来配置 M33 内核以 264 MHz 的频率运行。 谢谢! 彼得·斯坦伯格 Re: i.mxrt1187/1189 core clock configuration 亲爱的@petersteinberg , 谢谢你的提问。 i.MX RT1180 数据手册列出了 Cortex-M7 的 800 MHz 和 Cortex-M33 的 300 MHz,但这些是每个核心各自的最高频率——不可能同时达到两者。 原因在于 PLL 架构:两个内核共享同一个 ARM_PLL,CM33 时钟必须通过整数分频器从中导出——不支持分数分频器。 ARM_PLL 本身的硬件最大频率为 798 MHz(“800 MHz”是一个四舍五入的标称值),通过设置 VDIV = 133 实现: ShellyZhang_0-1788249495288.pngShellyZhang_0-1788249495288.pngShellyZhang_0-1788249495288.pngShellyZhang_0-1788249495288.pngShellyZhang_0-1788249495288.pngShellyZhang_0-1788249495288.png 当 ARM_PLL 频率为 798 MHz 时,CM33 的最佳整数除法是除以 3,即 798 MHz ÷ 3 = 266 MHz — 因此,当 CM7 以其真正的最大频率 798 MHz 运行时,CM33 最多只能达到 266 MHz,而不是 300 MHz。 如果您的应用需要 CM33 运行在 300 MHz,则必须将 ARM_PLL 重新配置为 600 MHz,这样 CM33 就可以运行在 600 MHz ÷ 2 = 300 MHz,但在这种情况下,CM7 的运行频率被限制在 600 MHz。 如有任何其他疑问,请随时联系。 顺祝商祺! 雪莉 Re: i.mxrt1187/1189 core clock configuration 谢谢,这下我明白了参考手册里的内容。 彼得 Re: i.mxrt1187/1189 core clock configuration 当前版本的 MCUXpresso (25.6.136)不支持将 M33 内核配置为超过 240 MHz。 当前版本的独立 MCU 配置工具 (26.06) 支持更高的 M33 内核速度,但不支持 MCUXpresso IDE 工具。 Re: i.mxrt1187/1189 core clock configuration 亲爱的@petersteinberg , 我使用 MCUXpresso IDE 中的集成配置工具成功配置了时钟。这个问题很可能与配置工具版本不匹配有关。请按照以下说明更新配置工具: 更新 MCUXpresso IDE 中的配置工具 更新后,请重启 MCUXpresso IDE。此外,配置完时钟后,请务必点击“更新代码”以生成更新后的配置代码: ShellyZhang_0-1788333111591.pngShellyZhang_0-1788333111591.pngShellyZhang_0-1788333111591.png 更新后如果仍然遇到同样的问题,请告诉我。 顺祝商祺! 雪莉 Re: i.mxrt1187/1189 core clock configuration 谢谢。 我昨天在发表评论之前就这么做了。 今天又试了4次之后,似乎终于下载并安装了正确的版本,现在运行正常了。 彼得
記事全体を表示
ETH MDIO 驱动程序 我们正在使用 sia1110,现在我们注意到,当 TCP 客户端和服务器同时运行时,其中一个会在一段时间后随机断开连接。客户端可以通过点击主机上的重新连接按钮成功重新连接,但服务器无法重新连接。 同样的流程在不同的平台上不会出现这个问题。请问您能解释一下原因吗? 我目前的想法是使用 MDIO 来监测 MCU 和开关之间的状态,但我目前遇到了一些问题。 status_t Dwmac_LLD_Mii_Read_Reg(volatile DwmacReg *dwmac_reg, uint32_t phy_addr, uint32_t reg_addr, uint32_t *reg_data) { while (dwmac_reg->MAC_MDIO_ADDRESS.B.GB != 0U) {; }       dwmac_reg->MAC_MDIO_DATA.B.RA = reg_addr;     dwmac_reg->MAC_MDIO_DATA.B.GD = 0;     dwmac_reg->MAC_MDIO_ADDRESS.B.PA = phy_addr;     dwmac_reg->MAC_MDIO_ADDRESS.B.RDA = reg_addr; dwmac_reg->MAC_MDIO_ADDRESS.B.GOC = 2U;     dwmac_reg->MAC_MDIO_ADDRESS.B.CR = 0xB;       dwmac_reg->MAC_MDIO_ADDRESS.B.GB = 1U;   while (dwmac_reg->MAC_MDIO_ADDRESS.B.GB != 0U) {; }       *reg_data = (uint16_t) (dwmac_reg->MAC_MDIO_DATA.R & 0x0000FFFFU); 返回 STATUS_SUCCESS; }   Dwmac_LLD_Mii_Read_Reg(&ETHERNET_0, 0x1B, 0x2U, &reg_val); 这里使用的底层函数中,reg_val 始终保持为 0。   Re: ETH MDIO driver SJA110 2.0 和使用 RMII 我想使用 MDIO 来监测寄存器,并在其中一个端口断开连接时检查交换机和 MCU 的状态。这只是其中一种检测方法,因为我还不确定是什么原因导致TCP服务器和客户端无法同时存在。不确定是哪个版本。 xingyun_0-1788248086523.pngxingyun_0-1788248086523.png星云_0-1788248086523.png Re: ETH MDIO driver 你好@星云, 在分析 TCP 断开连接和 MDIO 读取功能之前,能否请您提供一些关于您设置的其他信息? 您使用的是哪种具体型号和芯片版本的SJA1110设备? 哪个MCU或处理器连接到SJA1110?它们之间使用哪个接口,例如RGMII、RMII、SGMII或其他接口? 能否提供一个简化的连接图,图中需显示MCU、SJA1110端口以及运行TCP客户端和服务器的设备? 您使用的是哪个 TCP/IP 协议栈及其版本? 项目中使用的是哪个版本的SJA1110 SDK/RTD? TCP客户端和服务器是在同一个MCU和同一个以太网接口上运行,还是在不同的设备和接口上运行? 您能否进一步说明一下,您打算使用 MDIO 读取功能具体监测什么内容?具体来说,在您的设置中,PHY 地址 0x1B 和寄存器地址 0x02 分别指的是哪个设备和寄存器?请同时分享相关的原理图部分或连接细节,说明 MCU 和 SJA1110 之间如何连接 SMI 接口(包括 MDC 和 MDIO 信号)。 请您提供以上问题的详细资料,以便我们能够清楚地了解您的设置,避免在分析初期出现任何潜在的误解。   顺祝商祺! 帕维尔 Re: ETH MDIO driver 你好@星云, 为了更好地帮助您,我需要更多信息。请回答以下所有问题: 1.您使用的是哪种型号的SJA1110设备?SJA1110A、B、C还是D? 2. SJA1110 上的哪些端口连接到 TCPS 和 TCPC? 3. TCPS 和 TCPC 都使用了 RMII 端口吗? 4. TCPS 和 TCPC 直接连接到 RMII,还是它们之间有 PHY? 5. SJA1110是如何配置的?SJA1110 上是否运行任何软件,还是 SJA1110 仅用作交换机? 6. 配置 SJA1110 时使用了什么软件?S32 设计工作室? 顺祝商祺! 帕维尔
記事全体を表示
i.MX95 19x19 EVK: SMMU coherent table walks (IDR0.COHACC) and vfio-pci for DPDK with SMMU enabled Hi NXP Team, We are developing a high-throughput, low-latency networking product using the i.MX95 19x19 LPDDR5 EVK with the official NXP Linux BSP LF 6.6.52_2.2.2. We need to run DPDK with user-space PMDs using vfio-pci on NETC functions (for example, 0002:00:00.0 or SR-IOV VFs). However, binding the device to vfio-pci fails when the SMMU is enabled. In our 64-byte frame benchmark: Linux kernel driver (fsl_enetc4😞 ~170,000 pps Native PMD on a VF with SMMU disabled: ~456,000 pps The performance difference makes a user-space DPDK driver necessary for our application. We cannot disable the SMMU or use enable_unsafe_noiommu_mode=1, as our production system requires hardware-enforced DMA isolation. With the SMMU enabled, unbinding the NETC function from fsl_enetc4 and binding it to vfio-pci fails with -EINVAL: root@imx95-19x19-lpddr5-evk:~# lspci -k -s 0002:00:00.0 0002:00:00.0 Ethernet controller: Philips Semiconductors Device e101 (rev 04) Subsystem: Philips Semiconductors Device e101 Kernel driver in use: fsl_enetc4 root@imx95-19x19-lpddr5-evk:~# echo 0002:00:00.0 > /sys/bus/pci/drivers/fsl_enetc4/unbind root@imx95-19x19-lpddr5-evk:~# echo "1131 e101" > /sys/bus/pci/drivers/vfio-pci/new_id [ 143.562552] vfio-pci: probe of 0002:00:00.0 failed with error -22 From tracing the Linux VFIO and Arm SMMU code, the failure appears to be related to the SMMU coherency capability. vfio requires IOMMU_CAP_CACHE_COHERENCY, while the Arm SMMU driver enables ARM_SMMU_FEAT_COHERENCY based on IDR0.COHACC. On the i.MX95 EVK, IDR0.COHACC reads 0, so the SMMU is reported as not supporting coherent translation-table walks. This results in device_iommu_capable(..., IOMMU_CAP_CACHE_COHERENCY) returning false and vfio-pci failing with -EINVAL. We understand that adding dma-coherent; to the SMMU device-tree node can force the Linux SMMU driver to enable ARM_SMMU_FEAT_COHERENCY. However, this also causes io-pgtable-arm to configure pgtbl_cfg.coherent_walk = true, which disables the CPU cache maintenance normally performed for page-table updates. Therefore, we do not want to enable dma-coherent; unless the i.MX95 hardware is confirmed to support coherent SMMU translation-table walks. If the interconnect does not snoop CPU caches for SMMU table walks, this could potentially result in stale page-table entries and memory corruption during dynamic IOMMU mappings. Could NXP please clarify the following: Does the i.MX95 silicon/interconnect support hardware-coherent SMMU translation-table walks, including the required cache snooping of CPU caches? If coherent table walks are supported, Is there any required configuration in the interconnect, System Manager, ATF/firmware, or other platform initialization that must be enabled before the SMMU reports coherent walks? If coherent table walks are supported, what is the NXP-recommended device-tree/firmware configuration for enabling them safely, and how can this be validated on the EVK? If coherent table walks are not supported, what is NXP's recommended production-safe method for using DPDK with vfio-pci while keeping the SMMU/DMA isolation enabled? Any guidance on the supported configuration for DPDK + vfio-pci with SMMU enabled on the i.MX95 would be greatly appreciated. Re: i.MX95 19x19 EVK: SMMU coherent table walks (IDR0.COHACC) and vfio-pci for DPDK with SMMU enable If the customer wants to use SMMU for other use cases, but acceptable to bypass for the DPDK (does not want to use iommu.passthrough=1 in bootargs or disable SMMU node in dts). Then can try to bind the uio-pci-generic framework and disable VSI-PSI messaging (export ENETC4_VSI_MSG_DISABLE=1). But disabling VSI-PSI messages means user won’t be able to use some ENETC features like promisc, VLAN MAC filtering, link information. Re: i.MX95 19x19 EVK: SMMU coherent table walks (IDR0.COHACC) and vfio-pci for DPDK with SMMU enable I just got feedback from the DPDK team ask the following. This is the known limitation. The i.MX95-evk is non-IO cache coherent platform and VFIO_PCI  with SMMU enabled driver is dependent on “IOMMU_CAP_CACHE_COHERENCY” which we cannot advertise. All the details are already logged in README: dpdk/nxp/README_imx95_enetc_vf_vfio at 25.11-qoriq · NXP/dpdk · GitHub Even you can check in the dpdk data-path, the driver is either using non-cacheable memory or using SW cache maintenance instructions: dpdk/drivers/net/enetc/enetc_rxtx.c at 25.11-qoriq · NXP/dpdk · GitHub Re: i.MX95 19x19 EVK: SMMU coherent table walks (IDR0.COHACC) and vfio-pci for DPDK with SMMU enable Discussing with DPDK team.
記事全体を表示
SAF9000 未使用ピン端子 こんにちは SAF9000の未接続・未使用ピンに対して特別な要件はありますか? Re: SAF9000 Unused pin terminations こんにちは、 お問い合わせいただきありがとうございます この部品番号は現在試作段階です。まだドキュメントは入手できません。 詳細については、営業担当者または認可代理店までお問い合わせください。 よろしくお願いします、 アロンドラ
記事全体を表示
SAF9000 未使用的引脚端接 你好 SAF9000 对未连接/未使用的引脚有什么特殊要求吗? Re: SAF9000 Unused pin terminations 你好, 感谢您联系我们 该零件编号目前仍处于预生产阶段。文档尚未提供。 如需更多信息,请联系您的销售代表或授权代理商。 此致, 阿隆德拉
記事全体を表示
Gui-guider 2.0.1 Ubuntu エラー Ubuntu 26.04 LTS 上で、GUI-Guider 2.0.1 (作成元) で非常にシンプルなプロジェクトを開くと、エラーが発生します。 エラー:/__w/sharp/sharp/node_modules/@img/sharp-libvips-dev/include/vips/VImage8.h:134:vips::VObject& vips::VObject::operator=(const vips::VObject&): アサーション失敗: (!a.vobject || VIPS_IS_OBJECT(a.vobject)) 逃げろ!エラー:/__w/sharp/sharp/node_modules/@img/sharp-libvips-dev/include/vips/VImage8.h:134:vips::VObject& vips::VObject::operator=(const vips::VObject&): アサーション失敗: (!a.vobject || VIPS_IS_OBJECT(a.vobject)) これを回避する方法はありますか? また、Ninjaフレームワークは手動でインストールする必要があります。 Re: Gui-guider 2.0.1 Ubuntu error エドウィン・Hzさん、ありがとうございます。 私は「はじめに」ページだけを確認したのですが、ホストOSの項目に「Ubuntu 24.04以降」と記載されていました。とにかく、非常にシンプルなプロジェクトを作成することはできたのですが、リソースに画像を追加しようとしたときに問題が発生しました。 フォルダリソースを削除すると、再びプロジェクトを開けます。問題なさそうに見えるのですが、時々同じメッセージが表示されてまた停止してしまいます。 Re: Gui-guider 2.0.1 Ubuntu error こんにちは、 @poldo さん。 GUI Guiderページのシステム要件セクションや「Getting started — GUI Guider ドキュメント」ページのインストールプロセスで述べられているように、GUI Guider 2.0.1はUbuntu 24.04向けに開発されました。これがUbuntu 26.04 LTSで簡単なプロジェクトを開くとすぐにエラーが出たり、ninjaフレームワークのインストールが困難になったりする理由かもしれません。インストール中に警告メッセージやエラーメッセージが表示されましたか?可能であれば、このツールをUbuntu 24.04で実行してみてください。 BR、 エドウィン。 Re: Gui-guider 2.0.1 Ubuntu error こんにちは、 @poldo さん。 これはおそらく、sharpとの互換性の問題が原因でエラーが発生しているため、画像リソースを追加する際にそのエラーメッセージが表示されるのでしょう。可能であれば、Ubuntu 24.04 を試してみてください。GUI Guider は、イメージ リソースを使用する場合でも、この LTS 環境で動作することが確認されています。 BR、 エドウィン。 Re: Gui-guider 2.0.1 Ubuntu error ダウングレードは不可能ですが、GUI-GuiderをdistroboxのUbuntu 24.04コンテナ内で実行することで互換性の問題を解決しました。手動でライブラリやプログラムをインストールする必要がありましたが、うまく動作しているようです! Re: Gui-guider 2.0.1 Ubuntu error こんにちは、 @poldo さん。 それは素晴らしいニュースですね!他に何か問題が発生した場合はお知らせください。喜んでお手伝いいたします。 BR、 エドウィン。
記事全体を表示
[S32DS 3.6.1]更新失敗 つまらない CY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.png 必要なアイテムが一つ以上見つからず、インストールを完了できません。 インストール中のソフトウェア:C/C++開発ツール 12.5.0.202606022100(org.eclipse.cdt.feature.group 12.5.0.202606022100) 不足している要件: GDB Common 7.2.500.202603111352(org.eclipse.cdt.gdb 7.2.500.202603111352)'osgi.bundle' が必要です。org.eclipse.core.runtime [3.34.0,4.0.0)' ですが、見つけられませんでした 依存性を満たせない: 差出人:C/C++開発ツール 12.5.0.202606022100(org.eclipse.cdt.feature.group 12.5.0.202606022100) 宛先:org.eclipse.equinox.p2.iu;org.eclipse.cdt.gdb.feature.group [12.5.0.202603111352, 12.5.0.202603111352] 依存性を満たせない: 差出人:C/C++ 共通GDBサポート 12.5.0.202603111352(org.eclipse.cdt.gdb.feature.group 12.5.0.202603111352) 宛先: org.eclipse.equinox.p2.iu; org.eclipse.cdt.gdb [7.2.500.202603111352,7.2.500.202603111352] 必要なアイテムが一つ以上見つからず、インストールを完了できません。 インストール中のソフトウェア:リモートサービス 12.5.0.202603111352(org.eclipse.remote.feature.group 12.5.0.202603111352) 欠けている要件:Eclipse Remote Development ドキュメントプラグイン 12.5.0.202603111352(org.eclipse.remote.doc.isv 12.5.0.202603111352)'osgi.bundle' が必要です。org.eclipse.help [3.10.500,4.0.0)"ですが、見つかりませんでした 依存性を満たせない: 差出人:リモートサービス 2026年5月12日 03111352(org.eclipse.remote.feature.group 12.5.0.202603111352) 宛先: org.eclipse.equinox.p2.iu; org.eclipse.remote.doc.isv [12.5.0.202603111352,12.5.0.202603111352] 必要なアイテムが一つ以上見つからず、インストールを完了できません。 インストール中のソフトウェア:C/C++開発ツール 12.5.0.202606022100(org.eclipse.cdt.feature.group 12.5.0.202606022100) 不足している要件: GDB Common 7.2.500.202603111352(org.eclipse.cdt.gdb 7.2.500.202603111352)'osgi.bundle' が必要です。org.eclipse.core.runtime [3.34.0,4.0.0)' ですが、見つけられませんでした 依存性を満たせない: 差出人:C/C++開発ツール 12.5.0.202606022100(org.eclipse.cdt.feature.group 12.5.0.202606022100) 宛先:org.eclipse.equinox.p2.iu;org.eclipse.cdt.gdb.feature.group [12.5.0.202603111352, 12.5.0.202603111352] 依存性を満たせない: 差出人:C/C++ 共通GDBサポート 12.5.0.202603111352(org.eclipse.cdt.gdb.feature.group 12.5.0.202603111352) 宛先: org.eclipse.equinox.p2.iu; org.eclipse.cdt.gdb [7.2.500.202603111352,7.2.500.202603111352] 必要なアイテムが一つ以上見つからず、インストールを完了できません。 インストール中のソフトウェア:C/C++開発プラットフォーム 12.5.0.202606022100(org.eclipse.cdt.platform.feature.group 12.5.0.202606022100) 不足している要件: C/C++ 開発ツール コアネイティブユーティリティ 6.6.200.202603111352(org.eclipse.cdt.core.native 6.6.200.202603111352)'osgi.bundle' が必要です。org.eclipse.core.runtime [3.34.0,4.0.0)' ですが、見つけられませんでした 依存性を満たせない: 差出人:C/C++ 開発ツール ネイティブユーティリティ 12.5.0.202606022100(org.eclipse.cdt.native.feature.group 12.5.0.202606022100) 宛先: org.eclipse.equinox.p2.iu; org.eclipse.cdt.core.native [6.6.200.202603111352,6.6.200.202603111352] 依存性を満たせない: 差出人:C/C++開発プラットフォーム 12.5.0.202606022100(org.eclipse.cdt.platform.feature.group 12.5.0.202606022100) 宛先:org.eclipse.equinox.p2.iu;org.eclipse.cdt.native.feature.group [12.5.0.202606022100,12.5.0.202606022100] 必要なアイテムが一つ以上見つからず、インストールを完了できません。 インストール中のソフトウェア:C/C++ GCC クロスコンパイラサポート 12.5.0.202603111352(org.eclipse.cdt.build.crossgcc.feature.group 12.5.0.202603111352) 欠けている要件:CDT GCCクロスコンパイラサポート 1.3.800.202603111352(org.eclipse.cdt.build.crossgcc 1.3.800.202603111352)'osgi.bundle' が必要です。org.eclipse.core.runtime [3.34.0,4.0.0)' ですが、見つけられませんでした 依存性を満たせない: 差出人:C/C++ GCCクロスコンパイラサポート 12.5.0.202603111352(org.eclipse.cdt.build.crossgcc.feature.group 12.5.0.202603111352) 宛先: org.eclipse.equinox.p2.iu; org.eclipse.cdt.build.crossgcc [1.3.800.202603111352,1.3.800.202603111352] 必要なアイテムが一つ以上見つからず、インストールを完了できません。 インストール中のソフトウェア:C/C++開発ツールネイティブユーティリティ12.5.0.202606022100(org.eclipse.cdt.native.feature.group 12.5.0.202606022100) 不足している要件: C/C++ 開発ツール コアネイティブユーティリティ 6.6.200.202603111352(org.eclipse.cdt.core.native 6.6.200.202603111352)'osgi.bundle' が必要です。org.eclipse.core.runtime [3.34.0,4.0.0)' ですが、見つけられませんでした 依存性を満たせない: 差出人:C/C++ 開発ツール ネイティブユーティリティ 12.5.0.202606022100(org.eclipse.cdt.native.feature.group 12.5.0.202606022100) 宛先: org.eclipse.equinox.p2.iu; org.eclipse.cdt.core.native [6.6.200.202603111352,6.6.200.202603111352] 必要なアイテムが一つ以上見つからず、インストールを完了できません。 インストール中のソフトウェア:C/C++ Common GDB サポート 12.5.0.202603111352(org.eclipse.cdt.gdb.feature.group 12.5.0.202603111352) 不足している要件: GDB Common 7.2.500.202603111352(org.eclipse.cdt.gdb 7.2.500.202603111352)'osgi.bundle' が必要です。org.eclipse.core.runtime [3.34.0,4.0.0)' ですが、見つけられませんでした 依存性を満たせない: 差出人:C/C++ 共通GDBサポート 12.5.0.202603111352(org.eclipse.cdt.gdb.feature.group 12.5.0.202603111352) 宛先: org.eclipse.equinox.p2.iu; org.eclipse.cdt.gdb [7.2.500.202603111352,7.2.500.202603111352] 必要なアイテムが一つ以上見つからず、インストールを完了できません。 インストール中のソフトウェア:C/C++ メモリビュー強化 12.5.0.202603111352(org.eclipse.cdt.debug.ui.memory.feature.group 12.5.0.202603111352) 不足している要件: デバッグ コア メモリ 0.2.300.202512020204(org.eclipse.cdt.debug.core.memory 0.2.300.202512020204)'osgi.bundle' が必要です。org.eclipse.core.runtime [3.34.0,4.0.0)' ですが、見つけられませんでした 依存性を満たせない: 差出人:C/C++ メモリビュー強化 12.5.0.202603111352(org.eclipse.cdt.debug.ui.memory.feature.group 12.5.0.202603111352) 宛先: org.eclipse.equinox.p2.iu; org.eclipse.cdt.debug.core.memory [0.2.300.202512020204,0.2.300.202512020204] 必要なアイテムが一つ以上見つからず、インストールを完了できません。 インストール中のソフトウェア:C/C++ GNU ツールチェーンビルドサポート 12.5.0.202603111352(org.eclipse.cdt.gnu.build.feature.group 12.5.0.202603111352) 欠けている要件:CDT Build Core 2.1.800.202512020204に対するGCCサポート(org.eclipse.cdt.build.gcc.core 2.1.800.202512020204)'osgi.bundle' が必要です。org.eclipse.core.runtime [3.34.0,4.0.0)' ですが、見つけられませんでした 依存性を満たせない: 差出人:C/C++ GNU ツールチェーンビルドサポート 12.5.0.202603111352(org.eclipse.cdt.gnu.build.feature.group 12.5.0.202603111352) 宛先: org.eclipse.equinox.p2.iu; org.eclipse.cdt.build.gcc.core [2.1.800.202512020204,2.1.800.202512020204] 必要なアイテムが一つ以上見つからず、インストールを完了できません。 インストール中のソフトウェア:C/C++ GDBハードウェアデバッグ 12.5.0.202603111352(org.eclipse.cdt.debug.gdbjtag.feature.group 12.5.0.202603111352) 不足している要件: Eclipse GDB ハードウェアデバッグコアプラグイン 10.8.500.202512020204(org.eclipse.cdt.debug.gdbjtag.core 10.8.500.202512020204)'osgi.bundle' が必要です。org.eclipse.core.runtime [3.34.0,4.0.0)' ですが、見つけられませんでした 依存性を満たせない: 差出人:C/C++ GDBハードウェアデバッグ 12.5.0.202603111352(org.eclipse.cdt.debug.gdbjtag.feature.group 12.5.0.202603111352) 宛先: org.eclipse.equinox.p2.iu; org.eclipse.cdt.debug.gdbjtag.core [10.8.500.202512020204,10.8.500.202512020204] 必要なアイテムが一つ以上見つからず、インストールを完了できません。 インストール中のソフトウェア:C/C++ GNU ツールチェーンデバッグサポート 12.5.0.202603111352(org.eclipse.cdt.gnu.debug.feature.group 12.5.0.202603111352) 欠けている要件:C/C++開発ツールの起動サポート 11.0.300.202603111352(org.eclipse.cdt.launch 11.0.300.202603111352)'osgi.bundle' が必要です。org.eclipse.ui.ide [3.22.600,4.0.0)"ですが、見つかりませんでした 依存性を満たせない: 差出人:C/C++ GNU ツールチェーン デバッグサポート 12.5.0.202603111352(org.eclipse.cdt.gnu.debug.feature.group 12.5.0.202603111352) 宛先: org.eclipse.equinox.p2.iu; org.eclipse.cdt.launch [11.0.300.202603111352,11.0.300.202603111352] 必要なアイテムが一つ以上見つからず、インストールを完了できません。 インストール中のソフトウェア:C/C++ DSF GDB デバッガ統合 12.5.0.202603111352(org.eclipse.cdt.gnu.dsf.feature.group 12.5.0.202603111352) 不足している要件: GDB DSF デバッガー統合コア 7.3.100.202601271447(org.eclipse.cdt.dsf.gdb 7.3.100.202601271447)'osgi.bundle' が必要です。org.eclipse.core.runtime [3.34.0,4.0.0)' ですが、見つけられませんでした 依存性を満たせない: 差出人:C/C++ DSF GDB デバッガ統合 12.5.0.202603111352(org.eclipse.cdt.gnu.dsf.feature.group 12.5.0.202603111352) 宛先: org.eclipse.equinox.p2.iu; org.eclipse.cdt.dsf.gdb [7.3.100.202601271447,7.3.100.202601271447] CY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.png CY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.png 必要なアイテムが一つ以上見つからず、インストールを完了できません。 インストール中のソフトウェア:リモートサービス 12.5.0.202603111352(org.eclipse.remote.feature.group 12.5.0.202603111352) 欠けている要件:Eclipse Remote Development ドキュメントプラグイン 12.5.0.202603111352(org.eclipse.remote.doc.isv 12.5.0.202603111352)'osgi.bundle' が必要です。org.eclipse.help [3.10.500,4.0.0)"ですが、見つかりませんでした 依存性を満たせない: 差出人:リモートサービス 2026年5月12日 03111352(org.eclipse.remote.feature.group 12.5.0.202603111352) 宛先: org.eclipse.equinox.p2.iu; org.eclipse.remote.doc.isv [12.5.0.202603111352,12.5.0.202603111352] Re: [S32DS 3.6.1] Update Fail こんにちは、 @CY9 さん。 インストールしようとしているパッケージ、更新サイト、RTD、プラグインを教えてもらえますか? エラーログを見ると、CDT 12.5.0のインストールを試みているようですが、最新のS32DSリリースはEclipse 2023-12フレームワーク、 CDT 11.4、 Java17をサポートしています。 S32DSのアップデートと拡張機能インターフェースだけ を使ってアップデートを試しましたか? Julin_AragnM_0-1787853046969.pngJulin_AragnM_0-1787853046969.pngJulin_AragnM_0-1787853046969.pngJulin_AragnM_0-1787853046969.pngJulin_AragnM_0-1787853046969.pngJulin_AragnM_0-1787853046969.pngJulin_AragnM_0-1787853046969.pngJulin_AragnM_0-1787853046969.pngJulin_AragnM_0-1787853046969.pngJulin_AragnM_0-1787853046969.png よろしくお願いします、 ジュリアン Re: [S32DS 3.6.1] Update Fail あなたは遅刻しています。 参照: https ://community.nxp.com/t5/S32K/S32DS-3-6-1-Example-Code-disappear/mp/2408504 私は既にこのSHxTを削除しています。問題が多すぎる。 バージョンは3.6.1ではなく、実際には3.6.10です。 Re: [S32DS 3.6.1] Update Fail こんにちは、 @CY9 さん。 S32DSおよび一般的な環境に関して、多くの問題を引き起こしてしまったのであれば、お詫び申し上げます。他の投稿から、あなたはRTM 4.0.2を使いたいと考えているようですが、これはS32DS 3.6.10ではサポートされていません 。 代わりに、同僚のロビンが提案したように、以下をインストールする必要があります。 S32 デザインスタジオ 3.4 S32K1xx サービスパック 1 これで、S32K1XX RTMが表示されるはずです。私の場合はRTM 4.0.3を使っています: Julin_AragnM_0-1787933831435.pngJulin_AragnM_0-1787933831435.pngJulin_AragnM_0-1787933831435.pngJulin_AragnM_0-1787933831435.pngJulin_AragnM_0-1787933831435.pngJulin_AragnM_0-1787933831435.pngJulin_AragnM_0-1787933831435.pngJulin_AragnM_0-1787933831435.png そうでなければ、S32DS 3.6.10 を使用する場合、リアルタイム・ドライバ(RTD)を必ず使用してください。 S32SDKは非推奨化され、RTDパッケージに置き換えられました。RTDパッケージは低レベル(IP)および高レベル(MCAL)の例とドライバも提供しています。 S32SDKのインストール中にご迷惑をおかけしたことをお詫び申し上げます。 よろしくお願いします、 ジュリアン Re: [S32DS 3.6.1] Update Fail 「… RTM 4.0.2 は S32DSでサポートされて いません …」 それはまた別の問題だ。 初心者はどうやって [どの RTM がどのバージョンの S32DS でサポートされているか/サポートされていないか] を知ることができるのでしょうか?? そして: RTM xx で作成された古いプロジェクトを、新しいバージョンの OS S32DS で開く/インポートするにはどうすればよいですか?? 新しいS32DS v6.0.10でS32DS v3.5+RTM402で作成された古いプロジェクトを開いてインポートすることはできません... 新バージョンにアップグレードする動機がない。..... 理解する !? 私はS32DS 3.5を永遠に使い続けます...どんなに新しいS32DS 4.0/99.0がスマートで高度でもこの問題を解決しない場合: CY9_2-1787708167310.pngCY9_2-1787708167310.pngCY9_2-1787708167310.pngCY9_2-1787708167310.pngCY9_2-1787708167310.pngCY9_2-1787708167310.pngCY9_2-1787708167310.png 「`」 $ grep -ni "RTM" .** 2>/dev/null .project:35: s32sdk_s32k1xx_rtm_402/rtos/osif/doxygen/osif.dox .project:40: S32SDK_S32K1XX_RTM_4.0.2/プラットフォーム/ドライバ/src/adc/doxygen/adc_driver.dox .project:45: s32sdk_s32k1xx_rtm_402/プラットフォーム/ドライバ/src/clock/doxygen/clock_manager.dox .project:50: s32sdk_s32k1xx_rtm_402/platform/drivers/src/crc/doxygen/crc.dox .project:55: s32sdk_s32k1xx_rtm_402/platform/drivers/src/edma/doxygen/edma_driver.dox .project:60: s32sdk_s32k1xx_rtm_402/platform/drivers/src/flash/doxygen/flash_driver.dox .project:65: s32sdk_s32k1xx_rtm_402/プラットフォーム/ドライバ/src/flexcan/doxygen/flexcan_driver.dox .project:70: s32sdk_s32k1xx_rtm_402/プラットフォーム/ドライバ/src/ftm/doxygen/ftm_driver.dox .project:75: s32sdk_s32k1xx_rtm_402/プラットフォーム/ドライバ/src/ftm/doxygen/ftm_pwm_driver.dox .project:80: s32sdk_s32k1xx_rtm_402/platform/drivers/src/interrupt/doxygen/interrupt.dox .project:85: S32SDK_S32K1XX_RTM_4.0.2/platform/drivers/src/lptmr/doxygen/lptmr.dox .project:90: S32SDK_S32K1XX_RTM_4.0.2/platform/drivers/src/lptmr/doxygen/lptmr_driver.dox .project:95: s32sdk_s32k1xx_rtm_402/platform/drivers/src/lpuart/doxygen/lpuart_driver.dox .project:100: S32SDK_S32K1XX_RTM_4.0.2/platform/drivers/src/pdb/doxygen/pdb.dox .project:105: S32SDK_S32K1XX_RTM_4.0.2/platform/drivers/src/pdb/doxygen/pdb_driver.dox .project:110: s32sdk_s32k1xx_rtm_402/プラットフォーム/ドライバ/src/pins/doxygen/pins.dox .project:115: S32SDK_S32K1XX_RTM_4.0.2/プラットフォーム/ドライバ/src/trgmux/doxygen/trgmux_driver.dox .project:120: S32SDK_S32K1XX_RTM_4.0.2/platform/pal/src/adc/doxygen/adc_pal.dox .project:125: s32sdk_s32k1xx_rtm_402/platform/pal/src/can/doxygen/can_pal.dox .project:130: S32SDK_S32K1XX_RTM_4.0.2/platform/pal/src/pwm/doxygen/pwm_pal.dox .project:135: s32sdk_s32k1xx_rtm_402/platform/pal/src/timing/doxygen/timing_pal.dox .project:140: s32sdk_s32k1xx_rtm_402/platform/pal/src/uart/doxygen/uart_pal.dox .project:145: s32sdk_s32k1xx_rtm_402/プラットフォーム/ドライバ/src/clock/S32K1xx/doxygen/clock_S32K1xx.dox Project_S32DS35_118.mex:6: s32sdk_s32k1xx_rtm_402 「`」 RTM402がS32DS3.5でサポートされていないことは知っています。…私はすでに長期間にわたって仕事で多くのプロジェクトを作成してきたのですが…。 しかしRTM402をRTM401に戻すことはできません =_=」 そして、RTM402 を S32DS3.5 にインストールすると、RTM/S32DS v3.5 はサポートされていないためブロック/警告を一切表示しません... ←これが最も迷惑な点です。 Re: [S32DS 3.6.1] Update Fail こんにちは 、 RTM 4.0.2はかなり古いバージョンで、NXPはもはやサポートしていません。どのソフトウェアがサポートされているかを知る最も簡単な方法は、リリースノートを参照することです。例えば、RTM 4.0.2はS32 Design Studio v3.4 S32K1サービスパック1とともにリリースされたため、SDKで宣伝されているバージョン(RTM 4.0.2用はS32DS v3.4)のみを使用することを検討してください。SDK/RTD互換性: SDK/RTD S32DSバージョン SDK RTM 4.0.1 v3.3のみ SDK RTM 4.0.2 v3.4のみ SDK RTM 4.0.3 v3.4のみ RTD 2.0.x v3.5 RTD 3.0.0 v3.6.1+ 古いSW(RTM xxx)で作成されたプロジェクトをインポートしようとする際は、開発に使われたのと同じIDE + SWバージョンを使うことを単純におすすめします(例:S32DS 3.4 + RTM 4.0.2)新しいRTDにアップデートする代わりに。 そして、RTM402 を S32DS3.5 にインストールすると、RTM/S32DS v3.5 はサポートされていないためブロック/警告を一切表示しません... ←これが最も迷惑な点です。 SDK/RTDのインストールはS32DSの拡張とアップデートを通じて行われます。これは通常、サポートされていないバージョンをブロックします。v3.5+でSDKをインストールしようとすると、次のようなメッセージが表示されます: Julin_AragnM_0-1788199384241.pngJulin_AragnM_0-1788199384241.pngJulin_AragnM_0-1788199384241.pngJulin_AragnM_0-1788199384241.pngJulin_AragnM_0-1788199384241.pngJulin_AragnM_0-1788199384241.png 「Help > Install New Software」からソフトウェアをインストールすると、EclipseはS32DS拡張機能やアップデートの制限をすべて回避します。互換性が確かでない限り、直接ソフトウェアをインストールしないことをお勧めします。 同僚のRobinが別の投稿で回答したように:回复: [S32DS 3.5+RTM401] このSHxTが何が起きたのかわかりません。NXPコミュニティの皆さん、もしS32K1 SDK RTM 4.0.1を使おうとしているなら、代わりにS32DS 3.3をお勧めします。これは、インストールしようとしているソフトウェアによって異なります。 ご迷惑をおかけして申し訳ございません。 よろしくお願いします、 ジュリアン Re: [S32DS 3.6.1] Update Fail 参照: https ://community.nxp.com/t5/S32-Design-Studio/Create-a-MEX-File-in-S32-DS/td-p/1587470 SDKが全くない場合、 この 問題をどう解決すればいいのでしょうか? .mexファイルを作成する方法SDKなしでファイル? 理解できない 。 S32SDK-S32V Re: [S32DS 3.6.1] Update Fail 新しいPCやVMに新品のS32DS v3.5をインストールすることはできますか? これは、S32DS v3.5 を新規インストールした際のスクリーンショットです!! v3.3/v3.4 ではありません。!! すでに401 S32K1xx_RTMサポートが!! -- フィルターキーワード: "RTM" : CY9_0-1788227256367.pngCY9_0-1788227256367.pngCY9_0-1788227256367.pngCY9_0-1788227256367.png そして、何の警告もアラートもなくインストールされます! 自分で確認できるよ... つまり、下のリストは間違っています!! SDK RTM 4.0.1 v3.3のみ そして、みんなを混乱させるんだ…わかるか!? Re: [S32DS 3.6.1] Update Fail こんにちは、 @CY9 さん。 あなたはS32DS 3.5とRTM 4.0.1を使用していると理解しています。たとえSDKが警告やエラーなしでインストールできても、S32DS v3.5+にS32K1 SDK 4.0.xをインストールすることは推奨されません。 私が互換性表を共有したのは、各SDK RTM 4.0.xリリースが開発・テストされたS32DSバージョンを指定しており、それだけが 問題なく完全な互換性を保証する組み合わせだということです。SDK RTM 4.0.1はS32DS v3.3および最後の4.0.xで開発・検証されましたバージョン(RTM 4.0.3)はS32DS v3.4で検証済みです。現在、S32SDK S32K1XX 4.0.x を統合する予定はありません。S32DS v3.5以降にインストールしてください。 RTM 4.0.1 リリースノートより: Julin_AragnM_0-1788288309871.pngJulin_AragnM_0-1788288309871.pngJulin_AragnM_0-1788288309871.png よろしくお願いします、 ジュリアン Re: [S32DS 3.6.1] Update Fail 「完全な互換性と問題がないことを保証します」という記述は見当たりません。SDK RTM 4.0.1は、以下のS32DS v3.x」情報を基に開発および検証されました: CY9_0-1788308855556.pngCY9_0-1788308855556.png
記事全体を表示
i.MX95 19x19 EVK:SMMU 一致性表遍历 (IDR0.COHACC) 和启用 SMMU 的 DPDK 的 vfio-pci 您好,NXP团队: 我们正在开发一款高吞吐量、低延迟的网络产品,该产品采用i.MX95 19x19 LPDDR5 EVK和官方 NXP Linux 电路板支持包 LF 6.6.52_2.2.2 。 我们需要 在NETC功能(例如 0002:00:00.0 或SR-IOV VF)上使用 vfio-pci 运行DPDK,并配合用户空间PMD使用。但是, 当SMMU启用时, 将设备绑定到vfio-pci 会失败。 在我们的 64 字节帧基准测试中: Linux 内核驱动程序( fsl_enetc4)😞 约170,000磅 在禁用SMMU的情况下,VF上的原生PMD:~456,000 pps 性能差异使得我们的应用程序需要一个用户空间的 DPDK 驱动程序。 我们不能禁用 SMMU 或使用enable_unsafe_noiommu_mode=1 ,因为我们的生产系统需要硬件强制 DMA 隔离。 启用 SMMU 后,将 NETC 函数从fsl_enetc4解绑并将其绑定到 vfio-pci会失败,并出现-EINVAL错误: root@imx95-19x19-lpddr5-evk:~# lspci -k -s 0002:00:00.0 0002:00:00.0 Ethernet controller: Philips Semiconductors Device e101 (rev 04) Subsystem: Philips Semiconductors Device e101 Kernel driver in use: fsl_enetc4 root@imx95-19x19-lpddr5-evk:~# echo 0002:00:00.0 > /sys/bus/pci/drivers/fsl_enetc4/unbind root@imx95-19x19-lpddr5-evk:~# echo "1131 e101" > /sys/bus/pci/drivers/vfio-pci/new_id [ 143.562552] vfio-pci: probe of 0002:00:00.0 failed with error -22 通过追踪 Linux VFIO 和 Arm SMMU代码,故障似乎与 SMMU 一致性功能有关。vfio需要IOMMU_CAP_CACHE_COHERENCY ,而 Arm SMMU 驱动程序基于IDR0.COHACC启用ARM_SMMU_FEAT_COHERENCY 。 在 i.MX95 EVK 上, IDR0.COHACC读取为0 ,因此报告 SMMU 不支持一致性转换表遍历。这导致device_iommu_capable(..., IOMMU_CAP_CACHE_COHERENCY)返回 false, vfio-pci失败并出现-EINVAL错误。 我们了解到,在 SMMU 设备树节点中添加`dma-coherent;`可以强制 Linux SMMU 驱动程序启用 ` ARM_SMMU_FEAT_COHERENCY` 。但是,这也会导致`io-pgtable-arm`配置`pgtbl_cfg.coherent_walk = true` ,从而禁用通常用于页表更新的 CPU 缓存维护。 因此,除非确认 i.MX95 硬件支持一致性 SMMU 转换表遍历,否则我们不建议启用DMA 一致性。如果互连架构不监听 CPU 缓存中的 SMMU 表遍历信息,则在动态 IOMMU 映射期间,可能会导致页表条目过时和内存损坏。 NXP能否澄清以下问题: i.MX95 芯片/互连是否支持硬件一致的 SMMU 转换表遍历,包括对 CPU 缓存进行必要的缓存侦听? 如果支持一致性表遍历,在 SMMU 报告一致性遍历之前,互连、系统管理器、ATF/固件或其他平台初始化中是否需要启用任何配置? 如果支持一致性表遍历, NXP 推荐的安全启用一致性表遍历的设备树/固件配置是什么?如何在 EVK 上验证这一点? 如果 不支持 一致性表遍历 ,NXP 推荐的在生产环境中安全使用 DPDK 和 vfio-pci 并保持 SMMU/DMA 隔离启用的 方法是什么 ? 对于在 i.MX95 上启用 SMMU 的DPDK + vfio-pci 的支持配置,任何指导都将不胜感激。 Re: i.MX95 19x19 EVK: SMMU coherent table walks (IDR0.COHACC) and vfio-pci for DPDK with SMMU enable 如果客户希望将 SMMU 用于其他用例,但可以接受绕过 DPDK(不想在 bootargs 中使用 iommu.passthrough=1 或在 dts 中禁用 SMMU 节点)。 然后可以尝试绑定 uio-pci-generic 框架并禁用 VSI-PSI 消息传递(导出 ENETC4_VSI_MSG_DISABLE=1)。但是禁用 VSI-PSI 消息意味着用户将无法使用某些 ENETC 功能,例如混杂模式、VLAN MAC 地址过滤和链路信息。 Re: i.MX95 19x19 EVK: SMMU coherent table walks (IDR0.COHACC) and vfio-pci for DPDK with SMMU enable 我刚刚收到 DPDK 团队的反馈,请问以下问题。 这是已知的局限性。i.MX95-evk 是一个非 IO 缓存一致性平台,启用 SMMU 的 VFIO_PCI 驱动程序依赖于“IOMMU_CAP_CACHE_COHERENCY”,我们无法对此进行宣传。 所有详细信息已记录在 README 文件中: dpdk/nxp/README_imx95_enetc_vf_vfio at 25.11-qoriq · NXP/dpdk · GitHub 即使您检查 dpdk 数据路径,也会发现驱动程序要么使用不可缓存的内存,要么使用软件缓存维护指令: dpdk/drivers/net/enetc/enetc_rxtx.c 25.11-qoriq · NXP/dpdk · GitHub Re: i.MX95 19x19 EVK: SMMU coherent table walks (IDR0.COHACC) and vfio-pci for DPDK with SMMU enable 与DPDK团队讨论。
記事全体を表示
i.mxrt1187/1189 コアクロック構成 i.mxrt1180のデータシートには、Cortex-M7コアが最大800 MHz、Cortex-M33コアが最大300 MHzで動作すると記載されています。 実際に、これらの速度でコアを動作するように構成することは可能なのでしょうか? サンプルコードでは、コアが792MHz(M7)と240MHz(M33)で動作していることが示されています。 これがM7コアの設定できる最速のようです。 M33コアを264 MHzで動作させるには、PLL_ARM入力クロックを3で割ることで設定できるようです。 ありがとうございます ピーター・スタインバーグ Re: i.mxrt1187/1189 core clock configuration @petersteinberg様、 ご質問ありがとうございます。 i.MX RT1180のデータシートではCortex-M7が800 MHz、Cortex-M33が300 MHzと記載されていますが、これらは各コアの個別最大値であり、両方を同時に達成することはできません。 その理由はPLLアーキテクチャにあります。両方のコアが同じARM_PLLを共有しており、CM33クロックは整数分周器を介してそこから生成する必要があります。分数分周器はサポートされていません。 ARM_PLL自体の真のハードウェア最大値は798MHz(「800MHz」という数値は丸められた公称値)で、これはVDIV = 133に設定することで実現されます。 ShellyZhang_0-1788249495288.pngShellyZhang_0-1788249495288.pngShellyZhang_0-1788249495288.pngShellyZhang_0-1788249495288.pngShellyZhang_0-1788249495288.pngShellyZhang_0-1788249495288.png ARM_PLLが798 MHzの場合、CM33の最良の整数分割は3で割り算され、798 MHz ÷ 3 = 266 MHzとなります。つまり、CM7が真の最大798 MHzで動作しているとき、CM33は最大266 MHzに達し、300 MHzには達しません。 もしアプリケーションが300 MHzでCM33を必要とする場合、ARM_PLL 600 MHzに再構成する必要があります。これによりCM33は600 MHz ÷ 2 = 300 MHzで動作しますが、この場合CM7は600 MHzに制限されます。 ご不明な点がございましたら、お気軽にお問い合わせください。 よろしくお願いいたします。 シェリー Re: i.mxrt1187/1189 core clock configuration ありがとうございます。リファレンス・マニュアルで読んでいたことがわかりました。 ピーター Re: i.mxrt1187/1189 core clock configuration MCUXpressoの現在のバージョン(25.6.136)M33コアを240MHz以上に設定することはできません。 スタンドアロンのMCU構成ツール(26.06)の現行バージョンは、より高いM33コア速度をサポートしていますが、MCUXpressoのIDEツールには対応していません。 Re: i.mxrt1187/1189 core clock configuration @petersteinberg様、 MCUXpresso IDEの統合設定ツールを使ってクロックをうまく設定できました。この問題は、おそらくConfig Toolsのバージョン不一致に関連していると思われます。以下の手順に従って、設定ツールを更新してください。 MCUXpresso IDE内の設定ツールの更新 アップデート後は、MCUXpresso IDEを再起動してください。また、時計の設定が完了したら、 「コードの更新」をクリックして、更新された設定コードを生成してください。 ShellyZhang_0-1788333111591.pngShellyZhang_0-1788333111591.pngShellyZhang_0-1788333111591.png アップデート後も同じ問題が発生する場合は、お知らせください。 よろしくお願いいたします。 シェリー Re: i.mxrt1187/1189 core clock configuration ありがとう。 私は昨日、コメントを投稿する前にそれを済ませました。 今日さらに4回試してみたところ、ようやく適切なバージョンがダウンロードされ、インストールされたようで、今は期待通りに動作しています。 ピーター
記事全体を表示
SAF9000 Unused pin terminations Hi  Are there any special requirements for un-connected/not used pins for the SAF9000. Re: SAF9000 Unused pin terminations Hello,  Thanks for reaching us This part number is still under preproduction. Documentation is not available yet. For additional information please contact your sales representative or authorized distributor. Best regards,  Alondra
記事全体を表示
user LED control on i.MX93 FRDM board Hi all, I started to play with i.MX93 FRDM board and when I wrote a simple script to control RGB LEDs on the board, I've managed to control only Green and Blue LEDs. Red LED stays ON whatever I tried. Based on the schematics, all leds are connected in a similar manner, so they operate Active High. Here is my script: --------------------------- #!/bin/sh PERIOD=1000000 set_pwm() { CHIP=$1 CHANNEL=$2 DUTY=$3 PWM_PATH="/sys/class/pwm/pwmchip${CHIP}/pwm${CHANNEL}" if [ ! -d "$PWM_PATH" ]; then echo "$CHANNEL" > "/sys/class/pwm/pwmchip${CHIP}/export" 2>/dev/null fi # Reset duty cycle to 0 first to satisfy TPM driver constraints echo 0 > "${PWM_PATH}/duty_cycle" 2>/dev/null echo "$PERIOD" > "${PWM_PATH}/period" echo "$DUTY" > "${PWM_PATH}/duty_cycle" echo 1 > "${PWM_PATH}/enable" 2>/dev/null } # Red is Active-Low: Default OFF = 1000000 (3.3V / High) RED_DUTY=${1:-0} # Green and Blue are Active-High: Default OFF = 0 (0V / Low) GREEN_DUTY=${2:-0} BLUE_DUTY=${3:-0} # Red -> pwmchip4, Channel 3 set_pwm 4 3 "$RED_DUTY" # Green -> pwmchip0, Channel 0 set_pwm 0 0 "$GREEN_DUTY" # Blue -> pwmchip0, Channel 2 set_pwm 0 2 "$BLUE_DUTY" ------------------------------------------- I've checked that red LED (GPIO_IO13) is allocated to the ledsgrp2: pin 17 (IMX93_IOMUXC_GPIO_IO13): 424f0000.pwm (GPIO UNCLAIMED) function pinctrl group ledsgrp2 as far as I can see with debugfs commands, the pin GPIO_IO13 is configured for ALT1 mode, which is a TPM2 channel 3 (PWM). when I run the script, I can successfully control Blue and Green LEDS but Red LED stays ON. Is there something that I miss? Re: user LED control on i.MX93 FRDM board Hi @ilya_chepurin  The RED LED is channel 2, please use below script to test(verified on L6.18.20) #!/bin/sh # RGB LED PWM cycle test for i.MX93 EVK/FRDM. # Sequence per cycle: RED on 1s -> all off 1s -> GREEN on 1s -> all off 1s -> BLUE on 1s -> all off 1s # Usage: ./run.sh [LOOPS] LOOPS: number of full cycles, 0 = infinite, default 3 # Timing overridable via env: ON_TIME=2 REST_TIME=1 ./run.sh PERIOD=1000000 # 1 kHz period in ns ON_TIME=${ON_TIME:-1} # seconds a color stays ON REST_TIME=${REST_TIME:-1} # seconds all OFF between colors LOOPS=${1:-3} RETRIES=50 # Channel mapping and polarity (verified on this board, all ACTIVE-HIGH): # Red -> 424f0000.pwm = pwmchip1 ch2 ON=duty PERIOD OFF=duty 0 # Green -> 424e0000.pwm = pwmchip0 ch0 ON=duty PERIOD OFF=duty 0 # Blue -> 424e0000.pwm = pwmchip0 ch2 ON=duty PERIOD OFF=duty 0 RED_CHIP=1; RED_CH=2 GRN_CHIP=0; GRN_CH=0 BLU_CHIP=0; BLU_CH=2 # write_retry FILE VALUE : write VALUE to FILE, retry on transient TPM busy/-ETIME, # and confirm the value took effect. Returns 0 on success. write_retry() { t=0 while [ "$t" -lt "$RETRIES" ]; do echo "$2" > "$1" 2>/dev/null [ "$(cat "$1" 2>/dev/null)" = "$2" ] && return 0 t=$((t+1)) done echo "WARN: could not write $2 to $1" >&2 return 1 } # init_pwm CHIP CH : export (fresh), set period BEFORE duty, start disabled with duty 0. # The i.MX TPM shares a counter between channels; a stale export with period=0 makes # later period writes fail with -EBUSY, so we unexport first for a clean state. init_pwm() { P="/sys/class/pwm/pwmchip${1}" [ -d "${P}/pwm${2}" ] && echo "$2" > "${P}/unexport" 2>/dev/null echo "$2" > "${P}/export" 2>/dev/null write_retry "${P}/pwm${2}/period" "$PERIOD" # period must be set before duty write_retry "${P}/pwm${2}/duty_cycle" 0 # start OFF echo 1 > "${P}/pwm${2}/enable" 2>/dev/null } set_duty() { # CHIP CH DUTY write_retry "/sys/class/pwm/pwmchip${1}/pwm${2}/duty_cycle" "$3" } led() { # CHIP CH STATE(on|off) -- all channels active-high if [ "$3" = on ]; then set_duty "$1" "$2" "$PERIOD"; else set_duty "$1" "$2" 0; fi } all_off() { led $RED_CHIP $RED_CH off led $GRN_CHIP $GRN_CH off led $BLU_CHIP $BLU_CH off } # Init: green and blue share pwmchip0, so init green first, then blue. init_pwm $RED_CHIP $RED_CH init_pwm $GRN_CHIP $GRN_CH init_pwm $BLU_CHIP $BLU_CH trap "all_off; echo; echo interrupted, all LEDs off; exit 0" INT TERM all_off echo "start: all OFF" n=0 while :; do c=$((n+1)) echo "[cycle $c] RED on"; led $RED_CHIP $RED_CH on; sleep "$ON_TIME" echo "[cycle $c] --- off"; all_off; sleep "$REST_TIME" echo "[cycle $c] GREEN on"; led $GRN_CHIP $GRN_CH on; sleep "$ON_TIME" echo "[cycle $c] --- off"; all_off; sleep "$REST_TIME" echo "[cycle $c] BLUE on"; led $BLU_CHIP $BLU_CH on; sleep "$ON_TIME" echo "[cycle $c] --- off"; all_off; sleep "$REST_TIME" n=$c [ "$LOOPS" -eq 0 ] && continue [ "$n" -ge "$LOOPS" ] && break done all_off echo "done ($n cycle(s)), all LEDs off" Best Regards, Zhiming
記事全体を表示
i.MX93 FRDM 板上的用户 LED 控制 大家好, 我开始摆弄 i.MX93 FRDM 板,当我编写一个简单的脚本来控制板上的 RGB LED 时,我只成功控制了绿色和蓝色 LED。无论我怎么尝试,红色LED灯都一直亮着。 根据原理图,所有 LED 的连接方式都类似,因此它们都采用高电平有效模式。 这是我的脚本: --------------------------- #!/bin/sh 周期=1000000 设置 PWM() { 芯片=1美元 频道=$2 关税=3美元 PWM_PATH="/sys/class/pwm/pwmchip ${CHIP} /pwm ${CHANNEL} " 如果 [ ! -d "$PWM_PATH" ]; 则 echo "$CHANNEL" > "/sys/class/pwm/pwmchip ${CHIP} /export" 2>/dev/null 菲 # 首先将占空比重置为 0,以满足 TPM 驱动器的限制 echo 0 > " ${PWM_PATH} /duty_cycle" 2>/dev/null echo "$PERIOD" > " ${PWM_PATH} /period" echo "$DUTY" > " ${PWM_PATH} /duty_cycle" echo 1 > " ${PWM_PATH} /enable" 2>/dev/null } # 红色为低电平有效:默认关闭 = 1000000 (3.3V / 高电平) RED_DUTY= ${1:-0} # 绿色和蓝色为高电平有效:默认值为OFF = 0 (0V / 低电平) 绿色职责= ${2:-0} BLUE_DUTY= ${3:-0} # 红色 -> pwmchip4,通道 3 set_pwm 4 3 "$RED_DUTY" # 绿色 -> pwmchip0,通道 0 set_pwm 0 0 "$GREEN_DUTY" # 蓝色 -> pwmchip0,通道 2 set_pwm 0 2 "$BLUE_DUTY" ------------------------------------------- 我已经检查过,红色 LED(GPIO_IO13)已分配给 ledsgrp2: 引脚 17 (IMX93_IOMUXC_GPIO_IO13): 424f0000.pwm (GPIO 未声明) 功能 pinctrl 组 ledsgrp2 根据我使用 debugfs 命令所看到的,引脚 GPIO_IO13 配置为 ALT1 模式,即 TPM2 通道 3(PWM)。 运行脚本后,我可以成功控制蓝色和绿色 LED,但红色 LED 一直亮着。 我是不是漏掉了什么? Re: user LED control on i.MX93 FRDM board 嗨@ilya_chepurin 红色LED灯为通道2,请使用以下脚本进行测试(已在L6.18.20版本上验证)。 #!/bin/sh # RGB LED PWM cycle test for i.MX93 EVK/FRDM. # Sequence per cycle: RED on 1s -> all off 1s -> GREEN on 1s -> all off 1s -> BLUE on 1s -> all off 1s # Usage: ./run.sh [LOOPS] LOOPS: number of full cycles, 0 = infinite, default 3 # Timing overridable via env: ON_TIME=2 REST_TIME=1 ./run.sh PERIOD=1000000 # 1 kHz period in ns ON_TIME=${ON_TIME:-1} # seconds a color stays ON REST_TIME=${REST_TIME:-1} # seconds all OFF between colors LOOPS=${1:-3} RETRIES=50 # Channel mapping and polarity (verified on this board, all ACTIVE-HIGH): # Red -> 424f0000.pwm = pwmchip1 ch2 ON=duty PERIOD OFF=duty 0 # Green -> 424e0000.pwm = pwmchip0 ch0 ON=duty PERIOD OFF=duty 0 # Blue -> 424e0000.pwm = pwmchip0 ch2 ON=duty PERIOD OFF=duty 0 RED_CHIP=1; RED_CH=2 GRN_CHIP=0; GRN_CH=0 BLU_CHIP=0; BLU_CH=2 # write_retry FILE VALUE : write VALUE to FILE, retry on transient TPM busy/-ETIME, # and confirm the value took effect. Returns 0 on success. write_retry() { t=0 while [ "$t" -lt "$RETRIES" ]; do echo "$2" > "$1" 2>/dev/null [ "$(cat "$1" 2>/dev/null)" = "$2" ] && return 0 t=$((t+1)) done echo "WARN: could not write $2 to $1" >&2 return 1 } # init_pwm CHIP CH : export (fresh), set period BEFORE duty, start disabled with duty 0. # The i.MX TPM shares a counter between channels; a stale export with period=0 makes # later period writes fail with -EBUSY, so we unexport first for a clean state. init_pwm() { P="/sys/class/pwm/pwmchip${1}" [ -d "${P}/pwm${2}" ] && echo "$2" > "${P}/unexport" 2>/dev/null echo "$2" > "${P}/export" 2>/dev/null write_retry "${P}/pwm${2}/period" "$PERIOD" # period must be set before duty write_retry "${P}/pwm${2}/duty_cycle" 0 # start OFF echo 1 > "${P}/pwm${2}/enable" 2>/dev/null } set_duty() { # CHIP CH DUTY write_retry "/sys/class/pwm/pwmchip${1}/pwm${2}/duty_cycle" "$3" } led() { # CHIP CH STATE(on|off) -- all channels active-high if [ "$3" = on ]; then set_duty "$1" "$2" "$PERIOD"; else set_duty "$1" "$2" 0; fi } all_off() { led $RED_CHIP $RED_CH off led $GRN_CHIP $GRN_CH off led $BLU_CHIP $BLU_CH off } # Init: green and blue share pwmchip0, so init green first, then blue. init_pwm $RED_CHIP $RED_CH init_pwm $GRN_CHIP $GRN_CH init_pwm $BLU_CHIP $BLU_CH trap "all_off; echo; echo interrupted, all LEDs off; exit 0" INT TERM all_off echo "start: all OFF" n=0 while :; do c=$((n+1)) echo "[cycle $c] RED on"; led $RED_CHIP $RED_CH on; sleep "$ON_TIME" echo "[cycle $c] --- off"; all_off; sleep "$REST_TIME" echo "[cycle $c] GREEN on"; led $GRN_CHIP $GRN_CH on; sleep "$ON_TIME" echo "[cycle $c] --- off"; all_off; sleep "$REST_TIME" echo "[cycle $c] BLUE on"; led $BLU_CHIP $BLU_CH on; sleep "$ON_TIME" echo "[cycle $c] --- off"; all_off; sleep "$REST_TIME" n=$c [ "$LOOPS" -eq 0 ] && continue [ "$n" -ge "$LOOPS" ] && break done all_off echo "done ($n cycle(s)), all LEDs off" 此致, 志明
記事全体を表示