Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
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を扱うには組み込みソフトウェアのスキルが必要だと勧める人を見たからです。 重複した質問でしたら、本当に申し訳ありません!それに関して適切な答えが見つからず、今は少し優先順位をつけなければならない状況にある。どんなアドバイスでもいただけると大変ありがたいです!
查看全文
请求为 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)
查看全文
LS1046A 10GB SFP+ 配置,内核版本 6.12 你好, 我有一块定制的电路板,上面装有 LS1046A,我正在尝试使用 fm1-mac9 和焊接的 SFP+ 10GB 模块。 我的 SERDES 1 中的 RCW 为 0x1040: 因此,从 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 中运行此类连接的有效示例?
查看全文
DSP实现方式:微控制器或FPGA 大家好,我知道这个话题在这个子版块已经被反复讨论过了,但我只是想从这个领域的专家那里得到一些特定领域的建议。我想知道的是,如果我对通信领域的 DSP 应用感兴趣,并且想从事相关的实现工作,那么花时间学习微控制器编程是否值得?我是一名电子与计算机工程专业的本科生,所以我想知道我是否应该直接专注于FPGA,说实话,我对FPGA更感兴趣。我很困惑,因为我看到有人建议说,要使用现在越来越多地采用的片上系统 (SoC),确实需要具备嵌入式软件编程技能。 如果这个问题很重复,我真的非常抱歉!我一直没能找到关于此事的合适答案,现在我可能需要稍微调整一下优先事项。非常感谢您的建议!
查看全文
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()) 添付ファイルをダウンロードする権限がないようです。 もう一度送っていただけますか?
查看全文
S32K312温度传感器读数不准确 您好,NXP团队, 我正在研究S32K312内部温度传感器,需要帮助解决温度读数不正确的问题。 我已查阅过类似的帖子并确认了基本配置,但ADC结果并未反映环境温度。 我目前已经完成了以下工作: (1)已启用 TEMPSENSE 时钟 -附截图 (2) ADC配置 ADC实例:ADC0 通道:温度传感器(TEMPSENSE) 触发模式:软件触发 (3)测量程序 定期启动ADC转换 等待转换完成标志 读取ADC数据寄存器 (4)结果 然而,转换后的温度值与实际环境温度不符。 非常感谢您能提供关于 S32K312 温度传感器的任何指导、说明或参考代码。   感谢您的支持!   顺祝商祺! Re: S32K312 temperature sensor inaccurate reading 您好@SunLucas 温度通道需要相对较长的采样时间,最小采样时间为 1.2 微秒。 因此,请检查采样时间设置。 Re: S32K312 temperature sensor inaccurate reading 我进一步将ADC电压参考值切换到0x50 ,但问题仍然存在: 温度读数与环境温度( 28°C )有明显偏差。 通过 API 获取的温度数据表现出严重的波动,如附图所示。 Re: S32K312 temperature sensor inaccurate reading 您好@SunLucas 然后,您应该将TempSense 电压供应设置为:5V * 16 = 0x50 Re: S32K312 temperature sensor inaccurate reading TempSense电压供应配置为0x58,硬件VDD_HV_A供电电压为5V Re: S32K312 temperature sensor inaccurate reading 您好@SunLucas 请检查“TempSense 电压供应”,并告诉我您当前硬件的 VDD_HV_A 供电电压是多少。
查看全文
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
查看全文
在 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卡!
查看全文
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!
查看全文
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
查看全文
S32K312温度センサの不正確な読み取り NXPチームの皆様、こんにちは。 S32K312内部温度センサーの作業をしていて、誤った温度表示の助けが必要です。 似たようなスレッドを見て基本的な構成を確認しましたが、ADCの結果は周囲温度を反映していません。 これまでにやったこと: (1) TEMPSENSEクロック有効 -スクリーンショット添付 (2) ADC構成 ADCインスタンス: ADC0 チャネル:温度センサ(TEMPSENSE) トリガーモード:ソフトウェアトリガー (3)測定手順 定期的にADC変換を開始する 変換完了フラグを待機します ADCデータレジスタを読み取る (4)結果 しかし、変換された温度値は実際の周囲温度と一致しません。 S32K312温度センサに関するご説明や説明、参照コードがあれば大変ありがたいです。   ごサポートありがとうございます!   よろしくお願いいたします。 Re: S32K312 temperature sensor inaccurate reading こんにちは、@ SunLucas 温度チャネルは比較的長いサンプリング時間を必要とし、最低でも1.2マイクロ秒です。 したがって、サンプリング時間の設定を確認してください。 Re: S32K312 temperature sensor inaccurate reading さらにADC電圧の基準を 0x50に切り替えましたが、問題は解決しません。 温度測定値は周囲温度( 28℃ )から大きく乖離している。 API経由で取得した温度データは、添付のグラフに示すように、大きな変動を示しています。 Re: S32K312 temperature sensor inaccurate reading こんにちは、@ SunLucas 次に、 TempSenseの電圧供給を5V * 16 = 0x50に設定してください。 Re: S32K312 temperature sensor inaccurate reading TempSenseの電源電圧は0x58に設定されており、ハードウェアのVDD_HV_A電源電圧は5Vです。 Re: S32K312 temperature sensor inaccurate reading こんにちは、@ SunLucas 「TempSense電圧供給」を確認し、現在お使いのハードウェアのVDD_HV_A供給電圧を教えてください。
查看全文
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()) 我似乎没有权限下载该附件。 请您再发送一次好吗?
查看全文
カーネル6.12におけるLS1046A 10GB SFP+の設定 こんにちは、 私はLS1046Aを搭載したカスタムボードを持っていて、はんだ付けされたSFP+ 10GBモジュールでfm1-mac9を使用しようとしています。 SERDES 1 の私の RCW は 0x1040 です。 つまり、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でこのタイプの接続を実行する適切な例はありますか?
查看全文
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 您的问题已提交至内部论坛,正在等待设计团队的确认。
查看全文
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 から以下の情報を取得しました。 そこで最初の問題です:PTD6(EIRQ14)に専用のソース>リクエストはどれですか? RMマニュアルの表44とはどのように関連しているのでしょうか? 以下は、私が現在取り組んでいるコードの断片です。 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に適用されるということですか?" はい、これらの情報はデータシートに記載されています。参考のためにコピーしておきます。 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
查看全文
アプレット こんにちは、お願いします。どなたか助けてくれませんか? 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のセキュアチャネルを通じて現場で発行後に行うことができるのか、またどのようなキーマネジメント要件が適用されるのか?これらのトピックに関するドキュメントを提供していますので、セキュアファイルチャネルからリクエストしてください。詳細については、以下をご参照ください。 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.
查看全文
S32K348-GPIO EIRQ to DMA request Dear NXP Support Team, I.m trying now approach, where GPIO PTD6 has setting as EIRQ14 ,rising edge detection and I want to map this pin signal to the DMA channel, where I try get current value from PIT_1 Timer[0]. This is setup as FreeRunning. Seems that SIUL2 is set correctly for PTDA and I can see toggling on this pin when signal (1Hz) from signal generator is connect on related MCU pin. But DMA not working for me My guess here is that I have problem with finding proper chain from PTD6 ->DMAMUX-> DMA channel 4. and find where exactly I can find these information. From S32K3xx_DMAMUX_map.xlsx I got this: so here is my first issue: Which source->request  is dedicated for PTD6(EIRQ14) ? And how is related Table 44 from RM manual?  Here is fragments of my code which I working on now: Setup PTD6 void Setup_PTD6_EIRQ14_for_DMA(void) {     /* 1. Configuration of physical pin PTD6 via MSCR register */     // PTD6 corresponds to index MSCR[102] (as seen on your screenshot)     IP_SIUL2->MSCR[102] = 0;              // Clear register     IP_SIUL2->MSCR[102] |= (1 << 19);     // IBE = 1 (Input Buffer Enable - configures pin as input)     IP_SIUL2->IMCR[542-(512)] = 3u;     // Optional: if the signal floats, you can enable Pull-Up (PUE=1, PUS=1) or Pull-Down (PUE=1, PUS=0)     /* 2. Activation of edge detection on line EIRQ[14] */     // We want to capture the timestamp on every rising edge     IP_SIUL2->IREER0 |= (1 << 14);        // IREER0[EIRE14] = 1 (Enable Rising Edge)     IP_SIUL2->IFEER0 &= ~(1 << 14);       // IFEER0[EIRE14] = 0 (Disable Falling Edge)     /* 3. Request routing: Change from Interrupt to DMA */     // This step ensures that the edge does not wake up the CPU (NVIC), but triggers the DMA line instead     IP_SIUL2->DIRSR0 |= (1 << 14);        // DIRSR0[DIRS14] = 1 (Select DMA Request instead of Interrupt)     /* 4. Final enable of DMA request generation for EIRQ[14] */     IP_SIUL2->DIRER0 |= (1 << 14);        // DIRER0[EIRE14] = 1 (Activate DMA request line) }   and setup DMA channel: void Setup_eDMA_Channel4_Capture_PIT1(void) {     /* 1. DMAMUX Initialization for eDMA Channel 4 */     // Map EIRQ14 (source 14) to eDMA channel 4     IP_DMAMUX_1->CHCFG[4] = DMAMUX_CHCFG_ENBL_MASK | DMAMUX_CHCFG_SOURCE(7u);  // EIRQ14 is source 7 for DMAMUX_1     //IP_DMAMUX_0->CHCFG[4] = 0U;     /* 2. TCD Configuration for Channel 4 pointing to PIT_1 (Exact S32K3 bare-metal syntax) */     // Source: Current value of PIT_1 Timer 0     IP_TCD->TCD4_SADDR = (uint32_t)&(IP_PIT_1->TIMER[0].CVAL);     IP_TCD->TCD4_SOFF  = 0;       // Source does not increment     IP_TCD->TCD4_ATTR  = 0x0202;  // 32-bit source, 32-bit destination     // Minor Loop: Number of bytes transferred per single trigger     // In S32K3 this corresponds to the NBYTES_MLOFFNO register (no minor loop linking)     IP_TCD->NBYTES4.TCD4_NBYTES_MLOFFNO = 4;  // Transfer 4 bytes (32-bit) per trigger     // Destination: Our array in RAM     IP_TCD->TCD4_DADDR = (uint32_t)dma_timestamps;     IP_TCD->TCD4_DOFF  = 4;       // Shift by 4 bytes in RAM after each edge     // Circular buffer: wrap around to the beginning after filling the entire array     IP_TCD->TCD4_DLAST_SGA = -(BUFFER_SIZE * 4);     // Major Loop Counter: Total number of iterations in the loop     //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 channel activation for hardware triggers via official macro */     //IP_TCD->CH4_CSR |= DMA_TCD_CH4_CSR_ERQ_MASK;     /* 3. eDMA channel activation for hardware triggers (With asynchronous mode enabled) */     // Bit 0 (ERQ) = 1  -> Enables hardware triggers     // Bit 2 (EARQ) = 1 -> Enables asynchronous requests from external pins (SIUL2 EIRQ)     IP_TCD->CH4_CSR |= 3u;  // ERQ=1, EARQ=1 }   Here I guess is key line: IP_DMAMUX_1->CHCFG[4] = DMAMUX_CHCFG_ENBL_MASK | DMAMUX_CHCFG_SOURCE(7u);  // EIRQ14 is source 7 for DMAMUX_1 where I'm little bit confused which IP_DMAMUX and which DMAMUX_CHCFG_SOURCE I need to use and where is proper information about this. Best regards Ondrej    Re: S32K348-GPIO EIRQ to DMA request Hi@OndrejK "Is this meaning, that MCU have 32 TCD channels and TCD 0 to 15 is valid for DMAMUX_0 and TCD 15 to31 is for DMAMUX_1 ?" yes, you can find these info in the datasheet, I copy it for your reference. Re: S32K348-GPIO EIRQ to DMA request Hi Senlent, thank you for your answer. please, can you pointed me from where popup your meaning about TCD mapping?  Is this meaning, that MCU have 32 TCD channels and TCD 0 to 15 is valid for DMAMUX_0 and TCD 15 to31 is  for DMAMUX_1 ? So I'm still little bit confused about information regarding DMAMUX and eDMA.  Best regards  Ondrej Re: S32K348-GPIO EIRQ to DMA request Hi@OndrejK Your understanding is correct: 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 However, the TDC settings are incorrect. My understanding is that they should be as follows: IP_DMAMUX_1->CHCFG[0] ->TCD 16 IP_DMAMUX_1->CHCFG[4] -> TCD 20 instead of TCD4
查看全文