Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
Request for controlled-access Aliro middleware for MCXW72 Matter lock example Dear NXP Support, I am a postdoctoral researcher in applied cryptography at KU Leuven/COSIC. I am conducting an academic implementation-security and interoperability study of CSA Aliro 1.0 Reader SDKs. I downloaded: MCUXpresso SDK 26.06.00 for MCX-W72-EVK; the corresponding MCUXpresso Config Tools package; mcuxsdk-examples-matter-release-v1.4.2; the NXP Matter lock-app-aliro example. The Matter example expects the following controlled middleware: >  /middleware/aliro/aliro_sdk.cmake However, the Aliro middleware is not present in the MCXW72 SDK Builder package or in the Matter example archive. Could you please provide access to the complete Aliro middleware package compatible with MCUXpresso SDK 26.06.00 and the Matter Aliro lock example? The material will be used solely for authorised academic analysis and will be handled according to any applicable licence or NDA. Kind regards, Sayon Duttagupta Postdoctoral Researcher COSIC, KU Leuven   Security(Edgelock | secure boot | OTP) Re: Request for controlled-access Aliro middleware for MCXW72 Matter lock example Hello @Sayon Hope you are doing well. My apologies, Aliro solution has not been released and, unfortunately, middleware is not available. I truly apologize for the inconvenience. Regards, Eduardo.
查看全文
Assistance Required for VSC8254 PHY Bring-up in 1G SGMII Mode on LX2160A Hello everyone, We are working on a custom board based on the LX2160A Rev2 SoC, where the VSC8254 PHY is connected to the SoC through eMDIO1. We are currently facing issues while bringing up the PHY in 1G SGMII mode. So far, we have successfully brought up the PHY in 10G XFI mode by configuring a fixed link in both the DPC file and the Linux kernel Device Tree. After booting, we execute the NXP-provided mdio_cl45_write script to program the required Clause 45 registers, following which the link comes up and operates correctly. However, when we switch the configuration to 1G SGMII mode, we make the following changes: Update the DPC and Linux Device Tree to use SGMII instead of XFI. Execute the corresponding Clause 45 register initialization sequence for 1G. Update the SERDES reference clock from 125 MHz to 100 MHz, as required for the new configuration. Despite these changes, the PHY link does not come up. For reference: The VSC8254 PHY is connected to SERDES1 MAC3 and MAC4. We are using RCW 6 for the 10G XFI configuration. We are using RCW 4 for the 1G SGMII configuration. Could you please let us know if there are any additional configuration changes or initialization steps required to bring up the PHY in 1G SGMII mode? Thank you for your time and support. @yipingwang @chenyin_h  Re: Assistance Required for VSC8254 PHY Bring-up in 1G SGMII Mode on LX2160A 1. Please configure RCW[SRDS_PLL_REF_CLK_SEL_S1] as "00". 2. In Linux Kernel, please configure "CONFIG_VITESSE_PHY". 3. In Linux Kernel dts file arch/arm64/boot/dts/freescale/fsl-lx2160a-rdb.dts, please modify dpmac3 and dpmac4 configuration similar as the following. &dpmac3 { phy-handle = <&aquantia_phy1>; phy-connection-type = "usxgmii"; managed = "in-band-status"; }; aquantia_phy1: ethernet-phy@4 { /* AQR107 PHY */ compatible = "ethernet-phy-ieee802.3-c45"; interrupts-extended = <&extirq 2 IRQ_TYPE_LEVEL_LOW>; reg = <0x4>; }; Modify to: &dpmac3 {         phy-handle = <&sgmii_phy1>;         phy-connection-type = "sgmii";         managed = "in-band-status"; };         sgmii_phy1: ethernet-phy@xx{                 reg = <0xxx>;//specify dpmac3 related MDIO PHY address         }; 4. Please modify dtc file dpc-usxgmii.dts as the following.        board_info {                 ports {                         mac@3 {                                 link_type = "MAC_LINK_TYPE_PHY";                                 enet_if = "USXGMII";                         };                         mac@4 {                                 link_type = "MAC_LINK_TYPE_PHY";                                 enet_if = "USXGMII";                         }; Modify to:         board_info {                 ports {                         mac@3 {                                 link_type = "MAC_LINK_TYPE_PHY";                         };                         mac@4 {                                 link_type = "MAC_LINK_TYPE_PHY";                         };
查看全文
DSPの実装:マイクロコントローラまたはFPGA こんにちは、このサブで何度も話題になっている話題だと知っていますが、この分野の方々からドメイン特有のアドバイスが欲しかったのです。私が知りたかったのは、通信分野のDSPアプリケーションに興味があり、その実装に関わりたい場合、マイクロコントローラプログラミングを学ぶことに時間を費やす価値があるのかということです。私はECEの学部生なので、正直なところFPGAの方が興味があるので、直接集中すべきか悩んでいます。混乱しています。なぜなら、最近ますます使われているSOCを扱うには組み込みソフトウェアのスキルが必要だと勧める人を見たからです。 重複した質問でしたら、本当に申し訳ありません!それに関して適切な答えが見つからず、今は少し優先順位をつけなければならない状況にある。どんなアドバイスでもいただけると大変ありがたいです! Re: DSP Implementation: Microcontrollers or FPGAs こんにちは、 @endros さん。 通信分野のDSPに興味があるなら、特に高スループットやリアルタイムの実装にはFPGAに注力する価値があります。とはいえ、基本的な組み込みCスキルは依然として有用です。なぜなら、多くのSoC/FPGAプラットフォームはソフトウェア制御、ドライバ、システム統合を伴うからです。FPGA/DSPの基礎を優先しつつ、組み込みワークフローに慣れるためにMCUプログラミングにも十分な時間を割くべきです。純粋な組み込みソフトウェアエンジニアになる必要はありませんが、完全に無視すべきではありません。 お役に立てば幸いです。 BR セレステ
查看全文
请求为 MCXW72 Matter 锁示例提供受控访问的 Aliro 中间件 尊敬的NXP技术支持: 我是鲁汶大学/COSIC应用密码学专业的博士后研究员。我正在进行一项关于 CSA Aliro 1.0 Reader SDK 的学术实施安全性和互操作性研究。 我下载了: MCUXpresso SDK 26.06.00 for MCX-W72-EVK; 相应的 MCUXpresso 配置工具包; mcuxsdk-examples-matter-release-v1.4.2 ; NXP Matter lock-app-aliro 示例。 Matter 示例需要以下受控中间件: > /middleware/aliro/aliro_sdk.cmake 但是,Aliro 中间件并未包含在 MCXW72 SDK Builder 包或 Matter 示例存档中。 能否提供与 MCUXpresso SDK 26.06.00 和 Matter Aliro 锁示例兼容的完整 Aliro 中间件包? 该材料将仅用于经授权的学术分析,并将根据任何适用的许可或保密协议进行处理。 亲切的问候, 萨永·杜塔古普塔 博士后研究员 鲁汶大学 COSIC   安全(Edgelock | 安全启动 | OTP) Re: Request for controlled-access Aliro middleware for MCXW72 Matter lock example 你好@Sayon 希望你一切都好。 非常抱歉,Aliro 解决方案尚未发布,而且很遗憾,中间件也不可用。 对于给您带来的不便,我深表歉意。 问候, 爱德华多。
查看全文
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
查看全文
DSP实现方式:微控制器或FPGA 大家好,我知道这个话题在这个子版块已经被反复讨论过了,但我只是想从这个领域的专家那里得到一些特定领域的建议。我想知道的是,如果我对通信领域的 DSP 应用感兴趣,并且想从事相关的实现工作,那么花时间学习微控制器编程是否值得?我是一名电子与计算机工程专业的本科生,所以我想知道我是否应该直接专注于FPGA,说实话,我对FPGA更感兴趣。我很困惑,因为我看到有人建议说,要使用现在越来越多地采用的片上系统 (SoC),确实需要具备嵌入式软件编程技能。 如果这个问题很重复,我真的非常抱歉!我一直没能找到关于此事的合适答案,现在我可能需要稍微调整一下优先事项。非常感谢您的建议! Re: DSP Implementation: Microcontrollers or FPGAs 你好@endros , 如果您主要对通信领域的 DSP 感兴趣,那么专注于 FPGA 绝对是值得的,特别是对于高吞吐量或实时实现而言。也就是说,掌握基本的嵌入式 C 技能仍然很有用,因为许多 SoC/FPGA 平台都涉及软件控制、驱动程序和系统集成。我会优先学习 FPGA/DSP 基础知识,但也会花足够的时间学习 MCU 编程,以便熟悉嵌入式工作流程。你不需要成为一名纯粹的嵌入式软件工程师,但也不应该完全忽视它。 希望对您有所帮助。 BR 塞莱斯特
查看全文
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これで問題は解決しましたか?
查看全文
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
查看全文
S32K328 HSE-B: Recommended Architecture for A/B Swap using Mem_43_INFLS (without Vector FOTA) Hello NXP Team, We are currently in the design and implementation phase of adding OTA A/B swap support to an existing application running on S32K328. This is an initial implementation where we are extending the existing software with OTA capability rather than integrating a complete FOTA framework. Current Environment MCU: S32K328 (8 MB P-Flash) AUTOSAR Stack: Vector MICROSAR RTD: S32K3_RTD_6_0_0_QLP04_D2508_ASR_REL_4_7_REV_0000_20250822 Binary transfer interface: UART Image activation service: HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK HSE A/B swap is enabled via RTD configuration The OTA binary is received over UART by a custom OTA CDD. Our current Vector configuration contains MemAccM only for NvM/Fee (D-Flash). There is no MemAccM configuration for programming the application P-Flash, and we are not using Vector OTA/FOTA. Therefore, we are considering using Mem_43_INFLS from the OTA CDD to erase and program the inactive application flash directly. We would appreciate guidance on the following points. 1. Recommended approach Is Mem_43_INFLS the recommended low-level driver for managing OTA image programming in an A/B swap setup when not using Vector’s OTA/FOTA package? Or should MemAccM be extended to cover P‑Flash programming even for custom OTA implementations? 2. Inactive flash block addressing After enabling HSE A/B swap: Is the inactive application P‑Flash block always accessed via fixed physical addresses defined in the memory layout? Or does HSE provide any logical mapping or abstraction for the passive block? 3. Preconditions for activation What are the mandatory preconditions for successful execution of HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK? For example: Image header format Metadata requirements Alignment constraints Authentication / signature requirements Flash state or attributes 4. Flash controller concurrency Does the C40 flash controller on S32K328 support concurrent operations between D‑Flash (Fee/NvM) and P‑Flash (inactive block)? If not, what is the recommended synchronization strategy: Application-level scheduling RTD driver arbitration MemAccM usage 5. Recommended architecture Is the following architecture aligned with NXP recommendations? UART ↓ Custom OTA CDD ↓ Mem_43_INFLS (erase/write inactive P‑Flash) ↓ Image verification ↓ HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK ↓ System reset ↓ HSE/BAF activates the passive block We are specifically looking for guidance on whether this lightweight approach is appropriate and compliant with HSE requirements. If there are any application notes, RTD examples, or reference implementations for custom OTA with HSE A/B swap, we would greatly appreciate your guidance. Thank you for your support. Best regards, Venkatesh KV #s32k328 Re: S32K328 HSE-B: Recommended Architecture for A/B Swap using Mem_43_INFLS (without Vector FOTA) Hi @venkatesh-kv  1. A custom OTA implementation can use Mem_43_INFLS directly to erase and program the passive partition. Whether MemAccM should be extended is an architectural decision and mainly depends on whether a common flash access and arbitration layer is desired within the application. 2. The passive application image is normally programmed using its physical P-Flash address range. HSE does not provide a dedicated logical addressing abstraction for the passive block. The application/bootloader is responsible for writing the new image to the inactive partition, after which HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK can be used to make that partition active on the next reset. 3. If secure boot is used, the signatures should be updated accordingly (depending on secure boot mode and other settings), so new application can be successfully authenticated and executed after next reset. Older version of HSE firmware required super user rights to execute service HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK. This has been downgraded to normal user rights in firmware versions 0.2.55.0 and newer. 4. Only one flash operation can run at a time. The implementation of flash access arbitration is left to the application architecture. In general, it is recommended to avoid concurrent flash operations from multiple software components and ensure that flash accesses are properly synchronized to prevent conflicts between OTA programming activities and any other flash users in the system. There’s no synchronization support between Fee/NvM and Mem_43_INFLS. 5. Yes, that’s correct flow. If fact, the only requirement is that there should be valid application in passive partition before the swap and signatures (or secure boot configuration in general) should be updated accordingly. We have basic OTA demo “SW32K3_OTADEMO_0.8.0_D2203” for S32K344 - it shows how to write new application to passive block and then request AB SWAP (this is a feature of HSE firmware). RTD 1.0.0 is used in this demo. Next more advanced demo is “S32K396 OTA Demo version 0.4.0” which shows how to update firmware via ethernet. This one uses RTD 3.0.0 P07. Both demos can be found in S32K3 Reference Software: https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SW32K3-REFSW-D Click on the link and then search for “Automotive SW - S32K3 - OTA Demo”. These are the only versions we have, it’s only reference software, it’s up to users to migrate it to other derivatives or to newer RTD packages if needed. And we have following OTA trainings: https://www.nxp.com/design/design-center/training/TIP-CONNECTS2021-AUT428 https://www.nxp.com/design/design-center/training/TIP-NXP-AUT-T3955A Both can be found in Training section on S32K3 page: https://www.nxp.com/products/S32K3 Also you can take a look at “S32K3XX HSE and OTA Advance Training [TR744101]” which can be downloaded from Documentation -> Secure files: https://www.nxp.com/products/S32K3 Regards, Lukas
查看全文
在 FRDM-K64F 上使用 MCUxpresso 25.6 时出现未定义的 SD 卡符号 我想在我的项目中使用 SD 卡来加载双向无线电系统的个人个性化数据。我收到 #include "tx_api.h"并且 #include "tx_event_flags.h" 未定义。 这是因为我没有在 SDK 中包含 Azure RTOS。 我尝试使用“管理 SDK 组件”将 Azure 安装到 SDK 中来解决这个问题,但显然 Azure RTOS 支持在 2.11 版本中被取消了,而我在发现这个问题之前已经为项目加载了该版本。 所以我在线创建了一个新的 SDK,但为了获得 Azure 支持,它又降级到了 2.10 版本。但是,当我尝试更改项目的 SDK 时,它不允许我删除我已有的 SDK,当我尝试添加另一个 SDK 时,它告诉我 SDK 2.x_FRDM-K64F 已经存在。 我如何获得 Azure 支持?我只需要它来访问SD卡! Re: Undefined SD Card symbols using MCUxpresso 25.6 on FRDM-K64F 你好@ve3id , 感谢你的帖子。 提醒一下,在 FRDM-K64F 上,SDK 已经提供了基于 SDHC + FatFs 的 SD 卡文件系统示例,而 FatFs 可以在裸机模式下运行,无需 RTOS。FRDM-K64F SDK 示例包括 frdmk64f_driver_examples_sdcard_fatfs / fatfs_sdcard 风格的项目,用于挂载 SD 卡并执行目录/文件读写操作。 如果您仍然想要 Azure RTOS,对于“SDK 2.x_FRDM-K64F 已存在”的问题,这意味着 IDE 中已经安装了具有该身份的 SDK。MCUXpresso IDE 支持从该视图中删除已安装的 SDK 包。请参考下图进行卸载。 Celeste_Liu_0-1784529590904.png 之后,您可以再次尝试安装 SDK v2.10。 希望对您有所帮助。如果您还有其他问题,请告诉我。 BR 塞莱斯特 Re: Undefined SD Card symbols using MCUxpresso 25.6 on FRDM-K64F 谢谢你,塞莱斯特。从文献中并没有明确看出情况确实如此。不过,我已经通过将我的代码复制粘贴到示例中解决了这个问题,现在正在处理下一个问题,即挂载后尝试读取目录时返回零! 干杯 奈杰尔 Re: Undefined SD Card symbols using MCUxpresso 25.6 on FRDM-K64F 你好@ve3id , 不客气,很高兴能帮到您! 如有任何新问题,请随时发帖提问。 BR 塞莱斯特
查看全文
Undefined SD Card symbols using MCUxpresso 25.6 on FRDM-K64F I want to use an SD card in my project to load individual personalisation data fpor a two-way radio system.   I am getting #include "tx_api.h" and #include "tx_event_flags.h" as not defined. This is due to the fact that I did not include azure rtos in the SDK. I try to overcome this by installing azure into the SDK using 'manage sdk components', but I apparently azure rtos support was dropped in 2.11, which I loaded for the project before I saw this problem. So I created a new SDK online, but it drops back to 2.10 to get azure support.  However when I try to change the SDK for my project, it will not let me remove the SDK I have, and when I try to add another one it tells me that SDK 2.x_FRDM-K64F already exists. How can I get azure support.  I only need it for SD card access! Re: Undefined SD Card symbols using MCUxpresso 25.6 on FRDM-K64F Thank you Celeste.  It was not clear from the literature that such was the case.  However I have solved the problem by cutting and pasting my code into the example and have moved on, working on the next problem now which is the fact that it returns zero when trying to read the directory after mounting! Cheers Nigel Re: Undefined SD Card symbols using MCUxpresso 25.6 on FRDM-K64F Hello @ve3id , Thanks for your post. Just a reminder, on FRDM-K64F, the SDK already provides SD card file-system examples based on SDHC + FatFs , and FatFs can run in bare-metal mode without an RTOS, the FRDM-K64F SDK examples include frdmk64f_driver_examples_sdcard_fatfs / fatfs_sdcard style projects for mounting an SD card and doing directory/file read-write operations. If you still want Azure RTOS, for the “SDK 2.x_FRDM-K64F already exists” issue, this means the IDE already has an SDK with that identity installed. MCUXpresso IDE supports deleting installed SDK packages from that view. Please refer to below picture to uninstall. Celeste_Liu_0-1784529590904.png After that, you can try to install SDK v2.10 again. Hope it helps. Please let me know if you have any other questions. BR Celeste Re: Undefined SD Card symbols using MCUxpresso 25.6 on FRDM-K64F Hello @ve3id , You are welcome, glad to help! Any new questions, please feel free to create a new post. BR Celeste
查看全文
S32K328 HSE-B:推荐的采用 Mem_43_INFLS 进行 A/B 交换的架构(无需 Vector FOTA) 您好,NXP团队, 我们目前正处于为运行在 S32K328 上的现有应用程序添加 OTA A/B 交换支持的设计和实施阶段。 这是初步实现,我们是在现有软件的基础上扩展 OTA 功能,而不是集成完整的 FOTA 框架。 当前环境 MCU:S32K328(8 MB P-Flash) AUTOSAR 堆栈:矢量 MICROSAR RTD:S32K3_RTD_6_0_0_QLP04_D2508_ASR_REL_4_7_REV_0000_20250822 二进制传输接口:UART 镜像激活服务:HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK HSE A/B 切换可通过 RTD 配置实现 OTA 二进制文件通过 UART 由定制的 OTA CDD 接收。 我们目前的 Vector 配置仅包含用于 NvM/Fee (D-Flash) 的 MemAccM。没有用于对应用程序 P-Flash 进行编程的 MemAccM 配置,我们也没有使用 Vector OTA/FOTA。 因此,我们正在考虑使用 OTA CDD 中的 Mem_43_INFLS 直接擦除和编程非活动应用程序闪存。 我们希望就以下几点获得指导。 1. 推荐方法 在不使用 Vector 的 OTA/FOTA 软件包的情况下,Mem_43_INFLS 是否是 A/B 交换设置中管理 OTA 映像编程的推荐底层驱动程序? 或者,MemAccM 是否应该扩展到涵盖 P-Flash 编程,即使是针对自定义 OTA 实现? 2. 非活动闪存块寻址 启用 HSE A/B 切换后: 非活动应用程序 P-Flash 块是否始终通过内存布局中定义的固定物理地址进行访问? HSE 是否为被动模块提供了任何逻辑映射或抽象? 3. 激活的前提条件 成功执行 HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK 的必要前提条件是什么? 例如: 图像头格式 元数据要求 对齐约束 身份验证/签名要求 闪光状态或属性 4. Flash 控制器并发性 S32K328 上的 C40 闪存控制器是否支持 D-Flash(费用/NvM)和 P-Flash(非活动块)之间的并发操作? 如果不是,那么推荐的同步策略是什么? 应用层调度 RTD司机仲裁 MemAccM 使用情况 5. 推荐架构 以下架构是否符合恩智浦半导体(NXP)的建议? UART ↓ 自定义OTA CDD ↓ Mem_43_INFLS(擦除/写入非活动 P-Flash) ↓ 图像验证 ↓ HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK ↓ 系统重置 ↓ HSE/BAF激活被动阻断 我们特别想了解这种轻量级方法是否合适,是否符合 HSE 要求。 如果您有任何关于带有 HSE A/B 交换的自定义 OTA 的应用笔记、RTD 示例或参考实现,我们将非常感谢您的指导。 感谢您的支持。 此致, 文卡特什·KV #s32k328 Re: S32K328 HSE-B: Recommended Architecture for A/B Swap using Mem_43_INFLS (without Vector FOTA) 嗨@venkatesh-kv 1.自定义 OTA 实现可以直接使用 Mem_43_INFLS 来擦除和编程被动分区。 MemAccM 是否应该扩展是一个架构决策,主要取决于应用程序是否需要通用的闪存访问和仲裁层。 2. 被动应用程序映像通常使用其物理 P-Flash 地址范围进行编程。HSE 没有为被动块提供专用的逻辑寻址抽象。应用程序/引导加载程序负责将新映像写入非活动分区,之后可以使用 HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK 在下次 RESET 时激活该分区。 3. 如果使用安全启动,则应相应地更新签名(取决于安全启动模式和其他设置),以便在下次重置后能够成功验证和执行新应用程序。 旧版本的 HSE 固件需要超级用户权限才能执行服务 HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK。在固件版本 0.2.55.0 及更高版本中,此功能已降级为普通用户权限。 4. 一次只能运行一个闪存操作。闪存访问仲裁的实现由应用程序架构决定。 一般来说,建议避免多个软件组件同时进行闪存操作,并确保闪存访问正确同步,以防止 OTA 编程活动与系统中的任何其他闪存用户发生冲突。 Fee/NvM 和 Mem_43_INFLS 之间没有同步支持。 5. 是的,流程正确。事实上,唯一的要求是,在交换分区之前,被动分区中必须存在有效的应用程序,并且签名(或一般的安全启动配置)应相应地进行更新。 我们有适用于 S32K344 的基本 OTA 演示“SW32K3_OTADEMO_0.8.0_D2203” - 它展示了如何将新应用程序写入被动块,然后请求 AB SWAP(这是 HSE 固件的一个功能)。本演示中使用的是 RTD 1.0.0 版本。 接下来更高级的演示是“S32K396 OTA Demo version 0.4.0”,它展示了如何通过以太网更新固件。这个版本使用的是 RTD 3.0.0。P07。 这两个演示程序都可以在 S32K3 参考软件中找到: https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SW32K3-REFSW-D 点击链接,然后搜索“汽车软件 - S32K3 - OTA 演示”。 这些是我们仅有的版本,它只是参考软件,如果需要,用户需要将其迁移到其他衍生版本或更新的 RTD 软件包。 我们提供以下OTA培训: https://www.nxp.com/design/design-center/training/TIP-CONNECTS2021-AUT428 https://www.nxp.com/design/design-center/training/TIP-NXP-AUT-T3955A 这两点都可以在S32K3页面的“培训”部分找到: https://www.nxp.com/products/S32K3 您还可以查看“S32K3XX HSE 和 OTA 高级培训 [TR744101]”,该培训可从“文档”->“安全文件”下载: https://www.nxp.com/products/S32K3 问候, 卢卡斯
查看全文
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つの点が正しいことを確認したら、このモジュールに関して他に注意すべき点はありません。
查看全文
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
查看全文
カーネル6.12におけるLS1046A 10GB SFP+の設定 こんにちは、 私はLS1046Aを搭載したカスタムボードを持っていて、はんだ付けされたSFP+ 10GBモジュールでfm1-mac9を使用しようとしています。 SERDES 1 の私の RCW は 0x1040 です。 hugoacata_0-1784298387879.png つまり、FM1からMAC9の10GBはRCWの視点から見て十分にカバーされています。SFPの電源やレーザーは正常なようですが、前のSFPと連携・連携できず、DTBの設定が間違っているのではないかと疑っています。 これがそのMACアドレスの現在の設定です。 xfi10g: ethernet@f0000 { ステータス = "正常"; pcsphy-handle = <&pcsphy6>; pcs-handle = <&pcsphy6>; pcs-handle-names = "xfi"; 物理接続タイプ = "10gbase-r"; 固定リンク { 速度 = <10000>; 全二重通信; }; }; mdio@f1000 { ステータス = "正常";   pcsphy6: イーサネット-phy@0{     compatible = "fsl,lynx-pcs";     reg = <0x0>;   }; }; sfp_mac9: sfp { 互換 = "SFF,SFP"; I2Cバス = <&i2C3>; status = "OK"; }; 参考までに、私は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
查看全文
Example SJA1110 FreeRTOS lwIP MR-T1ETH8 S32DS 3.5 RTD 1.0.2 ********************************************************************************* * Detailed Description: * Updated the example lwip_FreeRTOS_SJA1110 for board MR-T1ETH8 * to enable ping from the command window, from all applicable ports * *ping 192.168.0.200 * *Pinging 192.168.0.200 with 32 bytes of data: *Reply from 192.168.0.200: bytes=32 time=2ms TTL=255 *Reply from 192.168.0.200: bytes=32 time=1ms TTL=255 *Reply from 192.168.0.200: bytes=32 time=1ms TTL=255 *Reply from 192.168.0.200: bytes=32 time=1ms TTL=255 * *Ping statistics for 192.168.0.200: * Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), *Approximate round trip times in milli-seconds: * Minimum = 1ms, Maximum = 2ms, Average = 1ms * * Installed packages to S32DS 3.5 update 14: * SW32SJA11xx_S32DS_3.5.0_RFP_D2206.zip * SJA11XX_RTD_4.4_1.0.1_P02_HF01_D2510_DesignStudio_updatesite.zip * SW32SJA1110_XJA11XX_ETH_PHY_4.4_1.0.8_CD01_D2509_DesignStudio_updatesite.zip * SJA11XX_ETH_SWITCH_4.4_1.0.2_CD01_D2509_DesignStudio_updatesite.zip * SW32SJA11xx_FreeRTOS_11.1.0_0.8.0_CD2_D2411_DesignStudio_updatesite.zip * SJA11XX_TCPIP_2.0.0_CD01_D2510_DesignStudio_updatesite.zip * * EVB * - to enable flashing by Lauterbach TRACE32 - Populate R78, DNP R77 * * Configuration: * - Updated switch configuration * - Updated phy configuration * - Fixed Mcu/McuModuleConfiguration/McuPowerControlUnit - 1V8 and 2V5 * - Fixed Eth configuration * * * * - TCPIP stack: enabled UDP_ECHO, etc. * - Added DIO * - Added nvm_metadata * - MAC learning is disabled * - All available ports initialized * - All ports checked, except 1 Gbit/s ix Industrial connector (J9) * * main.c * - Updated only the header * device.c * - Added LED routines * test.c * - Removed code that shuts down the TCP/IP stack after its predefined timeout * - Added debug stuff * - Commented out the code that initializes 2nd switch * * ----------------------------------------------------------------------------- * Test HW: MR-T1ETH8 * MCU: SJA1110 * Debugger: Lauterbach TRACE32 * Target: RAM or external FLASH (flash_image.bin generated) * EVB connection: any port <-> RDDRONE T1ADAPT (on ports where applicable) <-> USB-to-Ethernet adapter <-> Laptop DELL, Windows 11
查看全文
[S32K3] [RTD 7.0.1]BCTU模块中的三个问题 我在 RTD 代码版本S32K3_RTD_7_0_1_D2602_ASR_REL_4_9_REV_0000_20260206中发现了 BCTU 模块的三个问题。具体问题如下:   问题 1:在文件Adc_TS_T40D34M70I1R0/src/Bctu_Ip.c 的第 1558 行,当前代码使用按位或赋值: BctuBasePtr->FIFOERR |= FifoWatermarkMask;应修改为直接赋值: BctuBasePtr->FIFOERR = FifoWatermarkMask;   问题 2:在文件Adc_TS_T40D34M70I1R0/src/Bctu_Ip.c的第 567 行和第 568 行中,现有代码包含不正确的位移操作。原始代码如下所示: ClrMask |= ((u32Mask & (BCTU_IP_STATUS_FIFO1_OVR_ERR << (Index * 2u))) != 0U) ?(BCTU_FIFOERR_OVR_ERR_FIFO1_MASK << Index) : 0U; ClrMask |= ((u32Mask & (BCTU_IP_STATUS_FIFO1_UNDR_ERR << (Index * 2u))) != 0U) ?(BCTU_FIFOERR_UNDR_ERR_FIFO1_MASK << 索引) : 0U; 这两行代码应按如下方式修改为正确的换行逻辑: ClrMask |= ((u32Mask & (BCTU_IP_STATUS_FIFO1_OVR_ERR << Index)) != 0U) ?(BCTU_FIFOERR_OVR_ERR_FIFO1_MASK << (索引 * 2u)) : 0U; ClrMask |= ((u32Mask & (BCTU_IP_STATUS_FIFO1_UNDR_ERR << Index)) != 0U) ?(BCTU_FIFOERR_UNDR_ERR_FIFO1_MASK << (索引 * 2u)) : 0U;   问题 3: MCAL/SDK 代码生成工具与 BCTU 模块的静态源代码之间存在类型不一致对齐问题。在 MCAL 生成的代码( Adc_TS_T40D34M70I1R0/generate_PB/Adc_RegOperations.m中,第 2397 行),头文件和 C 文件中定义的数组统一采用uint32类型。在 SDK 生成的代码中,头文件和 C 文件中的类型定义不一致: eclipse/mcu_data/components/PlatformSDK_S32K3/Bctu_Ip/Bctu_Ip_PBcfg.h中的数组类型(第 249 行)根据BctuFifoDmaRawData选项是否启用,在uint16和uint32之间切换,而eclipse/mcu_data/components/PlatformSDK_S32K3/Bctu_Ip/Bctu_Ip_PBcfg.c中的相应数组(第 317 行)固定为uint32类型。在静态代码( Adc_TS_T40D34M70I1R0/src/Bctu_Ip.c中,第 1629 行),传输长度(2 字节或 4 字节)是根据BctuFifoDmaRawData配置动态确定的。当取消选中BctuFifoDmaRawData选项时,会出现以下所有异常问题: 1.对于 SDK 项目:头文件和 C 文件之间数组类型不匹配会导致直接编译失败。 2. 对于 MCAL 项目:虽然编译可以成功,但固定的 uint32 数组定义导致一半的内存空间被浪费。此外,每个 uint32 数据单元包含两个 ADC 结果,需要在数据解析期间手动拆分高 uint16 值和低 uint16 值。 以上三个错误存在于官方版本S32K3_RTD_7_0_1_D2602_ASR_REL_4_9_REV_0000_20260206中。我们希望恩智浦软件工程师能在下一个 RTD 版本中修复这些 BCTU 模块缺陷。 Re: [S32K3] [RTD 7.0.1] Three Issues in the BCTU Module 您好@chenwilsoft 您的问题已提交至内部论坛,正在等待设计团队的确认。 Re: [S32K3] [RTD 7.0.1] Three Issues in the BCTU Module 您好@chenwilsoft 感谢您的反馈。 软件团队和我已经确认了这些问题,它们确实是软件漏洞。 我们已将这些问题上报内部,并将在未来的更新中修复它们。
查看全文
S32K348-GPIO EIRQからDMA要求 親愛なるNXPサポートチームへ、 今、GPIO PTD6でEIRQ14の立ち上がりエッジ検出を設定し、このピン信号をDMAチャネルにマッピングし、PIT_1 Timer[0]から現在の値を取得しようとしています。これはフリーランニングとして設定されています。 SIUL2はPTDAで正しく設定されているようで、関連するMCUピンで信号(1Hz)を接続するとこのピンが切り替えられているのが確認できます。 でもDMAは私には合いません 私の推測では、PTD6から>DMAMUX-> DMAチャネル4の適切なチェーンを見つけるのに問題があるのだと思います。そして、これらの情報を正確にどこで見つけられるかも調べてください。 S32K3xx_DMAMUX_map.xlsx から以下の情報を取得しました。 OndrejK_0-1784190602227.png そこで最初の問題です:PTD6(EIRQ14)に専用のソース>リクエストはどれですか? RMマニュアルの表44とはどのように関連しているのでしょうか? OndrejK_1-1784190821068.png 以下は、私が現在取り組んでいるコードの断片です。 PTD6 のセットアップ void Setup_PTD6_EIRQ14_for_DMA ( void ) { /* 1. MSCRレジスタによる物理ピンPTD6の設定 */     // PTD6 は、インデックス MSCR[102] に対応します (スクリーンショットに示されているとおり)     IP_SIUL2 -> MSCR [ 102 ] = 0 ; // レジスタをクリア     IP_SIUL2->MSCR[102] |= (1 << 19); // IBE = 1(入力バッファ有効化 - ピンを入力として設定)     IP_SIUL2 -> IMCR [ 542 - ( 512 )] = 3u ;     オプション:信号が浮かんでいる場合は、プルアップ(PUE=1、PUS=1)またはプルダウン(PUE=1、PUS=0)を有効にすることができます。 /* 2. 回線EIRQ[14]でのエッジ検出の有効化 */     // すべての立ち上がりエッジのタイムスタンプを取得したい     IP_SIUL2 -> IREER0 |= ( 1 << 14 ); // IREER0[EIRE14] = 1 (立ち上がりエッジを有効にする)     IP_SIUL2 -> IFEER0 &= ~ ( 1 << 14 ); // IFEER0[EIRE14] = 0 (立ち下がりエッジを無効化) /* 3. リクエストルーティング: 割り込みからDMAへの変更 */     // このステップにより、エッジがCPU(NVIC)を起動せず、代わりにDMAラインをトリガーすることが保証されます。     IP_SIUL2->DIRSR0 |= (1 << 14); // DIRSR0[DIRS14] = 1(割り込みではなくDMA要求を選択する) /* 4.EIRQのDMA要求生成の最終有効化[14] */     IP_SIUL2->DIRER0 |= (1 << 14); // DIRER0[EIRE14] = 1(DMA要求ラインを起動) }   DMAチャネルの設定: void Setup_eDMA_Channel4_Capture_PIT1 ( void ) { /* 1.eDMAチャネル4のDMAMUX初期化 */     EIRQ14(ソース14)をeDMAチャンネル4にマッピング     IP_DMAMUX_1 -> CHCFG [ 4 ] = DMAMUX_CHCFG_ENBL_MASK | DMAMUX_CHCFG_SOURCE ( 7u ); // EIRQ14 は DMAMUX_1 のソース 7 です     //IP_DMAMUX_0->CHCFG[4] = 0U; /* 2.チャネルPIT_1 4のTCD構成(正確なS32K3ベアメタル構文)*/     // ソース: PIT_1 タイマー 0 の現在の値     IP_TCD -> TCD4_SADDR = ( uint32_t ) & ( IP_PIT_1 -> TIMER [ 0 ]. CVAL );     IP_TCD -> TCD4_SOFF  = 0 ; // ソースはインクリメントされません     IP_TCD -> TCD4_ATTR  = 0x0202 ; // 32ビットソース、32ビットデスティネーション     // マイナーループ: 1回のトリガーで転送されるバイト数     // S32K3では、これはNBYTES_MLOFFNOレジスタに対応します(マイナーループリンクなし)     IP_TCD -> NBYTES4 . TCD4_NBYTES_MLOFFNO = 4 ; // トリガーごとに 4 バイト (32 ビット) を転送     // 宛先: RAM 内の配列     IP_TCD -> TCD4_DADDR = ( uint32_t ) dma_timestamps ;     IP_TCD -> TCD4_DOFF  = 4 ; // 各エッジの後に RAM で 4 バイトシフトする     // 循環バッファ: 配列全体を埋めた後、先頭に戻る     IP_TCD -> TCD4_DLAST_SGA = - ( BUFFER_SIZE * 4 );     // 主要ループカウンタ:ループ内の反復回数の合計     //IP_TCD->CITTER4.TCD4_CITER_ELINKNO = BUFFER_SIZE;     IP_TCD -> CITER4 . TCD4_CITER_ELINKNO = BUFFER_SIZE ;     IP_TCD -> BITER4 . TCD4_BITER_ELINKNO = BUFFER_SIZE ; /* 3.公式マクロによるハードウェアトリガーのeDMAチャネルアクティベーション */     //IP_TCD->CH4_CSR |= DMA_TCD_CH4_CSR_ERQ_MASK; /* 3.ハードウェアトリガーのeDMAチャネル起動(非同期モード有効時)*/     // ビット 0 (ERQ) = 1 -> ハードウェア トリガーを有効にする     // ビット 2 (EARQ) = 1 -> 外部ピン (SIUL2 EIRQ) からの非同期要求を有効にします     IP_TCD -> CH4_CSR |= 3u ; // ERQ=1、EARQ=1 }   おそらくここが重要な部分でしょう。 IP_DMAMUX_1 -> CHCFG [ 4 ] = DMAMUX_CHCFG_ENBL_MASK | DMAMUX_CHCFG_SOURCE ( 7u ); // EIRQ14 は DMAMUX_1 のソース 7 です どの IP_DMAMUX とどの DMAMUX_CHCFG_SOURCE を使用すればよいのか、また、これに関する適切な情報はどこにあるのか、少し混乱しています。 よろしくお願いします オンドレイ   Re: S32K348-GPIO EIRQ to DMA request こんにちは、@ OndrejK 「つまり、MCUには32のTCDチャネルがあり、TCD 0から15はDMAMUX_0に有効で、TCD 15から31はDMAMUX_1に適用されるということですか?" はい、これらの情報はデータシートに記載されています。参考のためにコピーしておきます。 Senlent_0-1784272853624.png Re: S32K348-GPIO EIRQ to DMA request こんにちは、Senlentさん。 ご回答ありがとうございます。 TCDマッピングについてのあなたの意味がどこから出たのか教えてもらえますか? つまり、MCUは32のTCDチャネルを持ち、TCD 0から15がDMAMUX_0に有効で、TCD 15から31は DMAMUX_1? DMAMUXとeDMAに関する情報について、まだ少し混乱しています。 よろしくお願いします オンドレイ Re: S32K348-GPIO EIRQ to DMA request こんにちは、@OndrejK あなたの理解は正しいです。 PTD6->EIRQ14->DMAMUX1.SOURCE 7. IP_DMAMUX_1->CHCFG[4] = DMAMUX_CHCFG_ENBL_MASK | DMAMUX_CHCFG_SOURCE(7u); // EIRQ14 is source 7 for DMAMUX_1 しかし、TDC設定が間違っています。 私の理解では、それらは以下のようになるはずです。 IP_DMAMUX_1->CHCFG[0] ->TCD 16 IP_DMAMUX_1->CHCFG[4] -> TCD4ではなくTCD20 Re: S32K348-GPIO EIRQ to DMA request こんにちは、センレントさん。 観察結果に基づいて、コードにいくつか変更を加えました。 これが私の最新のコードです。 メイン初期化: Setup_PTD6_EIRQ14_for_DMA ();     Setup_PIT1_Timer0_FreeRunning ();     Setup_DMAMUX_Channel0_ToTCD16_Capture_PIT1 ();      // EIRQ14割り込みフラグをクリアする      IP_SIUL2 -> DISR0 = ( 1 << 14 ); そして、残りのコードは以下のとおりです。 void Setup_PTD6_EIRQ14_for_DMA ( void ) {     // 1. SIUL2 に対するフィルタ前の操作 (AK Už nie je povolený inde)     IP_SIUL2 -> IFCPR = 0U ; // Nastavenie deličky filtra na Functional Clock (bez dodatočného delenia) // 2. Voliteľne vypnite フィルター pre daný EIRQ インデックス アレボ ホ ナスターブテ ナ 最小限のポチェト cyklov // EIRQ14 より前 (v závislosti od mapovania registrov IFMCR):     IP_SIUL2 -> IFMCR [ 14 ] = 0U ; // 0U vypína digitalálny フィルター、hrana prechádza okamžite ako čistýhardvérový トリガー /* 1. MSCRレジスタによる物理ピンPTD6の設定 */     // PTD6 は、インデックス MSCR[102] に対応します (スクリーンショットに示されているとおり)     IP_SIUL2 -> MSCR [ 102 ] = 0 ; // レジスタをクリア     IP_SIUL2->MSCR[102] |= (1 << 19); // IBE = 1(入力バッファ有効化 - ピンを入力として設定)     IP_SIUL2 -> IMCR [ 542 - ( 512 )] = 3u ;     オプション:信号が浮かんでいる場合は、プルアップ(PUE=1、PUS=1)またはプルダウン(PUE=1、PUS=0)を有効にすることができます。 /* 2. 回線EIRQ[14]でのエッジ検出の有効化 */     // すべての立ち上がりエッジのタイムスタンプを取得したい     IP_SIUL2 -> IREER0 |= ( 1 << 14 ); // IREER0[EIRE14] = 1 (立ち上がりエッジを有効にする)     IP_SIUL2 -> IFEER0 &= ~ ( 1 << 14 ); // IFEER0[EIRE14] = 0 (立ち下がりエッジを無効化) /* 3. リクエストルーティング: 割り込みからDMAへの変更 */     // このステップにより、エッジがCPU(NVIC)を起動せず、代わりにDMAラインをトリガーすることが保証されます。     IP_SIUL2->DIRSR0 |= (1 << 14); // DIRSR0[DIRS14] = 1(割り込みではなくDMA要求を選択する) /* 4.EIRQのDMA要求生成の最終有効化[14] */     IP_SIUL2->DIRER0 |= (1 << 14); // DIRER0[EIRE14] = 1(DMA要求ラインを起動) }   void Setup_DMAMUX_Channel0_ToTCD16_Capture_PIT1 ( void ) { /* 1.eDMAチャネル4のDMAMUX初期化 */    // Podľa NXP tabuľky prislúcha SIUL2 DMA要求 4 zdrojový index 7u     //IP_DMAMUX_1->CHCFG[4] = DMAMUX_CHCFG_ENBL_MASK | DMAMUX_CHCFG_SOURCE(7u);     ドキュメントに従い、まずチャネル4を無効にし、次に設定し、最後に有効にしてください     IP_DMAMUX_1 -> CHCFG [ 0 ] = 0u ; /* 2.チャネルPIT_1 4のTCD構成(正確なS32K3ベアメタル構文)*/     // ソース: PIT_1 タイマー 0 の現在の値     IP_TCD -> TCD16_SADDR = ( uint32_t ) & ( IP_PIT_1 -> TIMER [ 0 ]. CVAL );     IP_TCD -> TCD16_SOFF  = 0 ; // ソースはインクリメントされません     IP_TCD -> TCD16_ATTR  = 0x0202 ; // 32ビットソース、32ビットデスティネーション     // マイナーループ: 1回のトリガーで転送されるバイト数     // S32K3では、これはNBYTES_MLOFFNOレジスタに対応します(マイナーループリンクなし)     IP_TCD -> NBYTES16 . TCD16_NBYTES_MLOFFNO = 4 ; // トリガーごとに 4 バイト (32 ビット) を転送     // 宛先: RAM 内の配列     IP_TCD -> TCD16_DADDR = ( uint32_t ) dma_timestamps ;     IP_TCD -> TCD16_DOFF  = 4 ; // 各エッジの後に RAM で 4 バイトシフトする     // 循環バッファ: 配列全体を埋めた後、先頭に戻る     IP_TCD -> TCD16_DLAST_SGA = - ( BUFFER_SIZE * 4 );     // 主要ループカウンタ:ループ内の反復回数の合計     //IP_TCD->CITTER20.TCD20_CITER_ELINKNO = BUFFER_SIZE;     IP_TCD -> CITER16 . TCD16_CITER_ELINKNO = BUFFER_SIZE ;     IP_TCD -> BITER16 . TCD16_BITER_ELINKNO = BUFFER_SIZE ;     //IP_TCD->CH16_CSR |= 3u; // ERQ=1、EARQ=1     DMAMUXチャネル0を有効にする     IP_DMAMUX_1 -> CHCFG [ 0 ] = DMAMUX_CHCFG_ENBL_MASK | DMAMUX_CHCFG_SOURCE ( 6u ); __asm volatile ( "nop" ); __asm volatile ( "nop" );     IP_TCD -> CH16_CSR |= 3u ; }   そして、このアサートが発生すると、EIRQ(14)によるDMA転送を開始できません。デバッガーでは、MCU PTD6ピンの信号を変更するとフラグが表示されます。 次に、手動でSTARTビットでDMA転送を開始できTCD16_CSR TCDチャネルではCITTERの値を減らし、PIT1_TIMER[0]の値をdma_timestampsアレイに格納します。 ちなみに、これは「通常の」SRAMセクションで定義されるべきです。以前、これをdata_cacheセクションに設定していたため、DMA「宛先バスエラー」が発生しました。 新しい定義: __attribute__ ((整列( 32 ))) __attribute__ ((セクション( ".mcal_data" ))) uint32_t dma_timestamps [ BUFFER_SIZE ];   しかし、手動STARTをスキップして(コードの冒頭から設定してはいけません)、PTD6ピンの信号を変えると、DMAチャネルは何もせず、CITTERレジスタは初期化値のままです。 どこに問題があるのか教えてもらえますか? それでも、PTD6-EIRQ(14)の主張フラグからTCD16チャネルへの適切な接続に問題があるようです。 DMAMUXチャネルの正しいソースかもしれませんね? DMAMUX1-CH[0]については、すべてのソース(1~ 😎 DMAMUXのExcelテーブルにリストされているSUIL2インスタンスについて、成功しませんでしたが、ここでも私の手順が正しかったかどうかはわかりません。     Re: S32K348-GPIO EIRQ to DMA request こんにちは、@ OndrejK 参考までに、PTD6を使用して単一のデータ転送のためにDMAをトリガーするデモを作成しました。 これはS32K344 + RTD 7.0.1をベースにしています。 そして私はそれを試してみました。 私の理解は正しいと保証します。 PTD6の場合、ソースは7である必要があります。  IP_DMAMUX_1 -> CHCFG [ 0 ] = DMAMUX_CHCFG_ENBL_MASK | DMAMUX_CHCFG_SOURCE ( 7u ); Senlent_1-1784689141057.png Re: S32K348-GPIO EIRQ to DMA request こんにちは、Senlentさん。 素晴らしい例をありがとうございました。 いくつか変更を加えた結果、動作するサンプルができました。調整済みプロジェクトを添付しますが、重要な問題が一つありました。 DMAリクエーションを有効にしたSIUL ICUは、DMA TCDチャネル全体が完全に設定される前にセットアップされました。その場合、TCD_SADDRとTCD_DADDRは空(値がゼロ)で、その後SULでDMAリクオンを有効にするとDMAエラー、つまり「ソースバスエラー」が発生します。これが私の理解です。 この初期化の順序変更後。例が私の環境で動作し始めました。 しかし、DMAMUXチャネルとTCDチャネルの正確な関係はまだ理解できません。 あなたは、DMAMUXはCHCGF[0]として構成する必要があると書いていました。 S32k344カスタム開発ボードでアプリをダウンロードして起動したところ、DMAMUX-CHCFG[3]が設定されており、関数のコード Dma_Mux_Ip_Init_Privileged 正確にこの構成に繋がっていることがわかりました。 RegisterIndex = DMA_MUX_IP_GATE_OFFSET((pConfig->pChannelConfigArr[ChannelCount].チャネル)); こちらはLauterbach Trace32デバッガのスクリーンショットで、すべての初期化ステップ後の最終セットアップを見ることができます: OndrejK_0-1784795174339.png Design Studioでは、RTDを7.0.1にアップデートした後の次の設定があります: OndrejK_1-1784795478141.png これは正しいですか?また、ここに3つのDMAマルチプレクサソースの選択肢があるとはどういう意味ですか? Re: S32K348-GPIO EIRQ to DMA request こんにちは、@ OndrejK それは良かったですね。 この設定ツールは、初心者開発者にとっては混乱を招く可能性があります。 S32K348の場合、DMAMUX_3は存在せず、DMAMUX_0とDMAMUX_1のみが存在します。 •S32K310、S32K311、S32K312では、DMAMUX_0チャネル0–5およびDMAMUX_1チャネル0–5はそれぞれeDMA転送制御ディスクリプタ(TCD)0–5およびeDMAトランスファー制御ディスクリプタ(TCD)6–11にマッピングされます。したがって、DMAMUX_0 チャネル6〜15およびDMAMUX_1 チャネル6〜15のプログラミングは期待されていません。しかし、プログラムされた場合、アクセスはチャネル8から15に対してエラー応答、またはチャネル6から7に対してエラー応答なしのいずれかを引き起こします。 •残りのS32K3xxデバイスについては、DMAMUX_0チャネル0–15およびDMAMUX_1チャネル0–15がそれぞれeDMA転送制御ディスクリプタ(TCD)0–15およびeDMAトランスファーコントロールディスクリプタ(TCD)16–31にマッピングされています。 上記はデータシートからの抜粋であり、理解しやすい内容です。 「DMAハードウェアチャネル」はTCD番号に対応します。 DMA_CHANNEL_0~DMA_CHANNEL_15を選択した場合、デフォルトではDMAMUX_0が使用されます。 16~31を選択した場合、デフォルトでDMAMUX_1が使用されます。 例えば、このトピックではPTD6はDMAMUX_1のSource 7に対応し、「DMAハードウェアチャネル」はDMA_CHANNEL_16からDMA_CHANNEL_31までの任意の値に設定できます。 別の例を挙げましょう。もしEIRQ 7をDMAをトリガーすると、「DMAハードウェアチャネル」はDMA_CHANNEL_0からDMA_CHANNEL_15どの値にも設定できます。 Re: S32K348-GPIO EIRQ to DMA request こんにちは、SenLentさん、 DMAチャネルを選ぶことについて、関連するグループから自由に選べるというイメージDMA_MUX その間に他のDMA_MUX<-> <>TCDの組み合わせも試し、自分の側では次の1つだけを操作しました IP_DMAMUX_1->CHCFG[3]およびTCD16。 次に他のものも試してみます。 IP_DMAMUX_1->CHCFG[4]とTCD17。 IP_DMAMUX_1->CHCFG[0]とTCD16。 そして、なぜ正確には IP_DMAMUX_1->CHCFG[3] と TCD16 だけなのか教えてください。働く ? IP_DMAMUX_1->CHCFG[xx]とTCDyyの関係はどうなっているのでしょうか? Re: S32K348-GPIO EIRQ to DMA request こんにちは、@ OndrejK 正しい順番は以下のとおりです。 IP_DMAMUX_0>CHCFG[0]とTCD0。 IP_DMAMUX_0->CHCFG[1]とTCD1。 IP_DMAMUX_0->CHCFG[2]とTCD2。 IP_DMAMUX_0->CHCFG[3]とTCD3。 IP_DMAMUX_0->CHCFG[4]とTCD4。 IP_DMAMUX_0->CHCFG[5]とTCD5。 IP_DMAMUX_0->CHCFG[6]とTCD6。 IP_DMAMUX_0->CHCFG[7]とTCD7。 IP_DMAMUX_0->CHCFG[8]とTCD8。 IP_DMAMUX_0->CHCFG[9]とTCD9。 IP_DMAMUX_0->CHCFG[10]とTCD10。 IP_DMAMUX_0->CHCFG[11]とTCD11。 IP_DMAMUX_0->CHCFG[12]とTCD12。 IP_DMAMUX_0->CHCFG[13]とTCD13。 IP_DMAMUX_0->CHCFG[14]とTCD14。 IP_DMAMUX_0->CHCFG[15]とTCD15。 IP_DMAMUX_1->CHCFG[0]とTCD16。 IP_DMAMUX_1->CHCFG[1]とTCD17。 IP_DMAMUX_1->CHCFG[2]とTCD18。 IP_DMAMUX_1->CHCFG[3]とTCD19。 IP_DMAMUX_1->CHCFG[4]とTCD20。 IP_DMAMUX_1->CHCFG[5]とTCD21。 IP_DMAMUX_1->CHCFG[6]とTCD22。 IP_DMAMUX_1->CHCFG[7]とTCD23。 IP_DMAMUX_1->CHCFG[8]とTCD24。 IP_DMAMUX_1->CHCFG[9]とTCD25。 IP_DMAMUX_1->CHCFG[10]とTCD26。 IP_DMAMUX_1->CHCFG[11]とTCD27。 IP_DMAMUX_1->CHCFG[12]とTCD28。 IP_DMAMUX_1->CHCFG[13]とTCD29。 IP_DMAMUX_1->CHCFG[14]とTCD30。 IP_DMAMUX_1->CHCFG[15]とTCD31。 Re: S32K348-GPIO EIRQ to DMA request こんにちは、SenLentさん。 最新のS32 DSプロジェクトでテストを行い、DMA_MUXの設定をさらに追加しました。 私の設定画面のスクリーンショットはこちらです。 OndrejK_0-1785138171795.png そして、ビルドコードをボードにダウンロードした後の結果がこちらです。 OndrejK_2-1785138306423.png ご覧の通り、DMA_MUXとTCDの割り当て順番は守られていません。 同じバグはRTDソフトウェアでも起きているのでしょうか? Re: S32K348-GPIO EIRQ to DMA request こちらが私のプロジェクトで、先に添付した最新のものを調整したばかりです DMA_MUX_0でDMA_Channel_0とDMA_Channel_1の2チャネルを作成しました。 これらのチャネルにはDMA_MUX_0->CHCFG[3]およびDMA-MUX_0-CHCFG[2]が割り当てられています。 DMA_MUX_1で見られるような「混合」の順序です Re: S32K348-GPIO EIRQ to DMA request こんにちは、@ OndrejK 問題が何なのか分かりません。もっと分かりやすく説明してもらえますか?またはテストプロジェクト全体を教えていただけますか?そうすれば、どこに疑問があるのか教えてください。 Re: S32K348-GPIO EIRQ to DMA request こんにちは、@ OndrejK これは、使用しているデバッガー、あるいはデバッガーのバージョンに関連している可能性が高いことは明らかです。 Re: S32K348-GPIO EIRQ to DMA request こんにちは、@ OndrejK これはあなたが提供してくれたデモです。私は何も変更を加えていません。 これが私のテスト結果です。 Senlent_0-1785142055872.png Re: S32K348-GPIO EIRQ to DMA request こんにちは、Senlentさん。 その間、私は別の同僚とこの同じプロジェクトをテストしました。同僚はS32DSバージョン3.6.3を使用しています。そしてOzoneデバッガーも使用しましたが、結果はあなたと同じです。 あなたの言う通りみたいですね。でも、私の側で何が起こっているのか全く分かりません。 😞 Re: S32K348-GPIO EIRQ to DMA request こんにちは、SenLentさん。 ついに、ここでの「問題」がどこにあるのか分かりました。 問題は、OzoneとLauterbachが単にDMA_MUX->CHCFGの表示方法が異なることです。最後のコツは、これらのCHCFGレジスタがMCU側(DMA_MUX_1のベースアドレスは0x40284000)にこの順番でマッピングされていることです。 0x40284000 ->CHCFG[3] 0x40284001  ->CHCFG[2] 0x40284002 ->CHCFG[1] 0x40284003 ->CHCFG[0] 0x40284004 ->CHCFG[7] 0x40284005 ->CHCFG[6] 0x40284006 ->CHCFG[5] 0x40284007 ->CHCFG[4] 0x40284008 ->CHCFG[11] .... 下のスクリーンショットをご覧ください OndrejK_0-1785316902701.png そしてこの瞬間から私の結果は意味を持ち、あなたのアドバイスと一致しました 🙂 サポートありがとうございます そして、この問題はCANで解決できるのでしょう Re: S32K348-GPIO EIRQ to DMA request こんにちは、@ OndrejK よろしい。このトピックを閉じるには「解決策として受け入れる」をクリックしてください。
查看全文
アプレット こんにちは、お願いします。どなたか助けてくれませんか? 1.SE051PでカスタムJava Cardアプレットをビルド・ロードするための実際の開発経路(どのSDK、ツール、Java Card/GlobalPlatformバージョンか)はどうなりますか?カスタムアプレッションは工場で(NXPやパートナーによって事前インストール)行われるのか、それともGlobalPlatformのセキュアチャネルを通じて現場で発行後に行うことができるのか、またどのようなキー管理要件が適用されるのか? 2. SE051P部品を入手し、カスタムアプレットを開発・提供する機能を利用するには、ライセンス、NDA、パートナーシップの要件、または最低注文数量はありますか? B. ペイメントとカスタムロジックの共存(1つと2つのセキュア要素) 3. 単一のJCOP Pay(ペイメント)プラットフォームが、EMVCo認証の決済アプレットと独立したアプリケーションロジックを持つ別のカスタムJavaカードアプレットを同時にホストできますか?それともEMVCo認証ではチップは決済アプレットのみを動作させる必要があり、つまりカスタムロジックには別のセキュア要素が必要になるのでしょうか? 4. 単一のチップ上で共存が可能な場合、カスタムアプレットをロードすると支払いアプレットのEMVCo認証に影響または無効化されますか? C. カスタムアプレットで利用可能な単調カウンタと暗号化機能 (SE051P) 5. ネイティブの単調カウンタセキュアオブジェクトは、Java Card API経由でカスタムアプレットからアクセスできるのか、それとも事前インストールされたIoTアプレットインターフェースからのみアクセスできるのか? 6. SE051P上のカスタムアプレットで使用できる署名アルゴリズムとECC曲線はどれですか(例:ECDSA P-256/P-384、Ed25519)?チップ上に保存された値の内部署名(POLICY_OBJ_INTERNAL_SIGNメカニズムと同様)は、カスタムアプレットからも利用できますか? D. コイン型電池(CR2032)デバイス用電源 7. ECDSA P-256署名処理1回あたりの標準的な所要時間(ミリ秒単位)はどれくらいですか?また、SE051Pのアクティブな暗号化処理を行っていないときのアイドル/スタンバイ電流はどれくらいですか?(したがって、1動作あたりのエネルギーと待機レインを推定できます。) 8. CR2032コイン型電池のような高インピーダンス電源で動作する部品の場合、NXPは暗号化動作中の16.5mAのピーク電流に対応するために、特定のデカップリングコンデンサまたはバッファを推奨していますか? 9. SE051Pにおいて、非接触インターフェースはRF電源(リーダーフィールドからエネルギーを引き出す)で動作し、カスタムアプレット操作が可能ですか?それともカスタムオンチップロジックは外部電源(例:バッテリー)が必要ですか?RF駆動の動作が可能であれば、フィールドパワーのみの場合、ECDSA署名、署名検証、単調カウンターインクリメント、セキュアオブジェクト更新、その他の不揮発性メモリ書き込みなどの操作に制約はありますか? 仮想テスト Re: Applet こんにちは、 @aaschi さん。 ご連絡いただきありがとうございます!私の意見は以下の通りです。 1. SE051P上でカスタムJava Cardアプレットをビルド・ロードする実際の開発経路(どのSDK、ツール、Java Card / GlobalPlatformバージョンか)は?カスタムアプレッションは工場で(NXPやパートナーによって事前インストール)行われるのか、それともGlobalPlatformのセキュアチャネルを通じて現場で発行後に行うことができるのか、またどのようなキーマネジメント要件が適用されるのか?これらのトピックに関するドキュメントを提供していますので、セキュアファイルチャネルからリクエストしてください。詳細については、以下をご参照ください。 Kan_Li_0-1784275947082.png 2. SE051P部品を入手し、カスタムアプレットを開発・提供する機能を利用するには、ライセンス、NDA、パートナーシップの要件、または最低注文数量はありますか?// はい、NDAとMOQが必要です。詳細については、お近くのNXP担当者にお問い合わせください。 B. ペイメントとカスタムロジックの共存(1つと2つのセキュア要素) 3. 単一のJCOP Pay(ペイメント)プラットフォームが、EMVCo認証の決済アプレットと独立したアプリケーションロジックを持つ別のカスタムJavaカードアプレットを同時にホストできますか?それともEMVCo認証はチップが決済アプレットのみを動かすことを要求しているのでしょうか?つまり、カスタムロジックには別のセキュア要素が必要になるのでしょうか?いいえ、2つの安全な要素を使う必要があります。1つは認証済みペイメントSE、もう1つはSE051P/カスタムSEで、専用ロジック用です。 4. 単一のチップ上で共存が可能な場合、カスタムアプレットの読み込みは支払いアプレットのEMVCo認証に影響または無効化しますか?いいえ、それは不可能です。 C. カスタムアプレットで利用可能なモノトニックカウンターと暗号(SE051P)//SE05x IoTアプレットのドキュメントはモノトニックカウンターセキュアオブジェクトをサポートしているため、ハードウェアの観点からはSE051Pでもサポートしているはずですが、カスタムアプレットの実装によります。 5. ネイティブの単調カウンタセキュアオブジェクトは、Java Card API経由でカスタムアプレットからアクセスできるのか、それとも事前インストールされたIoTアプレットインターフェースからのみアクセスできるのか?SE051PにはSE05xのIoTアプレットをインストールできず、自分でカスタムアプレットを開発する必要があります。 6. SE051P上のカスタムアプレットで使用できる署名アルゴリズムとECC曲線はどれですか(例:ECDSA P-256/P-384、Ed25519)?チップ上に保存された値の内部署名(POLICY_OBJ_INTERNAL_SIGNメカニズムと同様)は、カスタムアプレットからも利用できますか? SE05xのIoTアプレットは幅広いアルゴリズムと曲線をサポートしているため、SE051Pも対応可能ですが、カスタムアプレットの実装によります D. コイン型電池(CR2032)デバイス用電源 7. ECDSA P-256署名処理1回あたりの標準的な所要時間(ミリ秒単位)はどれくらいですか?また、SE051Pのアクティブな暗号化処理を行っていないときのアイドル/スタンバイ電流はどれくらいですか?(したがって、1動作あたりのエネルギーと待機レインを推定できます。)ECDSAP-256検証は55ミリ秒未満であることが文書化されていますが、署名タイミングは確認できませんでした。アクティブ非対称暗号電流は最大16.5mAです。この情報はSE05x IoTアプレットからのものであり、カスタムアプレットの場合は、独自の実装によって異なります。 8. CR2032コイン型電池などの高インピーダンス電源で駆動する部品の場合、NXPは暗号化動作中の16.5mAのピーク電流を処理するために、特定のデカップリングコンデンサまたはバッファを推奨していますか?//いいえ特定のCR2032バッファコンデンサ値が見つかりました。設計は約16.5 mAのピークに加え、動作時間とセルのESRを合わせます。 9. SE051Pにおいて、非接触インターフェースはRF電源(リーダーフィールドからエネルギーを引き出す)で動作し、カスタムアプレット操作が可能ですか?それともカスタムオンチップロジックは外部電源(例:バッテリー)が必要ですか?RF駆動の動作が可能であれば、フィールドパワーのみの場合、ECDSA署名、署名検証、単調カウンターインクリメント、セキュアオブジェクト更新、その他の不揮発性メモリ書き込みなどの操作に制約はありますか?//RF駆動の操作SE051の動作はサポートされていますが、カスタムアプレットの暗号/NVMアップデートのRFのみ対応は確認・テストが必要です。 お役に立てば幸いです。 すてきな一日を、 カン ------------------------------------------------------------------------------- 注記: この投稿があなたの質問への回答になっている場合は、「正解としてマーク」ボタンをクリックしてください。ありがとうございます! - 前回の投稿から7週間Threadをフォローしており、その後の返信は無視しています もし後で関連する質問があれば、新しいThreadを開き、閉じたThreadを参照してください。 ------------------------------------------------------------------------------- Re: Applet こんにちは、カンさん。 詳細なご回答ありがとうございました。大変参考になりました。この投稿を正しいものとしてマークします。 質問1のフォローアップとして、あなたが言及したドキュメント(SE051P用のカスタムJava Cardアプレット開発パス — SDK、ツール、Java Card/GlobalPlatformバージョン、アプレットのプロビジョニング)をセキュアファイルチャネル経由でリクエストしたいと思います。 正確な手順を教えていただけますか?具体的には: 1.セキュアファイルチャネルにはどうアクセスすればいいのでしょうか?NXPのサポートポータルでこのコミュニティアカウントにリンクしたプライベートサポートCASEを開くべきでしょうか、それとも別の方法がありますか? 2. NDAが成立する前に利用可能な書類はどれで、質問2で述べたNDAや現地代表の経路が必要なものはどれですか? 現段階の目標は、プロトタイプフェーズを計画するために開発経路のドキュメントを見直すことです。その後、現地代表とのNDA/MOQの協議が行われます。 改めてありがとうございました。 アースチ
查看全文
[S32K3] [RTD 7.0.1] Three Issues in the BCTU Module I have found three problems with the BCTU module in the RTD code version S32K3_RTD_7_0_1_D2602_ASR_REL_4_9_REV_0000_20260206. The detailed issues are listed below:   Issue 1: In file Adc_TS_T40D34M70I1R0/src/Bctu_Ip.c, line 1558, the current code uses bitwise OR assignment: BctuBasePtr->FIFOERR |= FifoWatermarkMask; It should be modified to direct assignment: BctuBasePtr->FIFOERR = FifoWatermarkMask;   Issue 2: In file Adc_TS_T40D34M70I1R0/src/Bctu_Ip.c, lines 567 and 568, the existing code contains incorrect bit shift operations. The original code is shown below: ClrMask |= ((u32Mask & (BCTU_IP_STATUS_FIFO1_OVR_ERR << (Index * 2u))) != 0U) ? (BCTU_FIFOERR_OVR_ERR_FIFO1_MASK << Index) : 0U; ClrMask |= ((u32Mask & (BCTU_IP_STATUS_FIFO1_UNDR_ERR << (Index * 2u))) != 0U) ? (BCTU_FIFOERR_UNDR_ERR_FIFO1_MASK << Index) : 0U; These two lines should be revised to the correct shift logic as follows: ClrMask |= ((u32Mask & (BCTU_IP_STATUS_FIFO1_OVR_ERR << Index)) != 0U) ? (BCTU_FIFOERR_OVR_ERR_FIFO1_MASK << (Index * 2u)) : 0U; ClrMask |= ((u32Mask & (BCTU_IP_STATUS_FIFO1_UNDR_ERR << Index)) != 0U) ? (BCTU_FIFOERR_UNDR_ERR_FIFO1_MASK << (Index * 2u)) : 0U;   Issue 3: There is a type inconsistency alignment issue between the MCAL/SDK code generation tools and the static source code of the BCTU module. In the MCAL generated code (Adc_TS_T40D34M70I1R0/generate_PB/Adc_RegOperations.m, line 2397), the arrays defined in both header and C files uniformly adopt the uint32 type. In the SDK generated code, the type definition is inconsistent between header and C files: the array type in eclipse/mcu_data/components/PlatformSDK_S32K3/Bctu_Ip/Bctu_Ip_PBcfg.h (line 249) switches between uint16 and uint32 depending on whether the BctuFifoDmaRawData option is enabled, while the corresponding array in eclipse/mcu_data/components/PlatformSDK_S32K3/Bctu_Ip/Bctu_Ip_PBcfg.c (line 317) is fixed as uint32 type. In the static code (Adc_TS_T40D34M70I1R0/src/Bctu_Ip.c, line 1629), the transmission length (2-byte or 4-byte) is determined dynamically based on the BctuFifoDmaRawData configuration. All the following abnormal problems occur when theBctuFifoDmaRawData option is unchecked: 1. For SDK projects: The mismatched array types between header and C files cause direct compilation failures. 2. For MCAL projects: Although compilation can succeed, the fixed uint32 array definition leads to half of the memory space being wasted. Besides, each uint32 data unit contains two ADC results, requiring manual splitting of high and low uint16 values during data parsing. The above three bugs exist in the official version S32K3_RTD_7_0_1_D2602_ASR_REL_4_9_REV_0000_20260206. We hope NXP software engineers can fix these BCTU module defects in the next RTD release. Re: [S32K3] [RTD 7.0.1] Three Issues in the BCTU Module Hi@chenwilsoft Your question has been escalated to the internal forum and is awaiting confirmation from the design team. Re: [S32K3] [RTD 7.0.1] Three Issues in the BCTU Module Hi@chenwilsoft Thank you for your feedback. The software team and I have confirmed these issues, they are indeed bugs. We have escalated these issues internally and will fix them in a future update.
查看全文