Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
S32K3 快速备用唤醒失败 你好, 在一个快速备用示例项目中,我定义了一个数组 编曲 在 .standby_data 虽然代码中包含这个数组,但它在代码中并没有被使用。然而,如果我注释掉这个数组定义,设备就无法从快速待机状态唤醒;如果我保留它,唤醒功能就能正常工作。此外,我还注意到优化级别也会影响设备的行为: -O0 优化失败,唤醒失败,但正在更改为 -Os 这样就能解决问题。为什么在……中定义变量会起作用? .standby_data 该部分是否会影响唤醒功能?为什么优化级别会产生如此大的影响? Jason22_0-1785895168596.png S32K312 RTD400 S32DS BR, 杰森 Re: S32K3 fast standby wake up fail 嗨@Senlent 非常感谢您的回复。将地址更改为 0x20408000 后,之前失败的案例现在可以正常工作了。 顺便说一下,关于我的另一个帖子(S32K3 ADC Optimize DMA Streaming),我用公司邮箱注册的新账号(Jason07)回复了你——回复的时候我忘记切换账号了。 Re: S32K3 fast standby wake up fail 嗨@ Jason22 程序中是否注释掉“arr”数组会影响__BSS_SRAM_START的值,该值将用作快速唤醒后MSP的初始值。 如果这个值太小,可能会导致堆栈溢出。 在我们的示例项目中,我们建议将此值设置为 0x20408000,这是备用 RAM 的结束地址。
View full article
S32K144: クロック設定ツールでSOSCとFIRCの間でSPLLクロックソースを選択する コミュニティの皆さん、こんにちは。 現在、S32 Design Studioのクロック設定ツールを使ってs32k144のマイクロコントローラを扱っています。 SOSCとFIRCの間でSPLLの基準クロックソースを選択できるかどうか、また可能ならツール内でどのような手順や設定手順が正しいのかを明確にしたいと思います。 どうもありがとうございます。 Re: S32K144: Selecting SPLL Clock Source between SOSC and FIRC in clock configuration tool こんにちは、@ ernesto97xn CAN、外部入力周波数が8〜48MHzの範囲であってもいいのかという質問だと理解してもよろしいでしょうか? それは可能です。S32K1のクロックソースとして、4MHzから40MHzの範囲の別のクロックチップを使用できます。 下の図に示すように、SOSC周波数を直接変更してみることができます。 Senlent_0-1785749467498.png Re: S32K144: Selecting SPLL Clock Source between SOSC and FIRC in clock configuration tool ご回答ありがとうございます。 私の質問は、SPLLが受け入れるクロックソースについて具体的に述べたものです。マニュアルを読んでみたところ、S32K144ファミリではこの特定のクロック構成は左の画像にあるように、S32K144Wバリアントでのみサポートされていることがわかりました。 ernesto97xn_0-1785858229699.png Re: S32K144: Selecting SPLL Clock Source between SOSC and FIRC in clock configuration tool こんにちは、@ ernesto97xn これらの情報はS32K1xx-RMの章:27.2 高レベルクロック図で確認できます Senlent_0-1785895006227.png
View full article
S32K144:在时钟配置工具中选择 SOSC 和 FIRC 之间的 SPLL 时钟源 大家好, 我目前正在使用 s32 Design Studio 中的时钟配置工具来操作 s32k144 微控制器。 我想确认一下,是否可以在 SOSC 和 FIRC 之间选择 SPLL 的参考时钟源,如果可以,在工具中实现此目的的正确步骤或配置是什么。 谢谢! Re: S32K144: Selecting SPLL Clock Source between SOSC and FIRC in clock configuration tool 嗨@ ernesto97xn 我理解您的问题是:外部输入频率是否可以在 8 到 48 MHz 之间? 这有可能。你可以使用单独的时钟芯片作为 S32K1 的时钟源,频率范围为 4 MHz 至 40 MHz。 如下图所示,您可以尝试直接修改 SOSC 频率。 Senlent_0-1785749467498.png Re: S32K144: Selecting SPLL Clock Source between SOSC and FIRC in clock configuration tool 感谢您的回复。 我的问题具体是关于SPLL接受的时钟源。我在阅读手册时发现,对于 S32K144 系列,这种特定的时钟配置仅在 S32K144W 型号上受支持,如左图所示。 ernesto97xn_0-1785858229699.png Re: S32K144: Selecting SPLL Clock Source between SOSC and FIRC in clock configuration tool 嗨@ ernesto97xn 这些信息可以在 S32K1xx-RM 手册的 27.2 章“高级时钟图”中找到。 Senlent_0-1785895006227.png
View full article
UWB 单信标 + AoA 用于门口内外检测的建议 我正在构建一个壁挂式单锚定 UWB 系统(用于门口出口检测),需要使用到达角 (AoA) 来确定标签是在门口内还是门口外——包括已经打开的门,所以我不能使用门接触传感器进行门禁控制。 背景:我当时正在使用 Qorvo QM33120W/DW3000(2 天线 PDoA),遇到了一堵坚硬的建筑墙;由于锚点安装在约 7 英尺高的地方,并且垂直向下,即使在信号清晰、强劲的情况下,从它下面走动/绕行也会产生错误的“外部”角度承诺。 我的计划是让 UWB 天线直接朝下朝向地面,这样我就可以捕获正角度和负角度(内部和外部)的信号,以确定标签何时从内部移动到外部(出口检测)。 目前使用 Qorvo 设备时,如果我将标签保持最佳的直线方向/天线朝上,一切正常,但当移动/旋转标签(DW3000)时,即使站在同一个位置,我也开始看到不同的 AoA 值。 标志惯例问题:我期望采用一致的惯例——在内部时为正角,一旦标签越过边界进入外部,则为负角。实际上,即使我明确地还在门内,我也看到了正角度和负角度,这与标签以随机方向/速度旋转和移动有关——与实际穿过门口无关。这是我在决定购买新硬件之前,试图针对的具体症状进行设计。 我现在正在评估是否要改用恩智浦半导体(NXP)的芯片,希望听听大家的意见: Qorvo 2D AoA 板使用射频开关来捕获两个天线之间的 UWB PDoA。换用NXP SR150双接收链能否解决我的迎角跳动问题? 对于一个安装在头顶的锚点,其下方的标签正在穿过门口移动,SR150 的 2D/软件辅助 3 天线 3D AoA 模式是否足以解决前后模糊性,还是真的需要 SR250 的 3 个同步 RX 链才能获得真正的第二基线? 针对这种自上而下的顶部使用场景,有什么推荐的天线几何形状/安装方向吗? 在像这样容易产生歧义的几何结构中,SR150 的天线切换第三天线模式与 SR250 相比,有哪些实际应用经验? 谢谢。 kamaln16_0-1785454764324.png Re: UWB Single beacon + AoA for doorway inside/outside detection advice 你好, 希望你一切都好。对于使用自由旋转标签进行内外门检测的单个顶置式锚点, Trimension SR250是合适的平台,也是我们推荐的用于物联网和工业锚点设计的 UWB 产品。 提出此建议的核心原因是硬件架构。SR250 集成了 3 个同步接收路径,可实现一次 3D 迎角测量,无需外部射频开关,即可从单个测距帧中同时提供方位角和仰角。 SR250 还具备一些对这种使用场景非常有价值的额外功能: 支持360°迎角,最多可连接9根天线进行天线分集连接 用于存在检测的片上超宽带雷达(OCPD)是基于测距的穿越检测的有效补充层 兼容 FiRa 4.0 和 Aliro 1.0,确保与更广泛的 UWB 生态系统互操作性 从哪里开始 开发套件: SR250 开发板,兼容 Arduino,集成 PCB 天线,即插即用,提供测距、迎角和雷达演示功能。 软件:适用于 Zephyr OS 的 SR250 UWBIOT 合作伙伴模块和套件:TrueSense(ETNA TS 250 开发套件)、MobileKnowledge(MK UWB 套件移动版 2.0)、Amotech(SR250 集成 3D 天线模块),均可通过NXP 合作伙伴市场获取。 希望这能帮到您。 顺祝商祺! 里卡多 Re: UWB Single beacon + AoA for doorway inside/outside detection advice 谢谢Ricardo,感谢您的详细解答。 更新:我已经订购了 Murata Type2BP (SR150) 开发板和 NXP SR250UWBSHIELD 开发板。很遗憾,SR250UWBSHIELD 在我这边显示需要 14 周才能到货,所以在此期间我将开始对 SR150 进行测试,等 SR250 到货后再进行测试。 在等待期间,我想问几个后续问题: 1. SR150 与 SR250 在我特定应用中的比较:鉴于我只需要方位角(内/外),不需要仰角,除了架构差异(真正的 3 个同时接收链路 vs. SR150 的 2 个原生链路 + 可切换的第 3 个天线)之外,从 SR150 升级到 SR250 究竟有什么好处?对于单轴应用场景而言,精度/稳定性提升是否足够显著,值得等待?或者,一旦我解决了安装/多路径缓解问题,SR150 本身就能满足我的需求吗? 2. 射频切换和标签旋转:我正在尝试找出 Qorvo 硬件上一个具体症状的根本原因,如果我站在完全相同的位置,只是在 X 平面上旋转标签(位置完全没有变化),AoA 值会明显跳动,甚至看起来极性会反转。Qorvo 的 2D AoA 使用射频开关对两个天线进行时分复用,而不是同时对它们进行采样。您认为开关架构是造成这种旋转相关不稳定性的一个可能因素吗?还是说这更可能与其他因素有关(例如旋转时的标签辐射模式/偏振敏感性、多径效应等)?我正在尝试了解 SR150/SR250 的同步 RX 采样是否能够解决这个特定的症状,或者这是否是一个与芯片无关的独立问题,需要我去解决。 3. 2D 与 3D 迎角在我的使用场景中的区别:由于我只需要知道方位角(内/外),而仰角对我的应用来说没有意义,那么运行完整的 3D 迎角是否能提高精度或可靠性,或者我是否最好只配置方位角而忽略仰角?我特别想知道,即使我不使用高度来实际判断室内/室外,高度测量是否有助于区分反射/非视距信号和有效信号。 4. 功耗,2D 与 3D:这将是一个电池供电的装置。SR250 上只运行 2D 模式和运行全 3D 模式,电流消耗会有明显差异吗?因为无论哪种方式,它都有 3 个同时运行的接收链。或者说,无论我在软件中使用哪些轴,只要所有 3 个轴都处于活动状态,功耗就基本固定了吗? 5. 多径缓解措施(针对我的特定安装):信标将安装在门口上方的墙壁上,附近有一扇玻璃门,天花板距离设备大约 5 英尺。我发现我目前的 Qorvo 硬件似乎存在反射驱动的角度不稳定现象(与标签旋转有关,在天花板较高的房间里更严重,玻璃门关闭时更严重)。是否有推荐的安装方法、天线波束宽度/方向图选择,或者固件端滤波(FOM/NLoS阈值)专门用于抑制玻璃和相邻墙壁的近场反射?或者NXP SR150或SR250是否有任何功能可以抑制这个问题? 6. 基于雷达的运动门控以节省电池电量:我希望将 SR250 的片上雷达 (OCPD) 纯粹用作低功耗唤醒触发信号:保持雷达模式,仅在检测到运动时才启动全测距/AoA。如果将锚点安装在约 2 米高的门口上方,天线垂直向下,那么在设备正下方,我应该预期大致有多少运动检测范围/覆盖范围?试图根据门洞面积确定雷达的有效“尾流区”大小。我想检测人走向和远离门口时的运动情况。 再次感谢你的帮助。
View full article
LS1046A カスタムボード - FlexBuildで作成されたイメージは、DTの導管方法のためのpsci: probeingにハングします。 こんにちは、 私はLS1046Aをベースにしたカスタムボードを開発しているのですが、FlexBuildで生成したDebianイメージで起動時に問題が発生しています。 まず最初のステップとして、デフォルトのLS1046AFRWY BSPを一切変更せずにビルドし、自作の基板上でテストしました。カーネル起動中に、以下の出力後にシステムが必ずハングアップします。 PSCI:DTからの導管方法のプロービング。 カーネルパニックや例外は発生せず、システムはこの時点で停止する。 以下のNXPフォーラムのThreadで非常に似た問題を説明しているのを見つけました: https://community.nxp.com/t5/Layerscape/LS1043A-RDB-Linux-Hangs-At-PSCI/td-p/750075 一時的な回避策として、以下のコマンドを使ってU-Bootから手動でLinuxを起動できます。しかし、カーネルは、ブート引数「mem=」を使用して使用可能なメモリを1982MBに制限した場合にのみ正常に起動します。この値を増やすと、カーネルが再びハングアップします(起動中の異なるタイミングで発生することもあります)。 mmc dev 0 パートUUID mmc 0:3 パートUUIDr mmc 0:1 0x81000000 イメージをロードします ロード MMC 0:1 0x90000000 FSL-LS1046A-frwy-SDK.dtb setenv bootargs "console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 root=PARTUUID=${partuuidr} rw rootwait mem=1982M" booti 0x81000000 - 0x90000000 テスト環境: SoC: LS1046A DDR: IS43/46QR16512A (4GB DDR4) ブートメディア:SDカード BSP: FlexBuild (LSDK 25.12) FlexBuild特有の問題を除外するために、Yocto(YP 6.0 / lf-6.18.20)を使って完全に新しいBSPを作成し、同じハードウェアでテストしました。 結果は全く同じだ。カーネルは再び出力後にハングアップします。 PSCI:DTからの導管方法のプロービング。 bdinfoの出力のうち、関連する部分を以下に示します。 DRAMバンク0 開始: 0x80000000 サイズ:0x7be00000 DRAMバンク1 開始: 0x880000000 サイズ:0x80000000 LMBメモリ領域: メモリ[0] :0x80000000 - 0xfbdfffff メモリ[1] :0x880000000 - 0x8ffffffff 予約済み[0] : 0xfac154c0 - 0xfbdfffff 予約済み[1] : 0x8ffff5000 - 0x8ffffffff 同様の問題に遭遇した方はいらっしゃいますか?あるいは、次に何を調査すべきかについて何かご提案があれば教えてください。 どんなアドバイスでも大変ありがたいです。 QorIQ LS1デバイス Re: LS1046A Custom Board -image built with FlexBuild hangs at psci: probing for conduit method from こんにちは、 根本原因 — BL31メモリの衝突 LS1046Aの起動フローは以下のとおりです。 Boot ROM → BL2 (DDR Init) → BL31 (stays resident in DRAM) → U-Boot → Linux     BL31はDRAMに常駐し、すべてのSMC呼び出し(PSCI: psci_get_version 、CPUのオン/オフなど)を処理します。一般的な配置場所は、 RAMの最上位から約10MiB引いた領域付近で、サイズは最大2MiBです。   Linuxが4GBのDDRマップで起動すると、BL31のリージョンと物理的に重なるページが割り当てられます。最初の PSCI SMC 呼び出し ( psci_get_version ) が、すでに破損したメモリにジャンプし、システムはハングアップします。パニックも例外もなく、ただ沈黙するだけです。 bdinfo の出力は正確なパターンを確認しています。DDR バンク 1 は 0x8FFFFFFFF で終了し、BL31 は約 RAM_END - 10 MiB = 0x8FF600000 にあります。 DDR銀行 スタート 終了 備考 バンク0 0x80000000 0xFBDFFFFF ~1982 MiB —作業 mem= 制限 バンク1 0x880000000 0x8FFFFFFFF 2 GB 高銀行 — BL31 はここに住んでいます mem=1982M の回避策はLinuxをバンク0内に留め、BL31が存在するバンク1には一切触れません。これがまさに機能する理由です。 修正 — デバイスツリーでBL31メモリを予約する 正しい恒久的な解決策は、DTSに reserved-memory ノードを追加 し、BL31のリージョンをLinuxのメモリ割り当てでタブリングにすることです。 ステップ1:BL31がどこに積載されているかを確認する ATFビルド構成を確認してください( plat/nxp/soc-ls1046a/.../platform_def.h ) BL31_BASE と BL31_SIZE について。FRWY BSPを搭載したLSDK/lf-6.xの場合、一般的な配置は以下のとおりです。 BL31_BASE = 0x8FF80000 (top of high DDR bank minus ~512 KB to 2 MB) BL31_SIZE = max 2 MiB     実行時にU-Bootの出力やATFビルドログで BL31: v2.x... Entry point address = ... を確認することができます。 ステップ2:予約メモリノードをDTSに追加します ボードのDTSファイル( fsl-ls1046a-frwy-sdk.dts に基づく)に、以下を追加してください: / { reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; /* Reserve BL31 runtime region — adjust addresses to match your ATF build */ bl31_reserved: bl31@8ff600000 { reg = <0x8 0xff600000 0x0 0x00200000>; /* 2 MiB at RAM_END - 10 MiB */ no-map; }; }; }; dts   0x8ff600000 とサイズ 0x200000 を調整して、ATFビルドからの実際のBL31ロードアドレスに一致させてください。 ステップ3:フルメモリで再構築およびテストする 予約を追加した後、DTB を再構築し、 mem= 回避策 なしで 起動します。カーネルはその領域をスキップし、BL31はそのまま残り、PSCIは正しく機能します。   よろしくお願いします。 Re: LS1046A Custom Board -image built with FlexBuild hangs at psci: probing for conduit method from こんにちは、 提案された解決策を試してみましたが、残念ながら問題は解決しませんでした。 まず、TF-A(ATF)ビルドからBL31アドレスを確認しました。 - BL31_BASE = 0xFBE00000 - BL31_SIZE = 0x200000 (2 MiB) 次に、BL31ランタイム領域を予約するために、デバイスツリーに「reserved-memory」ノードを追加し、DTBを再構築しました。 その後、「mem=1982M」ブートパラメータなしでシステムを再度起動しました。しかし、システムは依然として同じ箇所で停止したままです。
View full article
LS1046A 10GB SFP+ 配置,内核版本 6.12 你好, 我有一块定制的电路板,上面装有 LS1046A,我正在尝试使用 fm1-mac9 和焊接的 SFP+ 10GB 模块。 我的 SERDES 1 中的 RCW 为 0x1040: hugoacata_0-1784298387879.png 因此,从 RCW 的角度来看,fm1-mac9 中的 10GB 内存是完全够用的。检查 SFP 功率和激光器,一切似乎都正常,但我似乎无法让它与前面的 SFP 进行通信/连接,所以我怀疑我的 DTB 配置不正确。 这是我目前在该MAC地址上的配置: xfi10g:以太网@f0000 { 状态 = "正常"; pcsphy-handle = <&pcsphy6>; pcs-handle = <&pcsphy6>; pcs-handle-names = "xfi"; phy-connection-type = "10gbase-r"; 固定链接 { 速度 = <10000>; 全双工; }; }; mdio@f1000 { 状态 = "正常"; pcsphy6:以太网物理层@0{ 兼容 = "fsl,lynx-pcs"; reg = <0x0>; }; }; sfp_mac9:sfp { 兼容 = "sff,sfp"; i2c总线 = <&i2c3>; 状态 = "正常"; }; 作为参考,我运行的是 linux-qoriq 内核 6.12,并且在启动过程中 SFP 探测正确,读取了其 EEPROM。 您是否有在 fm1-mac9 中运行此类连接的有效示例? Re: LS1046A 10GB SFP+ Configuration on kernel 6.12 能否根据 LS1046ARDB 进行更改,因为fm1-mac10 是 SFP+,而且驱动程序也支持 SFP+。 https://github.com/nxp-qoriq/linux/blob/lf-6.12.49-2.2.0/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts#L156
View full article
i.MX8MP_EVK: YOCTOコンパイルエラー do_package() (問題:tar & *at()) こんにちは、 これが私のヨクトビルドのパラメータです: リリース: imx-linux-walnascar BSPバージョン: imx-6.12.49-2.2.0 マシン: imx8mpevk ディストリビューション: fsl-imx-xwayland 私はこのビルド環境をここ数ヶ月間、問題なく使用しています。しかし、突然添付のエラーが発生するようになりました。 トラブルシューティングのため、ビルド環境を完全にクリーンアップし、リポジトリを再初期化( repo init )し、すべてを再度同期してから、新規ビルドを実行しました。しかし、残念ながら、依然として同じ問題が発生しています。 ご参考までに、添付のログファイルをご確認ください。根本原因の特定と解決策のご提案にご協力いただければ幸いです。 i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) bitbake imx-image-core Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) どの「bitbakeコマンド」を使用していますか? 確認作業を行います。 Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) ご返信ありがとうございます。 ビルド環境を確認したところ、既に推奨された構成と一致していました。 ホストOS: Ubuntu 22.04.5 LTS (Jammy) GNU tar バージョン: GNU tar 1.34 $ cat /etc/os-release PRETTY_NAME="Ubuntu 22.04.5 LTS" ... $ tar --version tar (GNU tar) 1.34 しかし、私は依然として同じ失敗に遭遇します Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) ホストOSがUbuntu 24.04でtarのバージョンが1.35の場合は、tarのバージョンを確認してください。 コンテナまたは仮想マシン内でビルドするには、以下を使用します。 Ubuntu 22.04 LTS GNU tar 1.34 Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) 下記にファイルがあります。 ここにエラーメッセージの一部を貼り付けます DEBUG:python関数の実行extend_recipe_sysroot 注意:直接依存関係は['/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/binutils/binutils-cross_2.44.bb:do_populate_sysroot', '/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/gcc/gcc-cross_14.3.bb:do_populate_sysroot','/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/quilt/quilt-native_0.68.bb:do_populate_sysroot', '/home/vvdn/LWT_Build/sources/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb:do_populate_sysroot','virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-core/coreutils/coreutils_9.6.bb:do_populate_sysroot','virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/bison/bison_3.8.2.bb:do_populate_sysroot', 'virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/dwarfsrcfiles/dwarfsrcfiles.bb:do_populate_sysroot','virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/flex/flex_2.6.4.bb:do_populate_sysroot', 'virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/patch/patch_2.7.6.bb:do_populate_sysroot','virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb:do_populate_sysroot','virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/pseudo/pseudo_git.bb:do_populate_sysroot','virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/rpm/rpm_4.20.0.bb:do_populate_sysroot', 'virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-extended/bc/bc_1.08.1.bb:do_populate_sysroot','virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-kernel/kmod/kmod_34.1.bb:do_populate_sysroot'] 注意:sysrootにインストールされています: [] 注意:sysrootで既に存在しているようにスキップしています: ['gettext-minimal-native', 'binutils-cross-aarch64', 'cmake-native', 'gcc-cross-aarch64', 'libtool-native', 'm4-native', 'quilt-native', 'texinfo-dummy-native', 'kern-tools-native', 'linux-libc-headers', 'file-native', 'openssl-native', 'coreutils-native', 'expat-native', 'ncurses-native', 'readline-native', 'util-linux-libuuid-native', 'zlib-native', 'bison-native', 'dwarfsrcfiles-native', 'elfutils-native', 'flex-native', 'git-native', 'gnu-config-native', 'json-c-native', 'libedit-native', 'lua-native', 'make-native', 'patch-native', 'perl-native', 'pkgconfig-native', 'pseudo-native', 'python3-native', 'rpm-native', 'bc-native', 'bzip2-native', 'libarchive-native', 'libidn2-native', 'lzlib-native', 'xz-native', 'zstd-native', 'kmod-native', 'acl-native', 'attr-native', 'curl-native', 'gdbm-native', 'gmp-native', 'gnutls-native', 'libtasn1-native', 'libcap-native', 'libffi-native', 'libgcrypt-native', 'libgpg-error-native', 'libmicrohttpd-native', 'libmpc-native', 'libunistring-native', 'mpfr-native', 'nettle-native', 'p11-kit-native', 'popt-native', 'sqlite3-native'] DEBUG: Python関数extend_recipe_sysroot完了しました DEBUG:python関数の実行sstate_task_prefunc DEBUG: Python関数sstate_task_prefunc完了しました DEBUG:python関数の実行do_package DEBUG:python関数の実行package_setup_pkgv DEBUG:Python関数package_setup_pkgv 終わった DEBUG:python関数の実行package_convert_pr_autoinc DEBUG: Python関数package_convert_pr_autoinc完了しました DEBUG:python関数の実行package_prepare_pkgdata 注意:pkgdata-sysrootにインストールされています: [] DEBUG: Python関数package_prepare_pkgdata完成しました DEBUG:python関数の実行perform_packagecopy ERROR: exec_func_python()でPython関数を実行する際にエラーが生成されました: この例外/失敗を引き起こしたPython呼び出しのスタックトレースは以下の通りです: ファイル: 'exec_func_python() autogenerated', lineno: 2, function: 0001: 0002:perform_packagecopy(d) 0003: ファイル: '/home/vvdn/LWT_Build/sources/poky/meta/classes-global/package.bbclass', lineno: 363, function: perform_packagecopy 0359: rpath_replace (dvar, d) 0360:} 0361:perform_packagecopy[cleandirs] = "${PKGD}" 0362:perform_packagecopy[パッケージ] = "${PKGD}" *** 0363: 0364:Python populate_packages () { 0365: oe.package.populate_packages(d) 0366:} 0367:populate_packages[dirs] = " ${D} " ファイル: '/usr/lib/python3.10/subprocess.py'、行番号: 421、関数: check_output 0417: それ以外の場合: 0418: 空 = b'' 0419: kwargs['input'] = 空 0420: *** 0421: return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, 0422: **kwargs).stdout 0423: 0424: 0425:class CompletedProcess(object): ファイル: '/usr/lib/python3.10/subprocess.py'、行番号: 526、関数: 実行 0522: # process.wait() は呼び出しませんとして。 __exit__それは私たちのためにやってくれる。 0523: 上げる 0524: retcode = process.poll() 0525: チェックして戻りコードを取得する場合: *** 0526: raise CalledProcessError(retcode, process.args, 0527: 出力=標準出力、標準エラー=標準エラー) 0528: return CompletedProcess(process.args, retcode, stdout, stderr) 0529: 0530: 例外: subprocess.CalledProcessError: コマンド 'tar --exclude=./sysroot-only'-cf - -C /ホーム/vvdn/LWT_Build/build/tmp/work/imx8mpevk-poky-linux/Linux-imx/6.12.34+git/image -p -S .|tar -xf - -C /home/vvdn/LWT_Build/build/tmp/work/imx8mpevk-poky-linux/linux-imx/6.12.34+git/package' は非ゼロの退出ステータス2を返しました。 サブプロセスの出力: 不明なディレクトリ、fd 4 に対して *at() システムコールが呼び出されました fd 4 の不明なベースパス、パス lib 'lib' の絶対パスを割り当てられませんでした。 tar: ./usr/lib:Cannot mkdir: 悪いアドレス 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知の基底パス、パスライブラリ 「リベラル」に絶対的な道を割り当てることができませんでした。 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知の基底パス、パスライブラリ 「リベラル」に絶対的な道を割り当てることができませんでした。 tar: ./usr/lib:Cannot mkdir: 悪いアドレス TAR: ./USR/lib/modules:Cannot mkdir:そのようなファイルやディレクトリは存在しません Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) 添付ファイルをダウンロードする権限がないようです。 もう一度送っていただけますか? Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) こんにちは@yipingwang  さらなるデバッグのサポートをお待ちしています。 Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) Ubuntu PCで、「sudo apt install tar=1.34+dfsg-1build3」コマンドを使用してください。 Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) こんにちは、 @abannish さん。 以下のコマンドを試してみてください。私の場合はこれでうまくいきました。 wget http://archive.ubuntu.com/ubuntu/pool/main/t/tar/tar_1.34+dfsg-1build3_amd64.deb sudo dpkg -i tar_1.34+dfsg-1build3_amd64.deb sudo apt-mark hold tar Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) @Sanjiv_Mnsこれで問題は解決しましたか?
View full article
Android 14 以降のパフォーマンスの問題 (フレームの不具合) こんにちは、 IMX8MP をベースにしたカスタム ボードを使用していますが、Android 11 から Android 14 にアップグレードしたときにパフォーマンスの問題がいくつか発生しました。デバイスの使用時に、トランジションやアニメーションが遅く感じることに気づきました。 評価のために、IMX8MP EVK ボードで同じテストを実行しました。デバイスの gfxinfo を調べたところ、 Janky フレーム、Number High 入力レイテンシ、および GPU パーセンタイルに大きな違いがあることがわかりました。 Android 11: Total frames rendered: 1372 Janky frames: 204 (14.87%) 50th percentile: 7ms 90th percentile: 34ms 95th percentile: 77ms 99th percentile: 200ms Number Missed Vsync: 91 Number High input latency: 274 Number Slow UI thread: 89 Number Slow bitmap uploads: 1 Number Slow issue draw commands: 61 Number Frame deadline missed: 145 50th gpu percentile: 2ms 90th gpu percentile: 3ms 95th gpu percentile: 3ms 99th gpu percentile: 4ms Android 14: Total frames rendered: 1136 Janky frames: 429 (37.76%) Janky frames (legacy): 600 (52.82%) 50th percentile: 29ms 90th percentile: 73ms 95th percentile: 113ms 99th percentile: 250ms Number Missed Vsync: 130 Number High input latency: 755 Number Slow UI thread: 254 Number Slow bitmap uploads: 3 Number Slow issue draw commands: 376 Number Frame deadline missed: 429 Number Frame deadline missed (legacy): 342 50th gpu percentile: 4ms 90th gpu percentile: 23ms 95th gpu percentile: 23ms 99th gpu percentile: 24ms Android 15: Total frames rendered: 1093 Janky frames: 318 (29.09%) Janky frames (legacy): 639 (58.46%) 50th percentile: 18ms 90th percentile: 97ms 95th percentile: 105ms 99th percentile: 109ms Number Missed Vsync: 221 Number High input latency: 1028 Number Slow UI thread: 145 Number Slow bitmap uploads: 0 Number Slow issue draw commands: 317 Number Frame deadline missed: 318 Number Frame deadline missed (legacy): 309 50th gpu percentile: 11ms 90th gpu percentile: 4950ms 95th gpu percentile: 4950ms 99th gpu percentile: 4950ms これは既知の問題ですか、それともこの問題を解決する方法についてのヒントはありますか? Android Re: Android 14+ performance issues (Janky frames) こんにちは@JK-dev 、 データをありがとうございます。社内で調査を行い、何か発見したらご連絡いたします。 Re: Android 14+ performance issues (Janky frames) こんにちは、 @JuanJorge_Mendoza さん、 A16とA13でテストをしました。 Android 16: Total frames rendered: 946 Janky frames: 414 (43.76%) Janky frames (legacy): 631 (66.70%) 50th percentile: 30ms 90th percentile: 113ms 95th percentile: 200ms 99th percentile: 350ms Number Missed Vsync: 180 Number High input latency: 764 Number Slow UI thread: 265 Number Slow bitmap uploads: 7 Number Slow issue draw commands: 384 Number Frame deadline missed: 414 Number Frame deadline missed (legacy): 366 50th gpu percentile: 11ms 90th gpu percentile: 4950ms 95th gpu percentile: 4950ms 99th gpu percentile: 4950ms Android 13: Total frames rendered: 1000 Janky frames: 284 (28.40%) Janky frames (legacy): 397 (39.70%) 50th percentile: 12ms 90th percentile: 69ms 95th percentile: 129ms 99th percentile: 250ms Number Missed Vsync: 122 Number High input latency: 446 Number Slow UI thread: 176 Number Slow bitmap uploads: 1 Number Slow issue draw commands: 242 Number Frame deadline missed: 284 Number Frame deadline missed (legacy): 248 50th gpu percentile: 3ms 90th gpu percentile: 23ms 95th gpu percentile: 24ms 99th gpu percentile: 4950ms Re: Android 14+ performance issues (Janky frames) こんにちは@JK-dev 、 はい、同じテストを実行して結果を転送してください。 よろしくお願いいたします。 フアン・ホルヘ Re: Android 14+ performance issues (Janky frames) こんにちは、 @JuanJorge_Mendoza さん、 返信ありがとうございます!Janky フレームのテストとして、システムを起動して 1 回再起動しただけで、初回起動時の最適化によって問題が発生しないようにし、設定アプリ内を移動しました。次に、次のように gfxinfo を読み取ります。 adb shell dumpsys gfxinfo これが有効なテストであるとおっしゃるなら、A12、A13、A16 で喜んで実行します。 Re: Android 14+ performance issues (Janky frames) こんにちは@JK-dev 、 いいえ、それは問題ではないはずです。 Janky フレームをテストするために使用したテストを共有していただけますか?また、可能であれば、A12 と A13 でも同じテストを実行していただけますか?問題がどこで発生し始めたのかを追跡するのに役立ちます。 よろしくお願いいたします。 フアン・ホルヘ Re: Android 14+ performance issues (Janky frames) こんにちは@danielchen 、 ディスプレイは 720p の解像度のみをサポートします。これは問題ではないと思います。 Re: Android 14+ performance issues (Janky frames) こんにちは@JK-dev どのようなディスプレイ解像度を使用していますか?これを下げると GPU/CPU 負荷が軽減され、全体的なパフォーマンスが向上するかどうかを確認してください。 Re: Android 14+ performance issues (Janky frames) @danielchen返信ありがとうございます。以前にもこの投稿を見たことがありますが、私の理解では、userdebug ビルドではなくユーザー ビルドを使用すれば問題はなくなるはずという意味ですが、実際はそうではありません。私たちにとっては、ユーザー イメージと userdebug イメージで同じようですが、システム全体でデバッグ可能をオフにする別の方法はありますか? Re: Android 14+ performance issues (Janky frames) こんにちは@JK-dev はい、これは Android 14 以降の i.mx8mp における既知の問題です。 Android 14 以降では、デバッグ アプリのより広範なトレースとメモリ トラッキングが有効になり、以前のバージョンと比較してレンダリングが 1.5 ~ 2 倍遅くなる CAN があります。これは、UI Thread、GPU スケジューリング、および入力レイテンシに影響します。 簡単な回避策と詳細については、以下のリンクを参照してください。 https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/Android-14 での低パフォーマンス/ta-p/1991262 よろしくお願いします。 ダニエル Re: Android 14+ performance issues (Janky frames) こんにちは@JK-dev 、 応答が遅くなり申し訳ありません。8MP の GUI を最適化するのにしばらく時間がかかりました。 パッチ「0001-MA-22638-Update-expected-present-time-to-optimize-re.patch」は、framework/native のリフレッシュ レートを最適化するために使用されます。vendor/nxp-opensource/imx にさらに2つのパッチを適用する必要があります。   問題が解決したかどうかお知らせください Re: Android 14+ performance issues (Janky frames) こんにちは、 @JuanJorge_Mendoza さん、 返事が遅くなってごめんなさい。休暇中でした。パッチをありがとうございます!パッチをテストしたところ、ナビゲーション時に若干の改善が見られることがわかりました。ただし、負荷が高かったり、アニメーションが増えたりすると、システムは非常に遅くなり、ほとんどのフレームが非常に遅れて到着します。これを再現するには、たとえば、「設定」->「アプリ」->「すべてのアプリ」->「システムアプリを含める」に移動して、そのリストをスクロールします。フレームの 50% 以上が遅れていることがわかります。 Re: Android 14+ performance issues (Janky frames) 負荷が高かったり、アニメーションが増えたりすると > 前より悪くなりましたか?このパッチを使用した場合と使用しない場合の具体的なパフォーマンス比較データはありますか? Re: Android 14+ performance issues (Janky frames) こんにちは@joanxie 、 いいえ、パフォーマンスは以前より少し良くなっています。 パッチなしの場合: Total frames rendered: 1015 Janky frames: 376 (37.04%) Janky frames (legacy): 731 (72.02%) 50th percentile: 31ms 90th percentile: 150ms 95th percentile: 200ms 99th percentile: 400ms Number Missed Vsync: 262 Number High input latency: 1167 Number Slow UI thread: 368 Number Slow bitmap uploads: 1 Number Slow issue draw commands: 26 Number Frame deadline missed: 376 Number Frame deadline missed (legacy): 386 50th gpu percentile: 4ms 90th gpu percentile: 11ms 95th gpu percentile: 11ms 99th gpu percentile: 12ms パッチを適用すると: Total frames rendered: 2078 Janky frames: 594 (28.59%) Janky frames (legacy): 1050 (50.53%) 50th percentile: 21ms 90th percentile: 133ms 95th percentile: 200ms 99th percentile: 400ms Number Missed Vsync: 367 Number High input latency: 2045 Number Slow UI thread: 567 Number Slow bitmap uploads: 4 Number Slow issue draw commands: 68 Number Frame deadline missed: 594 Number Frame deadline missed (legacy): 580 50th gpu percentile: 4ms 90th gpu percentile: 11ms 95th gpu percentile: 11ms 99th gpu percentile: 12ms ご覧のとおり、パッチにより Janky フレームの数が減り、50% パーセンタイルも改善されましたが、まだ十分ではありません。 Re: Android 14+ performance issues (Janky frames) 操作は UI 経由で行いましたか? はいの場合、スクリプトや特定の手順はありますか?その後、Androidチームに転送してさらに検証とデバッグを行うことができます Re: Android 14+ performance issues (Janky frames) こんにちは@joanxie 、 基本的には以前行ったテストと同じものです。Android チームにとって十分なテストとは何でしょうか? Re: Android 14+ performance issues (Janky frames) 彼らは、パフォーマンステストを実行して詳細なパフォーマンス低下データを表示するスクリプトを提供してもらい、それを再現してもらいたいと思っています。なぜなら、彼ら側では同じ問題が見つからないからです。 Re: Android 14+ performance issues (Janky frames) この問題には解決策があります。 https://www.linkedin.com/posts/kalkov_embeddedandroid-nxp-aosp-share-7490309949391089664-ifxq/?utm_source=share&utm_medium=member_desktop&rcm=ACoAADU1d0wBcGPG6tNYlHxJaSFzHqMEI3XBUJY https://emteria.com/blog/nxp-imx8m-plus-android-scroll-fix
View full article
i.MX8MP_EVK:YOCTO 编译错误 do_package()(问题:tar & *at()) 您好, 以下是我的 Yocto 构建参数: 发布版本: imx-linux-walnascar 电路板支持包 版本: imx-6.12.49-2.2.0 机器: imx8mpevk 发行版: fsl-imx-xwayland 过去几个月我一直成功地使用这个版本环境。然而,我突然开始遇到附件中的错误。 为了排查问题,我彻底清理了构建环境,重新初始化了代码仓库( repo init ),再次同步了所有内容,并执行了一次全新的构建。但遗憾的是,问题依旧存在。 请查阅附件中的日志文件。我希望您能帮忙找出根本原因并提出解决方案。 i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) bitbake imx-image-core Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) 你使用的是哪个“bitbake 命令”? 我会进行核实。 Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) 感谢您的反馈, 我已检查过我的构建环境,它已经与您推荐的配置相符。 主机操作系统: Ubuntu 22.04.5 LTS (Jammy) GNU tar 版本: GNU tar 1.34 $ cat /etc/os-release PRETTY_NAME="Ubuntu 22.04.5 LTS" ... $ tar --version tar(GNU tar)1.34 然而,我仍然遇到同样的故障。 Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) 请检查 tar 版本,如果主机是 Ubuntu 24.04,而 tar 版本是 1.35。 在容器或虚拟机内构建: Ubuntu 22.04 LTS GNU tar 1.34 Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) 请查收以下文件, 这里我粘贴一些错误信息。 调试:正在执行 Python 配方 extend_recipe_sysroot 注意:直接依赖项为 ['/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/binutils/binutils-cross_2.44.bb:do_populate_sysroot', '/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/gcc/gcc-cross_14.3.bb:do_populate_sysroot','/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/quilt/quilt-native_0.68.bb:do_populate_sysroot', '/home/vvdn/LWT_Build/sources/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb:do_populate_sysroot','virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-core/coreutils/coreutils_9.6.bb:do_populate_sysroot','virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/bison/bison_3.8.2.bb:do_populate_sysroot', 'virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/dwarfsrcfiles/dwarfsrcfiles.bb:do_populate_sysroot','virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/flex/flex_2.6.4.bb:do_populate_sysroot', 'virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/patch/patch_2.7.6.bb:do_populate_sysroot','virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb:do_populate_sysroot','virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/pseudo/pseudo_git.bb:do_populate_sysroot','virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-devtools/rpm/rpm_4.20.0.bb:do_populate_sysroot', 'virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-extended/bc/bc_1.08.1.bb:do_populate_sysroot','virtual:native:/home/vvdn/LWT_Build/sources/poky/meta/recipes-kernel/kmod/kmod_34.1.bb:do_populate_sysroot'] 注意:已安装到系统根目录:[] 注意:由于 sysroot 中已存在以下软件包,因此跳过:['gettext-minimal-native', 'binutils-cross-aarch64', 'cmake-native', 'gcc-cross-aarch64', 'libtool-native', 'm4-native', 'quilt-native', 'texinfo-dummy-native', 'kern-tools-native', 'linux-libc-headers', 'file-native', 'openssl-native', 'coreutils-native', 'expat-native', 'ncurses-native', 'readline-native', 'util-linux-libuuid-native', 'zlib-native', 'bison-native', 'dwarfsrcfiles-native', 'elfutils-native', 'flex-native', 'git-native'、'gnu-config-native'、'json-c-native'、'libedit-native'、'lua-native'、'make-native'、'patch-native'、'perl-native'、'pkgconfig-native'、'pseudo-native'、'python3-native'、'rpm-native'、'bc-native'、'bzip2-native'、'libarchive-native'、'libidn2-native'、'lzlib-native'、'xz-native'、'zstd-native'、'kmod-native'、'acl-native'、'attr-native'、'curl-native'、'gdbm-native'、'gmp-native'、'gnutls-native' 'libtasn1-native', 'libcap-native', 'libffi-native', 'libgcrypt-native', 'libgpg-error-native', 'libmicrohttpd-native', 'libmpc-native', 'libunistring-native', 'mpfr-native', 'nettle-native', 'p11-kit-native', 'popt-native', 'sqlite3-native'] 调试:Python 函数 extend_recipe_sysroot 已完成 调试:正在执行 Python 函数 sstate_task_prefunc 调试:Python 函数 sstate_task_prefunc 已完成 调试:正在执行 Python 函数 do_package 调试:正在执行 Python 函数 package_setup_pkgv 调试:Python 函数 package_setup_pkgv 已完成 调试:正在执行 Python 函数 package_convert_pr_autoinc 调试:Python 函数 package_convert_pr_autoinc 已完成 调试:正在执行 Python 函数 package_prepare_pkgdata 注意:已安装到 pkgdata-sysroot:[] 调试:Python 函数 package_prepare_pkgdata 已完成 调试:正在执行 Python 函数 perform_packagecopy 错误:执行 exec_func_python() 自动生成的 Python 函数时出错: 导致此异常/失败的 Python 调用堆栈跟踪如下: 文件:'exec_func_python() autogenerated',行号:2,函数: 0001: *** 0002:perform_packagecopy(d) 0003: 文件:'/home/vvdn/LWT_Build/sources/poky/meta/classes-global/package.bbclass',行号:363,函数:perform_packagecopy 0359: rpath_replace (dvar, d) 0360:} 0361:perform_packagecopy[cleandirs] = "${PKGD} " 0362:perform_packagecopy[dirs] = "${PKGD} " *** 0363: 0364:python populate_packages() { 0365: oe.package.populate_packages(d) 0366:} 0367:populate_packages[dirs] = " ${D} " 文件:'/usr/lib/python3.10/subprocess.py'行号:421,函数:check_output 0417:否则: 0418:空 = b'' 0419: kwargs['input'] = 空 0420: *** 0421: 返回 run(*popenargs, stdout=PIPE, timeout=timeout, check=True, 0422: **kwargs).stdout 0423: 0424: 0425:class CompletedProcess(object): 文件:'/usr/lib/python3.10/subprocess.py'lineno: 526, function: run 0522: # 我们不调用 process.wait()作为。 __exit__它能帮我们做到这一点。 0523:提高 0524: retcode = process.poll() 0525:如果检查并返回代码: *** 0526: 引发 CalledProcessError(retcode, process.args, 0527: output=stdout, stderr=stderr) 0528: 返回 CompletedProcess(process.args, retcode, stdout, stderr) 0529: 0530: 异常:subprocess.CalledProcessError:命令“tar --exclude=./sysroot-only”-cf - -C /home/vvdn/LWT_Build/build/tmp/work/imx8mpevk-poky-linux/linux-imx/6.12.34+git/image -p -S .| tar -xf - -C /home/vvdn/LWT_Build/build/tmp/work/imx8mpevk-poky-linux/linux-imx/6.12.34+git/package' 返回非零退出状态 2。 子进程输出: 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径库 无法为“lib”分配绝对路径。 tar:./usr/lib:无法创建目录:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径库 无法为“lib”分配绝对路径。 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径库 无法为“lib”分配绝对路径。 tar:./usr/lib:无法创建目录:地址错误 tar:./usr/lib/modules:无法创建目录:没有该文件或目录 Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) 我似乎没有权限下载该附件。 请您再发送一次好吗? Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) 嗨@yipingwang 期待您能尽快提供调试方面的支持。 Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) 在你的 Ubuntu 电脑上,使用命令“sudo apt install tar=1.34+dfsg-1build3” Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) @Sanjiv_Mns这个问题解决了吗? Re: i.MX8MP_EVK: YOCTO Compilation Error do_package() (Issue: tar & *at()) 嗨@abannish 请尝试以下命令,对我有用…… wget http://archive.ubuntu.com/ubuntu/pool/main/t/tar/tar_1.34+dfsg-1build3_amd64.deb sudo dpkg -i tar_1.34+dfsg-1build3_amd64.deb sudo apt-mark hold tar
View full article
S32K312温度传感器读数不准确 您好,NXP团队, 我正在研究S32K312内部温度传感器,需要帮助解决温度读数不正确的问题。 我已查阅过类似的帖子并确认了基本配置,但ADC结果并未反映环境温度。 我目前已经完成了以下工作: (1)已启用 TEMPSENSE 时钟 -附截图 SunLucas_0-1784265425989.png (2) ADC配置 ADC实例:ADC0 通道:温度传感器(TEMPSENSE) 触发模式:软件触发 SunLucas_1-1784265855587.png (3)测量程序 定期启动ADC转换 等待转换完成标志 读取ADC数据寄存器 SunLucas_3-1784266057594.png (4)结果 然而,转换后的温度值与实际环境温度不符。 SunLucas_4-1784266156349.png 非常感谢您能提供关于 S32K312 温度传感器的任何指导、说明或参考代码。   感谢您的支持!   顺祝商祺! Re: S32K312 temperature sensor inaccurate reading 您好@SunLucas 温度通道需要相对较长的采样时间,最小采样时间为 1.2 微秒。 因此,请检查采样时间设置。 Re: S32K312 temperature sensor inaccurate reading 我进一步将ADC电压参考值切换到0x50 ,但问题仍然存在: 温度读数与环境温度( 28°C )有明显偏差。 通过 API 获取的温度数据表现出严重的波动,如附图所示。 SunLucas_2-1784276930276.png SunLucas_1-1784276815975.png Re: S32K312 temperature sensor inaccurate reading 您好@SunLucas 然后,您应该将TempSense 电压供应设置为:5V * 16 = 0x50 Re: S32K312 temperature sensor inaccurate reading TempSense电压供应配置为0x58,硬件VDD_HV_A供电电压为5V SunLucas_1-1784274126228.png Re: S32K312 temperature sensor inaccurate reading 您好@SunLucas 请检查“TempSense 电压供应”,并告诉我您当前硬件的 VDD_HV_A 供电电压是多少。 Re: S32K312 temperature sensor inaccurate reading 您好@SunLucas 你可以把你的 EB 配置文件发给我,我帮你检查一下。 需要注意两点:第一,温度传感器的参考电压必须与板载 VDD_HV_A 匹配;第二,采样时间。一旦你确认了这两点正确无误,那么本模块就没有其他需要注意的事项了。 Re: S32K312 temperature sensor inaccurate reading 我已将采样时分比从 2 改为 4,但采集到的温度数据仍然不正确。请帮我找出根本原因。详细配置如下: SunLucas_0-1785819399965.png SunLucas_1-1785819416950.png SunLucas_2-1785819429465.png SunLucas_3-1785819445393.png
View full article
Feedback on UI editor bugs in GUI Guider v2.0.0 I encountered several bugs while using GUI Guider v [your version number] that affected development efficiency, and I would like to report them to the development team: Drag and drop layouts, resulting in layout loss: When I drag controls in the UI editor to adjust the layout, the operation occasionally fails, and the latest layout changes are lost, causing the interface to revert to its previous state. Duplicate and unremovable control names: During operation, sometimes multiple controls with identical names may appear, and these controls cannot be deleted via the right-click menu or the Delete key. The only solution is to log back into the software; only then will these "ghost" controls disappear.
View full article
S32K324 FlexIO SPI 主控仿真(S32DS 3.5 / RTD 4.0.0) 你好, 我正在配置 S32K324 上的 FlexIO 模拟 SPI 主设备,使其与外部 SPI 从设备通信。由于我们定制电路板上的走线布局,指向该设备的物理线路连接到了芯片的默认 FlexSPI0 引脚。因此,我必须使用模拟的 Flexio_Spi 驱动程序栈。 这是我的配置 BUS_FLEXSPI0_UP_SBC_CS PTD8 fxio_d11 BUS_FLEXSPI0_UP_SBC_CLK PTD9 fxio_d0 BUS_FLEXSPI0_UP_SBC_MOSI PTD15 fxio_d10 BUS_FLEXSPI0_UP_SBC_MISO PTD22 fxio_d27 我的环境: IDE:S32 平台的 S32 设计工作室(版本:3.5,内部版本号:240726 更新 13) CPU:S32K324 SDK:实时驱动程序 (RTD) 版本 4.0.0(正式版) NXP 是否有官方的应用笔记或指南专门介绍 RTD 4.0.0 的端到端集成堆栈?我需要一份参考,引用,内容涵盖从工具中分配引脚、映射移位器/定时器,到在主应用程序代码中初始化驱动程序的所有内容。 Re: S32K324 FlexIO SPI Master Emulation (S32DS 3.5 / RTD 4.0.0 ) 你好@Kazarian , 据我所知,目前还没有**专用的**应用笔记描述如何将 FlexIO 模拟的 SPI 完整地集成到 S32K324 和 RTD 4.0.0 中,并采用这种精确的引脚分配。 最接近的官方参考资料是 S32K3 RTD 软件包中包含的示例项目。请查看与 Lpspi_Flexio_Ip_Transfer_S32K344 类似的 RTD 示例。 本示例演示了基于 FlexIO 的 SPI 传输的预期 RTD 集成流程,包括 FlexIO SPI 驱动程序初始化以及 LPSPI 和 FlexIO SPI 实例之间的关系。   对于您的定制板,需要调整的主要要点如下(作为一般性指导): 引脚配置 在“引脚”工具中将列出的引脚配置为 FlexIO 信号: PTD8 → FXIO_D11,片选 PTD9 → FXIO_D0,时钟 PTD15 → FXIO_D10,MOSI PTD22 → FXIO_D27,MISO 请确保 MISO 引脚已启用输入缓冲。 另外,请查看 S32K324 IOMUX/引脚图文档,确认这些 FlexIO 功能是否适用于您的特定封装。 FlexIO SPI 配置 在 FlexIO SPI 配置中,应将 SPI 信号映射到相应的 FlexIO 引脚编号,而不仅仅是物理 MCU 引脚: SCK = FXIO_D0 MOSI = FXIO_D10 CS = FXIO_D11 MISO = FXIO_D27 根据生成的配置,分配所需的 FlexIO 定时器和移位器。 顺祝商祺! 帕维尔
View full article
問題:CONFIG_IMX_RPMSG_TTYモジュールとして構築されているのに、Androidをフラッシュした後に「セットされていない」と表示されます こんにちは、NXP チームの皆様、 私は Android 16 BSP を搭載した i.MX8M Mini LPDDR4 EVK を開発中 で、Cortex-A53とCortex-M4間のRPMsg通信を有効にしようとしています。 設定 カーネル設定でNXP RPMsg TTYドライバーを有効にしました: CONFIG_IMX_RPMSG_TTY=m SharedBoardConfig.mkにもモジュールを追加しました。 $(KERNEL_OUT)/drivers/rpmsg/imx_rpmsg_tty.ko モジュールは正常にビルドされました。 生成されたカーネル設定により、有効になっていることが確認できます。 grep CONFIG_IMX_RPMSG_TTY out/target/product/evk_8mm/obj/KERNEL_OBJ/.config 出力: CONFIG_IMX_RPMSG_TTY=m モジュールも正常に生成されました。 out/target/product/evk_8mm/vendor_dlkm/lib/modules/imx_rpmsg_tty.ko そしてAndroidイメージにパッケージ化されています。 実行時観測 ボードにファームウェアを書き込んだ後、実行中のカーネル構成ではRPMsgモジュール構成が報告されません。 adb shell zcat /proc/config.gz | grep RPMSG 出力: CONFIG_GKI_HIDDEN_RPMSG_CONFIGS=y # CONFIG_RPMSG_WWAN_CTRL is not set # CONFIG_RPMSG_TTY is not set # CONFIG_SND_SOC_FSL_RPMSG is not set CONFIG_RPMSG=y CONFIG_RPMSG_CHAR=y # CONFIG_RPMSG_CTRL is not set # CONFIG_RPMSG_NS is not set # CONFIG_RPMSG_QCOM_GLINK_RPM is not set # CONFIG_RPMSG_VIRTIO is not set また、 adb shell zcat /proc/config.gz | grep IMX_RPMSG 何も出力しません。 しかし、対応するRPMsgモジュールは正常にロードされます。 lsmod | grep -i rpmsg 出力: snd_soc_imx_rpmsg snd_soc_rpmsg_ak4497 imx_audio_rpmsg snd_soc_fsl_rpmsg imx_pcm_rpmsg i2c_rpmsg_imx virtio_rpmsg_bus rpmsg_ns これは、モジュールが正しくビルドされロードされているものの、 /proc/config.gzにその設定が反映されていないことを示しています。 質問 Android 16 BSPの/proc/config.gzは、ベンダーモジュール構成ではなく、基本のGKIカーネル構成のみを反映することは期待されますか? imx_rpmsg_tty.koがビルド・パッケージされているのに、なぜCONFIG_IMX_RPMSG_TTY=mが/proc/config.gzに表示されないのでしょうか? 実行中のカーネル構成にベンダーモジュールオプションを含めるには、追加の設定が必要ですか? この挙動はAndroid GKIやvendor_dlkmモジュールのパッケージングに関係しているのでしょうか? ご説明いただければ幸いです。 Android i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: Issue: CONFIG_IMX_RPMSG_TTY is built as a module but appears as "not set" after flashi こんにちは@vp1 お元気でお過ごしのことと思います。 どのデバイスツリーを使っているのか教えていただけますか? imx8mm-evk-rpmsg.dtsを使ってみてもらえますか? よろしくお願いいたします。 サラス。 Re: Issue: CONFIG_IMX_RPMSG_TTY is built as a module but appears as "not set" after flashi こんにちは、 @Manuel_Salas さん。 ご返信ありがとうございます。 現在、私のAndroid AOSPビルドはデバイスツリーimx8mm-evk.dtsを使っています。imx8mm-evk-rpmsg.dtsも利用可能で、うまく構築されているようです。 起動時にimx8mm-evk.dtsではなくimx8mm-evk-rpmsg.dtsを使うようにAndroidビルドの設定方法を教えていただけませんか? Android BSP、U-Boot、またはimx-mkimageで、どのデバイスツリーをパッケージして読み込むかを選べる特定の設定はありますか? ご指導ありがとうございました。 よろしくお願いします、 ヴィカス・パティル
View full article
LPC5514JBD64E 用于 WS2812。 您好, LPC5514JBD64E 适合初学者使用 WS2812 吗?如果适合,我可以在哪里找到代码和其他详细信息? 谢谢! LPC55xx Re: LPC5514JBD64E Use for WS2812. 嗨@Kishore02 感谢您的帖子! 目前尚无关于 LPC551x 上 WS2812 实现的信息,您可以使用可编程逻辑单元 (PLC) 来实现。在其他设备中,有使用 FlexIO 模块的示例,例如 MCXA366 的应用代码中心: https://mcuxpresso.nxp.com/appcodehub ?search=an-emulating-ws2812-bus-with-flexio-on-mcx366 此外,一位同事还发布了一篇关于如何在 Kinetis 开发板上实现该协议的文章: NXP FlexIO Generator for the WS2812B LED Stripe Protocol 希望这些信息对您有所帮助。
View full article
S32K312温度センサの不正確な読み取り NXPチームの皆様、こんにちは。 S32K312内部温度センサーの作業をしていて、誤った温度表示の助けが必要です。 似たようなスレッドを見て基本的な構成を確認しましたが、ADCの結果は周囲温度を反映していません。 これまでにやったこと: (1) TEMPSENSEクロック有効 -スクリーンショット添付 SunLucas_0-1784265425989.png (2) ADC構成 ADCインスタンス: ADC0 チャネル:温度センサ(TEMPSENSE) トリガーモード:ソフトウェアトリガー SunLucas_1-1784265855587.png (3)測定手順 定期的にADC変換を開始する 変換完了フラグを待機します ADCデータレジスタを読み取る SunLucas_3-1784266057594.png (4)結果 しかし、変換された温度値は実際の周囲温度と一致しません。 SunLucas_4-1784266156349.png S32K312温度センサに関するご説明や説明、参照コードがあれば大変ありがたいです。   ごサポートありがとうございます!   よろしくお願いいたします。 Re: S32K312 temperature sensor inaccurate reading こんにちは、@ SunLucas 温度チャネルは比較的長いサンプリング時間を必要とし、最低でも1.2マイクロ秒です。 したがって、サンプリング時間の設定を確認してください。 Re: S32K312 temperature sensor inaccurate reading さらにADC電圧の基準を 0x50に切り替えましたが、問題は解決しません。 温度測定値は周囲温度( 28℃ )から大きく乖離している。 API経由で取得した温度データは、添付のグラフに示すように、大きな変動を示しています。 SunLucas_2-1784276930276.png SunLucas_1-1784276815975.png Re: S32K312 temperature sensor inaccurate reading こんにちは、@ SunLucas 次に、 TempSenseの電圧供給を5V * 16 = 0x50に設定してください。 Re: S32K312 temperature sensor inaccurate reading TempSenseの電源電圧は0x58に設定されており、ハードウェアのVDD_HV_A電源電圧は5Vです。 SunLucas_1-1784274126228.png Re: S32K312 temperature sensor inaccurate reading こんにちは、@ SunLucas 「TempSense電圧供給」を確認し、現在お使いのハードウェアのVDD_HV_A供給電圧を教えてください。 Re: S32K312 temperature sensor inaccurate reading サンプリング時間分割比を2から4に変更しましたが、収集した温度データは依然として不正確です。根本原因の特定にご協力ください。詳細な設定は以下のとおりです。 SunLucas_0-1785819399965.png SunLucas_1-1785819416950.png SunLucas_2-1785819429465.png SunLucas_3-1785819445393.png Re: S32K312 temperature sensor inaccurate reading こんにちは、@ SunLucas あなたのEB設定ファイルを送ってください。私が確認します。 注意すべき点は2つあります。まず、テンパーセンサーの基準電圧がオンボードVDD_HV_Aと一致しなければなりません。次に、サンプリング時間です。この2つの点が正しいことを確認したら、このモジュールに関して他に注意すべき点はありません。
View full article
问题:CONFIG_IMX_RPMSG_TTY 已构建为模块,但在刷写 Android 系统后显示为“未设置”。 您好,NXP团队: 我正在使用i.MX8M Mini LPDDR4 EVK开发Android 16 电路板支持包。,并尝试在 Cortex-A53 和 Cortex-M4 之间启用 RPMsg 通信。 配置 我在内核配置中启用了NXP RPMsg TTY驱动程序: CONFIG_IMX_RPMSG_TTY=m 我还将该模块添加到了SharedBoardConfig.mk 文件中: $(KERNEL_OUT)/drivers/rpmsg/imx_rpmsg_tty.ko 模块构建成功。 生成的内核配置确认该功能已启用: grep CONFIG_IMX_RPMSG_TTY out/target/product/evk_8mm/obj/KERNEL_OBJ/.config 输出: CONFIG_IMX_RPMSG_TTY=m 模块也已成功生成: out/target/product/evk_8mm/vendor_dlkm/lib/modules/imx_rpmsg_tty.ko 并代码包,软件包到 Android 镜像中。 运行时观察 刷写板后,运行中的内核配置不报告 RPMsg 模块配置。 adb shell zcat /proc/config.gz | grep RPMSG 输出: CONFIG_GKI_HIDDEN_RPMSG_CONFIGS=y # CONFIG_RPMSG_WWAN_CTRL is not set # CONFIG_RPMSG_TTY is not set # CONFIG_SND_SOC_FSL_RPMSG is not set CONFIG_RPMSG=y CONFIG_RPMSG_CHAR=y # CONFIG_RPMSG_CTRL is not set # CONFIG_RPMSG_NS is not set # CONFIG_RPMSG_QCOM_GLINK_RPM is not set # CONFIG_RPMSG_VIRTIO is not set 还, adb shell zcat /proc/config.gz | grep IMX_RPMSG 没有返回任何输出。 但是,相应的 RPMsg 模块已成功加载: lsmod | grep -i rpmsg 输出: snd_soc_imx_rpmsg snd_soc_rpmsg_ak4497 imx_audio_rpmsg snd_soc_fsl_rpmsg imx_pcm_rpmsg i2c_rpmsg_imx virtio_rpmsg_bus rpmsg_ns 这表明模块已正确完成版本构建并加载,但/proc/config.gz没有反映它们的配置。 问题 是否预期 /proc/config.gz 在 Android 16 电路板支持包。上只反映基本的 GKI 内核配置,而不反映供应商模块配置? 为什么CONFIG_IMX_RPMSG_TTY=m在/proc/config.gz中仍然看不到,即使imx_rpmsg_tty.ko已构建为版本并打包为代码包,软件包? 运行内核配置是否需要额外配置才能包含供应商模块选项? 这种行为是否与 Android GKI 和vendor_dlkm模块打包有关? 任何解释都将不胜感激。 Android i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: Issue: CONFIG_IMX_RPMSG_TTY is built as a module but appears as "not set" after flashi 你好@vp1 希望你一切都好。 请问您使用的是哪种设备树? 请尝试使用imx8mm-evk-rpmsg.dts文件。 顺祝商祺! 萨拉斯。 Re: Issue: CONFIG_IMX_RPMSG_TTY is built as a module but appears as "not set" after flashi 嗨@Manuel_Salas , 感谢您的反馈, 目前,我的 Android AOSP 构建正在使用设备树 imx8mm-evk.dts。我可以看到 imx8mm-evk-rpmsg.dts 也可用,并且构建成功。 请问如何配置 Android 构建,使其在启动时使用 imx8mm-evk-rpmsg.dts 而不是 imx8mm-evk.dts? Android BSP (电路板支持包)、U-Boot 或 imx-mkimage 中是否有任何特定配置来选择打包和加载哪个设备树? 感谢您的指导。 此致, 维卡斯·帕蒂尔
View full article
[S32G3]LLCECANのCan_SharedMemoryワード0で異常値が発生しました。 NXPのエキスパートの皆様、こんにちは。 私たちのプロジェクトにおけるLLCE CAN 機能に異常がありました。時折、送信は正常なのにECUから報告された特定のCANメッセージの受信に問題が起きました。デバッグの結果、CAN割り込みは通常通りトリガーできることが判明しましたが、u32Word0の読み取りはCan_SharedMemoryから0x18008から0x1800fに変わり、異常な値でした。計算されたu32MbMessageIdは0でした。これによりメッセージが失われました。 RxMbDescIdxには値があり、変化していました。また、word1は0になることもありましたが、これも変化していました。この状況は断続的に起こり、影響を受けたCANラインもランダムでした。 この状況の分析にご協力ください。デバッグ用のスクリーンショットを以下に添付します。次のデバッグ手順はどのように進めればよいでしょうか?あるいは、どのような解決策がありますか? LLCEのバージョンは1.0.10です。 。 LLCE_Abnormal.png Re: [S32G3]An abnormal value has occurred in the Can_SharedMemory word0 of LLCECAN. こんにちは、 canhe お問い合わせいただきありがとうございます。 もう少し詳しく教えていただけますか? 1. あなたはどのバージョンのRTDを使用していますか? 2. 自分でボードやソフトウェアを使っていますか? BR ジョーイ Re: [S32G3]An abnormal value has occurred in the Can_SharedMemory word0 of LLCECAN. こんにちは、 canhe   承知いたしました。ご質問の優先順位を上げさせていただきます! 1. 受け取ったCANフレームは外部デバイスから来たものか、それともCANoeデバイスからのものか教えていただけますか?受信はCANフレームですか、それともCANFDフレームですか? 2. 設定されたボーレートは何ですか?どのポートを使用していますか? 3.フレームは内部コアで処理されますか、それともCAN2CAN経由でルーティングされますか? BR ジョーイ Re: [S32G3]An abnormal value has occurred in the Can_SharedMemory word0 of LLCECAN. NXPのエキスパートの皆様、こんにちは。 情報同期:異常な状況では、Can_Llce_GetControllerModeを通じてコントローラーの状態を「スタート」と読み取り、Can_43_LLCE_SetControllerModeインターフェースを通じて「停止>開始」の切り替えを実行します。異常なCANは回復可能です。word0の値から判断すると、LLCEの内部DTEカーネルが共有メモリにデータを転送する際にエラーが発生したようです。 現在、異常発生確率は依然として約20 %-30%とかなり高い。当チームは関連する秘密保持契約書に署名済みです。この問題の処理を優先していただけますか? Re: [S32G3]An abnormal value has occurred in the Can_SharedMemory word0 of LLCECAN. こんにちは、ジョーイ お返事ありがとうございます。この問題は、デバッグコードを追加する前に発生していました。具体的な原因を確認するために、デバッグコードを追加しました。デバッグコードは、特定の状態を読み取るだけです。共有メモリの値が異常なようです。パッチが提供されました。 Re: [S32G3]An abnormal value has occurred in the Can_SharedMemory word0 of LLCECAN. こんにちは、 Can_Llce_ProcessRxMbに何らかの変更を加えたようですね。変更前に何か問題はありましたか?修正されたコードを教えてもらえますか? Joey_z_0-1785135823536.png BR ジョーイ Re: [S32G3]An abnormal value has occurred in the Can_SharedMemory word0 of LLCECAN. こんにちは、ジョーイ 1.バスの乗車率は40%から50%の間で、それほど高いとは言えない。 2. BCAN_RXFIFO_OVERRUNは異常な状況下で発生していますが、正常動作時にもこの通知を確認しています。 3. 現在、LLCEにはルーティング機能は有効になっていません。ホストにデータを転送するだけです。使用されるフレームのほとんどはCAN FDであり、少数のCANフレームも存在します。 Re: [S32G3]An abnormal value has occurred in the Can_SharedMemory word0 of LLCECAN. こんにちは、 canhe 情報提供ありがとうございます。 問題に直面したシナリオ 1.In、CANバスのバス負荷はどれくらいでしたか?バスの乗車人数は多すぎますか? 2.フレーム損失が発生した場合、通知にはエラーが表示されますか?エラーメッセージが表示された場合は、私にお知らせください。 Joey_z_0-1785211817403.png 3. エラーはいつ発生しますか?ルーティング処理中ですか、それともフレームがホストに送信されるときですか?使われているのはCANフレームですか、それともCAN FDフレームですか? BR ジョーイ Re: [S32G3]An abnormal value has occurred in the Can_SharedMemory word0 of LLCECAN. こんにちは、 canhe 1.バス負荷を軽減するテストを行い、問題のあるフレームの頻度が減少するかどうかを観察します。 2.また、画像に示されているパラメータの数値を増やしてみてください。 Joey_z_0-1785313583389.png BR ジョーイ Re: [S32G3]An abnormal value has occurred in the Can_SharedMemory word0 of LLCECAN. こんにちは、ジョーイ お返事ありがとうございます。負荷率を下げて、再度テストを実施します。2つ目の点として挙げられたMBサイズについてですが、20から300に増やしてみましたが、それでも異常が見られました。 さらに、LLCEには共有メモリの処理に関する内部ロジックがあるかどうかご存知ですか?「word0」フィールドに異常値が発生するのはどのような状況下でしょうか?例えば、「word1」の値が「word0」に書き込まれる場合。 Re: [S32G3]An abnormal value has occurred in the Can_SharedMemory word0 of LLCECAN. こんにちは、ジョーイ 1.受信したCANフレームは外部ECUから送信されました。現在、この異常はCANOE装置を用いたシミュレーションにより、試験台上で再現されている。実際には、どちらの状況でも異常事態が発生している。受信メッセージの大部分はCANFDフレームであり、少数はCANフレームです。 2. アービトレーションセグメントのボーレートは500k、データセグメントは2M、サンプリングレートは80%に設定されます。コントローラはBCAN1-BACN5を使用しています。 3. フレームは内部コアによって処理されます。 Re: [S32G3]An abnormal value has occurred in the Can_SharedMemory word0 of LLCECAN. こんにちは、 canhe 詳細な情報を提供していただきありがとうございます。 皆さんは受信フレーム操作にBCAN1-BACN5を使用していますか? 私はあなたと同じバージョンのLLCEと設定を使用して1つのポートで受信テストを行いましたが、あなたと同様のエラーは発生しませんでした。 Joey_z_0-1785405650366.png BR ジョーイ Re: [S32G3]An abnormal value has occurred in the Can_SharedMemory word0 of LLCECAN. こんにちは、ジョーイ 主にBCAN1〜BCAN3を使ってほとんどのアプリケーションメッセージフレームを受け取ります。BCAN4は現在、データの送受信に対応していません。BCAN5は内部バスにコネクテッドされ、少数のメッセージを送信します。 Re: [S32G3]An abnormal value has occurred in the Can_SharedMemory word0 of LLCECAN. こんにちは、ジョーイ 助けてくれてありがとう。この事件は完了しました。追跡番号は00997151です。 Re: [S32G3]An abnormal value has occurred in the Can_SharedMemory word0 of LLCECAN. こんにちは、 canhe 下記のリンクからケースを作成してください。 https://support.nxp.com この問題については、関連するCASE情報を記入してください。ソフトウェアチームやLLCEの専門家に内部チャネルを通じて連絡するお手伝いをいたします。 BR ジョーイ Re: [S32G3]An abnormal value has occurred in the Can_SharedMemory word0 of LLCECAN. こんにちは、 canhe 以前のテストによると。 CANバスロードを減らして単一のCANチャネルを使うことには問題が起きませんか? BR ジョーイ Re: [S32G3]An abnormal value has occurred in the Can_SharedMemory word0 of LLCECAN. こんにちは、ジョーイ 現地のサポートや中国のオンラインサポートのために、現地のFAE(フィールドアプリケーションエンジニア)に連絡するのが都合が良いかお伺いしてもよろしいでしょうか?これは問題をより迅速に解決するのに役立つと思います。
View full article
Flash 配置混乱 RT1176 八路 DDR 您好,恩智浦 我在配置Macronix Octal DDR模式的闪存时遇到了一些问题。 我正在基于 NXP FMU-6XRT 参考设计的定制板上使用 PX4 代码栈。我使用的是 MX25UM51245G 而不是 MX25UM51345G,但这两个部件之间的差异很小。 我尝试在 Macronix 八进制 DDR 模式下运行它,并启用 DQS 外部采样,采样频率至少为 100MHz。参考设计运行频率为 200MHz。启动内存配置即使在 166MHz 的频率下也能成功测试所需配置的内存。 我尝试的配置是以下默认配置。第一个程序“g_flash_config”可以成功启动、写入、读取等,但对于软件来说并不理想。"g_flash_fast_config" 失败。 我尝试在“fast_config”的DTR模式下将频率降低到166MHz、133MHz、50MHz和30MHz,但都没有效果。 我尝试使用从启动内存配置生成的 FCB,但由于结构布局存在一些差异,因此很难将其应用于 PX4 代码。 我也尝试过 csHoldTime、csSetupTime 和 dataValidTime 的不同组合,但都没有结果。 我尝试在低频 DTR 八进制中使用 DQS 内部模式,但也没有成功。 接下来我还可以尝试什么? #include /**************************************************************************** * Public Data ****************************************************************************/ locate_data(".boot_hdr.conf") const struct flexspi_nor_config_s g_flash_config = { .memConfig = { #if !defined(CONFIG_BOARD_BOOTLOADER_INVALID_FCB) .tag = FLEXSPI_CFG_BLK_TAG, #else .tag = 0xffffffffL, #endif .version = FLEXSPI_CFG_BLK_VERSION, .readSampleClksrc=kFlexSPIReadSampleClk_LoopbackInternally, .csHoldTime = 1, .csSetupTime = 1, .deviceModeCfgEnable = 1, .deviceModeType = kDeviceConfigCmdType_Generic, .waitTimeCfgCommands = 1, .controllerMiscOption = (1u << kFlexSpiMiscOffset_SafeConfigFreqEnable), .deviceType = kFlexSpiDeviceType_SerialNOR, .sflashPadType = kSerialFlash_1Pad, .serialClkFreq = kFlexSpiSerialClk_100MHz, .sflashA1Size = 64ul * 1024u * 1024u, .dataValidTime = { [0] = {.time_100ps = 0}, }, .busyOffset = 0u, .busyBitPolarity = 0u, .lookupTable = { /* Read Dedicated 3Byte Address Read(0x03), 24bit address */ [0 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x03, RADDR_SDR, FLEXSPI_1PAD, 0x18), //0x871187ee, [0 + 1] = FLEXSPI_LUT_SEQ(READ_SDR, FLEXSPI_1PAD, 0x04, STOP_EXE, FLEXSPI_1PAD, 0),//0xb3048b20 }, }, .pageSize = 256u, .sectorSize = 4u * 1024u, .blockSize = 64u * 1024u, .isUniformBlockSize = false, .ipcmdSerialClkFreq = 1, .serialNorType = 2, .reserve2[0] = 0x7008200, }; const struct flexspi_nor_config_s g_flash_fast_config = { .memConfig = { .tag = FLEXSPI_CFG_BLK_TAG, .version = FLEXSPI_CFG_BLK_VERSION, .readSampleClksrc=kFlexSPIReadSampleClk_LoopbackInternally, .csHoldTime = 3, .csSetupTime = 3, .deviceModeCfgEnable = 1, .deviceModeType = kDeviceConfigCmdType_Spi2Xpi, .waitTimeCfgCommands = 1, .deviceModeSeq = { .seqNum = 1, .seqId = 6, /* See Lookup table for more details */ .reserved = 0, }, .deviceModeArg = 2, /* Enable OPI DDR mode */ .controllerMiscOption = (1u << kFlexSpiMiscOffset_SafeConfigFreqEnable) | (1u << kFlexSpiMiscOffset_DdrModeEnable), .deviceType = kFlexSpiDeviceType_SerialNOR, .sflashPadType = kSerialFlash_8Pads, .serialClkFreq = kFlexSpiSerialClk_133MHz, .sflashA1Size = 64ul * 1024u * 1024u, .dataValidTime = { [0] = {.time_100ps = 10}, }, .busyOffset = 0u, .busyBitPolarity = 0u, .lookupTable = { /* Read */// EEH+11H+32bit addr+20dummy cycles+ 4Bytes read data /* Macronix manual says 20 dummy cycles @ 200Mhz, FlexSPI peripheral Operand value needs to be 2N in DDR mode hence 0x28 */ [0 + 0] = FLEXSPI_LUT_SEQ(CMD_DDR, FLEXSPI_8PAD, 0xEE, CMD_DDR, FLEXSPI_8PAD, 0x11), //0x871187ee, [0 + 1] = FLEXSPI_LUT_SEQ(RADDR_DDR, FLEXSPI_8PAD, 0x20, DUMMY_DDR, FLEXSPI_8PAD, 0x28),//0xb3288b20, [0 + 2] = FLEXSPI_LUT_SEQ(READ_DDR, FLEXSPI_8PAD, 0x04, STOP_EXE, FLEXSPI_1PAD, 0x00), //0xa704, /* Read status */ [4 * 2 + 0] = FLEXSPI_LUT_SEQ(CMD_DDR, FLEXSPI_8PAD, 0x05, CMD_DDR, FLEXSPI_8PAD, 0xfa), [4 * 2 + 1] = FLEXSPI_LUT_SEQ(RADDR_DDR, FLEXSPI_8PAD, 0x20, DUMMY_DDR, FLEXSPI_8PAD, 0x04), [4 * 2 + 2] = FLEXSPI_LUT_SEQ(READ_DDR, FLEXSPI_8PAD, 0x04, STOP_EXE, FLEXSPI_1PAD, 0x00), /* Write enable SPI *///06h [4 * 3 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x06, STOP_EXE, FLEXSPI_1PAD, 0x00),//0x00000406, /* Write enable OPI SPI *///06h [4 * 4 + 0] = FLEXSPI_LUT_SEQ(CMD_DDR, FLEXSPI_8PAD, 0x06, CMD_DDR, FLEXSPI_8PAD, 0xF9), /* Erase sector */ [4 * 5 + 0] = FLEXSPI_LUT_SEQ(CMD_DDR, FLEXSPI_8PAD, 0x21, CMD_DDR, FLEXSPI_8PAD, 0xDE), [4 * 5 + 1] = FLEXSPI_LUT_SEQ(RADDR_DDR, FLEXSPI_8PAD, 0x20, STOP_EXE, FLEXSPI_1PAD, 0x00), /*Write Configuration Register 2 =01, Enable OPI DDR mode*/ //72H +32bit address + CR20x00000000 = 0x01 [4 * 6 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x72, CMD_SDR, FLEXSPI_1PAD, 0x00),//0x04000472, [4 * 6 + 1] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x00, CMD_SDR, FLEXSPI_1PAD, 0x00),//0x04000400, [4 * 6 + 2] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x00, WRITE_SDR, FLEXSPI_1PAD, 0x01),//0x20010400, /*Page program*/ [4 * 9 + 0] = FLEXSPI_LUT_SEQ(CMD_DDR, FLEXSPI_8PAD, 0x12, CMD_DDR, FLEXSPI_8PAD, 0xED),//0x87ed8712, [4 * 9 + 1] = FLEXSPI_LUT_SEQ(RADDR_DDR, FLEXSPI_8PAD, 0x20, WRITE_DDR, FLEXSPI_8PAD, 0x04),//0xa3048b20, }, }, .pageSize = 256u, .sectorSize = 4u * 1024u, .blockSize = 64u * 1024u, .isUniformBlockSize = false, .ipcmdSerialClkFreq = 1, .serialNorType = 2, .reserve2[0] = 0x7008200, }; Re: Flash configuration confusion RT1176 Octal DDR 你好@SimonHugr , 如果您计划使用 DDR 模式,请记住还必须考虑字节交换配置。本文提供了一些有用的信息,说明在使用 DDR 模式时,MX25UM51245GXDI00 的字节交换为何如此重要。 我强烈建议使用启动内存配置来生成 FCB,安全配置工具v26.6 提供了 MX25UM51245G 的模板,可以作为您配置的良好起点。另外,您可能也知道,这个工具可以帮助您测试配置。 此外,我建议查看这篇社区帖子,特别是从第 15 点开始的步骤。该部分更详细地解释了安全配置工具如何生成启动内存配置,并有助于阐明该工具生成的参数和输出。 最后,您可以使用 flexspi_nor_polling_transfer_cm7 示例来验证生成的 FCB,并在继续进行启动配置之前验证读取和写入操作是否正常工作。 BR 哈比卜 Re: Flash configuration confusion RT1176 Octal DDR 很遗憾,目前还没有结果。我仍然认为这与数据顺序互换有关,我可能漏掉了一些配置字节…… Re: Flash configuration confusion RT1176 Octal DDR 谢谢你,马斯米塞姆 事实上,我注意到例如数据应该互换一下。我将再次检查我的查找表。 Re: Flash configuration confusion RT1176 Octal DDR 参考此帖: https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Internal-Boot-from-Flash-memory-not-starting-on-imxRT1176-custom/mp/1830699 我应该通过编辑 misc 选项来交换数据顺序,根据 Zephyr RTOS 的说明(https://github.com/zephyrproject-rtos/hal_nxp/blob/3a36ee1f8b9fc2168fc0bf80377ace8298292993/mcux/mcux-sdk-ng/devices/RT/RT1170/MIMXRT1176/drivers/romapi/fsl_romapi.h#L340-L355 ) 数据交换字节已经插入,但我感觉好像漏掉了什么。 .pageSize = 256u, .sectorSize = 4u * 1024u, .blockSize = 64u * 1024u, .isUniformBlockSize = false, .ipcmdSerialClkFreq = 1, .isDataOrderSwapped = true .serialNorType = 2, .reserve2[0] = 0x7008200, Re: Flash configuration confusion RT1176 Octal DDR 嘿@SimonHugr , 我首先要确认的是 MX25UM51245G 和 MX25UM51345G 之间的实际区别。虽然零件编号非常相似,但它们并不是完全相同的设备。根据 Macronix 的数据手册,MX25UM51345G 明确支持 DOPI(双倍传输速率 OPI)字节模式数据序列,而 MX25UM51245G 属于不同的产品型号。这会影响 FlexSPI 控制器使用的命令格式、字节顺序和 LUT 配置。 您还可以对比一下我的配置,我的配置适用于 MX25UM513 和 MX25UW6345G: https://github.com/Masmiseim36/Coremark_iMXRT/blob/master/XiP/flexspi_flash_OSPI_Macronix.c 雷加尔斯 Re: Flash configuration confusion RT1176 Octal DDR 你好,哈比卜 对于我们的固件,我无法使用安全配置工具生成 FCB,而是需要在固件启动时加载 FCB,因此我需要创建 mem_config 和 flash_config 结构并自行配置。 我发现 Zephyr 项目在 flash_nor_config 中引用了一个 isDataOrderSwapped 字节。 https://github.com/zephyrproject-rtos/hal_nxp/blob/3a36ee1f8b9fc2168fc0bf80377ace8298292993/mcux/mcux-sdk-ng/devices/RT/RT1170/MIMXRT1176/drivers/romapi/fsl_romapi.h#L347-L348 Claude 提到 controllerMiscOption 的第 5 位有一个 padSettingOverride 位,第 7 位有一个 dataSwap 位,但我不太确定 LLM 是否严重地臆造了这些信息。 使用安全配置工具生成 FCB 并使用此工具将其转换为 C 结构体时 https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs-Knowledge/i-MX-RT-FLEXSPI-booting-guide/ta-p/1669262 我没有设置第 5 位或第 7 位,所以我认为 LLM 有问题,但是 isDataSwapped 已设置,并且在 FCB 中通常被引用为 reserved0[0]。 我在安全配置工具中找不到 MX25UM51245G 的模板,只有 MX25U51245G(四闪存)、MX25UM51345G 和 MX25UMxxx45G 的模板。 但我尝试过的所有八进制DDR配置都无法启动。 有趣的是,尽管 BT_FUSE_SEL = 1 且引脚 BOOTMODE0/1 = 0,MCU 在某些配置后通常会自动进入 ISP 模式。这种情况并不稳定,我不确定是什么配置导致了这个问题。 MCU在读取闪存失败后是否会进入ISP模式? 谢谢 BR Re: Flash configuration confusion RT1176 Octal DDR 你好@SimonHugr , 很抱歉,MX25UM51245G 没有模板,只有 MX25U51245G 和 MX25UM51345G 可用。 根据您的描述,使用您当前的启动内存配置设置,与闪存设备的通信似乎工作正常。单击“转换为完整 FCB”后,该工具会将配置编程到闪存中,然后使用您指定的参数将其读取回来,如下所述: Habib_MS_0-1784753481563.png 如果所选设置中有任何一项不被闪存设备支持,该工具应报告类似于以下内容的错误: Habib_MS_1-1784753506390.png 为了进一步验证社区帖子中提到的使用 FCB 变流器生成的 LUT 是否正常工作,请您在从内部 RAM 运行应用程序时,使用 flexspi_nor_polling_transfer_cm7 SDK 示例进行测试。如果您对示例有任何疑问,请随时联系我。 此外,您能否提供一些关于您尝试启动的应用程序的更多详细信息? -这是 SDK 示例还是您自己的应用程序? 你使用的是哪个集成开发环境(IDE)? -您的应用程序是执行 XIP 还是非 XIP? -除了启动过程之外,您是否在任何其他阶段访问过闪存? 关于进入 ISP 模式,请确保您的定制板上的启动引脚符合MIMXRT1160/1170 硬件开发指南第 5 章“启动、复位和其他”中提到的建议?这样做是为了避免与启动引脚相关的任何硬件问题。 回答您的问题,如果没有有效的镜像文件,您可以进入ISP模式,如图10-1所示的RM“启动流程”: Habib_MS_2-1784754516601.png BR 哈比卜 Re: Flash configuration confusion RT1176 Octal DDR 你好,哈比卜。 我现在至少已经让八进制 SPI STR 模式在 200MHz 下工作了。问题出在一些未描述的神秘的“reserve2”字节上。我还选择在设备模式序列之上设置一个配置命令序列,并添加一个额外的字节。 设置字节交换并没有起到任何作用,但我对在 200MHz STR 八进制下能够达到的速度感到满意。 顺祝商祺!
View full article
S32K324 FlexIO SPIマスターエミュレーション(S32DS 3.5 / RTD 4.0.0) こんにちは、 S32K324上でFlexIOエミュレーションによるSPIマスターを構成し、外部のSPIスレーブデバイスと通信できるようにしています。当社独自の基板における配線経路の都合上、このデバイスを対象とする物理的な配線は、チップのデフォルトのFlexSPI0ピンに接続されています。したがって、エミュレートされたFlexio_Spiドライバースタックを使う必要があります。 これが私のセットアップです BUS_FLEXSPI0_UP_SBC_CS PTD8 fxio_d11 BUS_FLEXSPI0_UP_SBC_CLK PTD9 fxio_d0 BUS_FLEXSPI0_UP_SBC_MOSI PTD15 fxio_d10 BUS_FLEXSPI0_UP_SBC_MISO PTD22 fxio_d27 私の環境: IDE:S32 Design Studio for S32 プラットフォーム(バージョン:3.5、ビルドID:240726 Update 13) CPU:S32K324 SDK:リアルタイム・ドライバ(RTD)バージョン4.0.0(本番リリース) RTD 4.0.0専用のエンドツーエンド統合スタックを示す公式のNXPアプリケーションノートやガイドはありますか?ツール内のピン割り当て、シフターやタイマーのマッピング、ドライバの初期化まで、メインアプリケーションコード内のすべてを網羅したリファレンスが必要です。 Re: S32K324 FlexIO SPI Master Emulation (S32DS 3.5 / RTD 4.0.0 ) こんにちは、 @Kazarian さん、 私の知る限り、RTD 4.0.0およびこのピン割り当てを対象としたS32K324向けにFlexIOエミュレートされたSPIの完全なエンドツーエンド統合を説明した専用のアプリケーションノートはありません。 最も近い公式な参照は、S32K3 RTDパッケージに含まれる例プロジェクトです。Lpspi_Flexio_Ip_Transfer_S32K344と同様のRTDの例を確認してください。 この例は、FlexIOベースのSPI転送における意図されたRTD統合フローを示しており、FlexIO SPIドライバーの初期化やLPSPIとFlexIO SPIインスタンス間の関係も含まれます。   カスタムボードを作成する際に考慮すべき主なポイントは以下のとおりです(一般的なガイドラインとして)。 ピンの構成 PinsツールにリストされているピンをFlexIO信号として設定します。 PTD8 → FXIO_D11、チップセレクト PTD9 → FXIO_D0、クロック PTD15 → FXIO_D10、MOSI PTD22 → FXIO_D27、MISO MISOピンが入力バッファを有効にしていることを確認してください。 また、S32K324 IOMUX/pinoutのドキュメントで、これらのFlexIO機能があなたのパッケージに対応していることも確認してください。 FlexIO SPI構成 FlexIO SPI構成では、SPI信号を物理的なMCUピンだけでなく対応するFlexIOピン番号にマッピングします。 SCK = FXIO_D0 MOSI = FXIO_D10 CS = FXIO_D11 MISO = FXIO_D27 生成された構成に合わせて、必要なFlexIOタイマーとシフターを適切に割り当ててください。 よろしくお願いいたします。 パベル
View full article
IMX8M Plus GPU 动态随机存取存储器(DRAM) 竞争 我们在 IMX8M Plus 上运行 Yocto Linux。 我们注意到,在任何 GPU 活动期间,CPU 访问内存时都会出现巨大的延迟峰值(1-3 毫秒峰值)。这是一个大问题,因为我们使用 XDP 进行网络连接。 我们尝试调整 IMX8MP_ICM_A53、IMX8MP_ICM_GPU3D 和 IMX8MP_ICM_GPU2D,将它们设置为 7、2、2 以进行 QoS 控制。这使得延迟峰值出现的频率降低,但它们仍然存在。我们发现的唯一选择是完全不进行任何 GPU 活动或从设备树中删除 GPU,但这对于我们的使用场景来说是不可接受的。是否还有其他设置可以调整以缓解这种现象?GPU锁定动态随机存取存储器\(DRAM\)的时间不能超过50-100微秒。 图形与显示 Linux Re: IMX8M Plus GPU DRAM contention 嗨@richardlovgren , 感谢您联系恩智浦技术支持! 请问您使用的是哪个BSP版本? 这个问题在 EVK 上也会出现吗?还是只出现在你的定制硬件上? 能否也提供日志文件、设备树以及其他相关信息,以便我能够调查和诊断问题? 此外,请分享重现问题的具体步骤,以便我可以在我的环境中尝试重现该问题。 此致, 查维拉
View full article