Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
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」コマンドを使用してください。
查看全文
i.MX95でCPU/GPU/VPUを無効にして消費電力を減らす方法 こんにちは、NXPさん。 当社は、i.MX95ベースのシステム全体の消費電力を削減する方法を模索しています。 以下の質問について、教えていただけますか? 不要なときに個々のCPUコアを完全にシャットダウンすることは可能ですか? アプリケーションがGPUやVPUを使わない場合、完全に電源を切ることは可能でしょうか? CPU/GPU/VPUが不要なら、起動後にデフォルトで無効にしてさらに消費電力を減らすことは可能でしょうか?(デバイスツリーによる?) 最低限の電力消費を実現するための推奨ソフトウェア構成や参考資料はありますか? 私たちのBSPはYocto 5.2 / Linux 6.12.xをベースにしています。 ありがとうございます。 よろしくお願いいたします。 ショーン Linux
查看全文
FS26 低压差线性稳压器(LDO) 关闭问题 Hello 我使用的是 FS26 和 S32K358。 我使用 FS26 的 VLDO2 作为 MCU 的电源,使用 FS26 的 VLDO1 作为 CAN 收发器的电源。 当 MCU 处于 CAN 通信状态时,FS26 的 VLDO 会关闭,从而切断 MCU 的电源。 (这种情况随机发生,大约每 1 至 8 小时发生一次。) 只有当 FS26 的电源被切断再恢复后,VLDO 才能恢复正常工作。 这个问题出现在所有电路板上,而不仅仅是单个电路板上,而且当 CAN 通信未进行时不会出现此问题。 问题发生时的状态如下: Vpre 6V O VDIG 1.6VO VBOS 5V O VLDO2 X VLDO1 X VCORE X DFS已通过OTP禁用。 我想了解 FS26 目前的状况以及导致这种情况发生的原因。 Re: FS26 LDO Off Issue 你好kjy106906 再会! 监视程序是否已启用? 以下各项的值是多少: FS_STATES FS_GRL_FLAGS FS_OVUV_REG_STATUS M_REG_FLG 故障发生后立即出现 M_STATUS 吗? 你检查过FS26是否显示任何UV或OV标志吗? 另外,能否分享一下您的 M_STATUS? 希望这些信息对您有所帮助,如果您还需要其他帮助,请告诉我。 祝你今天过得愉快,一切顺利。 Re: FS26 LDO Off Issue @RafaR 感谢您的回复。 遗憾的是,MCU 已从 SBC 获得电源,但由于 VLDO 已关闭,因此无法进行通信。 必须切断并重新接通电路板电源,MCU才能正常工作。 监视窗口是无限的。
查看全文
MCXW72のデバッグ認証応答 MCXW72のデバッグポートのロックを解除しようとしています。MCUXpressoのSecure Provisioning Toolでロック解除は正常に動作しますが、Debug Credential(DC)、DCK秘密鍵、デバイスから受け取ったDACに基づいて自分のアプリケーションを使ってポートのロック解除を試みています。 この分野のドキュメントは非常に不明瞭で(場合によっては誤りもあります)。 私の理解では、DARは以下の要素で構成されています。 DAR = DC + AB + UUID (DACより) + 署名 (リファレンス・マニュアルの図50ではUUIDとABフィールドの順序が誤っています。) OpenSSLを使って署名を計算したいのですが、どのデータを署名すべきか正確には判断できません。 a) DC + CV(DACから) b) DC + AB + CV (DACから) c) DC + AB + UUID (DACから) + CV (DACから) それとも全く別の何か? ドキュメントには署名がDARをチャレンジベクトル(CV)に結合すると記載されていますが、ハッシュ化と署名すべき正確なバイトシーケンスは明確に指定されていません。DAR署名を生成するために使われる正確なデータを教えていただけますか? MCXA セキュリティ(EdgeLock | セキュアブート | OTP) Re: Debug authentication Response for MCXW72 こんにちは、 @Surdej Secure Provisioning ToolはSecure Provisioning SDKの上に構築されています。詳細は https://spsdk.readthedocs.io/en/latest/ これはオープンソースなので、そこで答えが見つかります。
查看全文
s32k324 写入 Dflash 问题 我使用 S32DS3.5 + RTD2.0 开发了 S32K324。现在,我根据示例“Fee_Example_S32K344”中的配置和代码编写了 S32K324 的程序,并且编译成功了。但是程序运行时,一进入代码“Fls_Init(NULL_PTR);”就会报错。当我单步执行时,发现它无法跳过函数“Fls_IPW_Init();”。错误导致程序进入此函数“ static inline void DevAssert(volatile boolean x) { 如果(x) { } 否则 { for(;;) {ASM_KEYWORD(BREAKPOINT_INSTR);} } }" 所以我想如果RTD版本不支持S32K324来使用费用函数模型的话?或者能否给我一些其他通过 S32k324 的 eeprom 模式写入 Dflash 的示例? 谢谢。 Re: s32k324 write Dflash problem 由于所有项目工程都是基于 RTD2.0 创建的,因此迁移可能不太方便。如果RTD2.0能够修改和使用费用就最好了。您能帮我审核一下这个程序吗? Re: s32k324 write Dflash problem S32DS 生成的 Fls_IPW_Init() 函数是否会输出错误日志? Re: s32k324 write Dflash problem 嗨@mmyjh_123 , 能否分享一下项目文件,或者至少分享一下 .mex 文件?文件? 另外,你用的还是很老旧的RTD。 我建议升级到 RTD 7.0.1 版本。 谢谢! BR,丹尼尔 Re: s32k324 write Dflash problem 嗨@mmyjh_123 , 你有两个选择。 1. 要么将其更改为 VARIANT-PRE-COMPILE 就按你平时的方式称呼它吧: Fls_Init(NULL_PTR); 2. 或者选择 VARIANT-POST-BUILD 代替 并拨打电话: Fls_Init(&Fls_Config_BOARD_InitPeripherals); 此致, 丹尼尔
查看全文
S32K348-GPIO EIRQ 到 DMA 请求 尊敬的恩智浦技术支持团队: 我现在尝试的方法,将 GPIO PTD6 设置为 EIRQ14,上升沿检测,我想将此引脚信号映射到 DMA 通道,我尝试从 PIT_1 Timer[0] 获取当前值。这是自由奔跑模式。 看起来 SIUL2 已正确设置为 PTDA,当信号发生器发出的信号 (1Hz) 连接到相关的 MCU 引脚时,我可以看到该引脚切换。 但是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[14] 的 DMA 请求生成 */     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. 通道 4 的 TCD 配置指向 PIT_1(完全符合 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 位目标     // 次要循环:每次触发传输的字节数     // 在 S32K3 中,这对应于 NBYTES_MLOFFNO 寄存器(无次要循环链接)     IP_TCD -> NBYTES4 . TCD4_NBYTES_MLOFFNO = 4 ; // 每次触发信号传输 4 字节(32 位)     // 目标位置:内存中的数组     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_0 无效? 对于 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] -> TCD 20 而不是 TCD4 Re: S32K348-GPIO EIRQ to DMA request 嗨 SenLent, 我根据观察结果对代码进行了一些修改。 这是我最新的代码: 主初始化: 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. Aktivácia hodinového deliča pre filtre v SIUL2 (ak už nie je povolený inde)     IP_SIUL2 -> IFCPR = 0U ; // 功能时钟的 Nastavenie deličky filtra (bez dodatočného delenia) // 2. Voliteľne vypnite 过滤器预 daný EIRQ 索引 alebo ho nastavte na minimálny počet cyklov // Pre 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[14] 的 DMA 请求生成 */     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ý 索引 7u     //IP_DMAMUX_1->CHCFG[4] = DMAMUX_CHCFG_ENBL_MASK | DMAMUX_CHCFG_SOURCE(7u);     //按照文档操作,先禁用通道 4,然后配置它,最后启用它。     IP_DMAMUX_1 -> CHCFG [ 0 ] = 0u ; /* 2. 通道 4 的 TCD 配置指向 PIT_1(完全符合 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 位目标     // 次要循环:每次触发传输的字节数     // 在 S32K3 中,这对应于 NBYTES_MLOFFNO 寄存器(无次要循环链接)     IP_TCD -> NBYTES16 . TCD16_NBYTES_MLOFFNO = 4 ; // 每次触发传输 4 字节(32 位)     // 目标位置:内存中的数组     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引脚上的信号时,可以看到标志出现。 接下来,我可以通过 TCD16_CSR START 位手动启动 DMA 传输,TCD 通道上的 CITTER 值会减小,并且 PIT1_TIMER[0] 中的值会被存储到我的 dma_timestamps 数组中。 顺便说一下:这应该在“普通”SRAM部分定义。我之前将其设置为数据缓存段,导致出现 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实例,但没有成功,而且我也不确定我的步骤是否正确。    
查看全文
如何在FreeRTOS中运行S32G3 LLCE CAN驱动程序 大家好, 我正在使用 S32G-VNP-RDB3 开发板,并尝试在该模块中使用 LLCE CAN。我在NXP网站上搜索过,但只在S32DS3.4中找到了S32G2的移植方法。并且没有 S32DS3.5S32G3的移植方法。我的配置是S32DS3.5,RTD 为 4.4.4。对于 EB Tresos Studio 和 LLCE,我应该使用哪个版本才能让 CAN2CAN 代码编译通过?哪里可以找到 S32G-VNP-RDB3 (S32G399A) 的移植方法?以下是我的 S32DS.3.5 版本。安装详情。 金VIP Re: How to let S32G3 LLCE CAN driver run in freertos 你好, @Jimmybai 感谢你的帖子。 请问您介意分享一下您的配置吗? 1. 你们测试中使用的LLCE版本是什么?RTD版本是什么?(因为没有RTD4.4.4版本) 2. 所以你想在 RDB3 上使用 FreeRTOS 实现 CAN2CAN 应用? BR 陈银 Re: How to let S32G3 LLCE CAN driver run in freertos 陈银你好, 实际上,我不知道您说的RTD版本指的是什么,也许您指的是LLCE RTD?我对如何搭建 LLCE 环境知之甚少。我的配置是 S32G399A 台式机,S32G3 RTD 版本为 4.0.0。请问您能否推荐一下适用于 S32G399A 安装和下载位置的 LLCE 和 RTD 版本?我真的需要一份适用于 S32G3 的 LLCE 设置指南。谢谢。
查看全文
Authentication of another bootloader while S32K312 MCU SecureBoot is enabled Hello, I would like to inquire if there is a way to re-authenticate when changing the FBL after activating Secureboot. When changing to a different FBL while Secureboot is enabled, the META Data values ​​generated via the HMAC Key change. As the FBL is changed, the HSE needs to recalculate the META Data using the HMAC Key; however, because the HMAC Key is deleted due to the new FBL, recalculating the META Data becomes impossible. Consequently, a reset occurs due to a verification failure at the FBL, making it impossible to launch the application. Is there a way to re-authenticate the changed FBL using the HMAC Key, thereby allowing both the FBL and the application to run normally?   Re: Authentication of another bootloader while S32K312 MCU SecureBoot is enabled Hi @jeongwoo  That is essentially the purpose of Secure Boot: to prevent execution of software that fails authentication. The key question is whether you still have access to the debug interface, or whether the issue must be recovered in the field without debugger access. In the field, if there is no alternate/recovery image that was designed with such functionality in advance (for example, importing an HMAC key, generating a new authentication tag, accepting a new externally generated authentication tag, or reinstalling/reconfiguring the SMR), then recovery is generally not possible. If you have access to the debug interface, the simplest solution is typically to calculate a new authentication tag externally and program the updated tag into flash using a debugger. This approach requires that the HSE_SMR_CFG_FLAG_INSTALL_AUTH flag was set when the SMR was installed. If HSE_SMR_CFG_FLAG_INSTALL_AUTH was not set, HSE uses the internally stored hash for verification. In that case, updating the authentication tag alone is not sufficient and the SMR must be reinstalled with the new image parameters. Regards, Lukas
查看全文
iMX95 DRAM速度 こんにちは、 現在のiMX95は最大6.4Gbpsまでしかサポートできません。 NXPは最大8.5Gbpsの速度でLPDDR5Xをサポートできるプロセッサをリリースするのでしょうか? ありがとうございます。 Re: iMX95 DRAM speed こんにちは@pengyong_zhangさん モデル名を教えてもらえますか?入手可能な暫定仕様書はどのようなものですか? ありがとうございます。 Re: iMX95 DRAM speed こんにちは、 @simonngさん バージョンIMX95以降のチップはLPDDR5X 8533MT/sをサポートします BR
查看全文
How to let S32G3 LLCE CAN driver run in freertos Hello everyone,      I am working on S32G-VNP-RDB3 board and try to use LLCE CAN  in this module. I search the NXP website, but only find S32G2's porting method in S32DS3.4, and have no S32DS3.5 S32G3's porting method. My setup is S32DS3.5, RTD is 4.4.4. For EB Tresos Studio and LLCE,  which version should I use to let CAN2CAN code compile pass?Where can I find the porting method for S32G-VNP-RDB3(S32G399A)? The following is my S32DS.3.5's install details. GoldVIP Re: How to let S32G3 LLCE CAN driver run in freertos Hello, @Jimmybai  Thanks for your post. Would you mind sharing your setup? 1. What is the LLCE version used in your test? which RTD version used?(since there is not RTD4.4.4) 2. So you want to implement a CAN2CAN application within FreeRTOS on RDB3? BR Chenyin Re: How to let S32G3 LLCE CAN driver run in freertos Hi Chenyin,         Actually, I don't know what your RTD version refer to, maybe you refer to LLCE RTD? I know little about how to setup LLCE environment. My setup is S32G399A bench, and S32G3 RTD is 4.0.0. Can you give me a recommended LLCE and RTD version for S32G399A setup and download position? Really, I need a LLCE setup guide for S32G3. Thanks.
查看全文
MCUのSecureBootが有効S32K312別のブートローダーの認証 こんにちは。セキュアブートを有効にした後、FBLを変更する際に再認証を行う方法があるかどうかお伺いしたいのですが。 Securebootが有効になっている状態で別のFBLに変更すると、HMACキーを介して生成されるMETAデータ値が変更されます。FBLが変更されると、HSEはHMACキーを使用してメタデータを再計算する必要があります。しかし、新しいFBLによってHMACキーが削除されるため、メタデータの再計算が不可能になります。その結果、FBLでの検証失敗によりリセットが発生し、アプリケーションの起動が不可能になります。HMACキーを使って変更されたFBLを再認証し、FBLとアプリケーションの両方が正常に動作できるようにする方法はありますか?   Re: Authentication of another bootloader while S32K312 MCU SecureBoot is enabled こんにちは、 @jeongwoo これがセキュアブートの本質的な目的であり、認証に失敗したソフトウェアの実行を防ぐことです。 重要なのは、まだデバッグインターフェースにアクセスできるか、それともデバッガアクセスなしで現場で問題を回復しなければならないかです。 現場では、事前にそのような機能を備えた代替・復旧イメージ(例:HMAC鍵のインポート、新しい認証タグの生成、外部生成の認証タグの受け入れ、SMRの再インストール・再構成など)がなければ、通常は復旧は不可能です。 デバッグインターフェースにアクセスできる場合、最も簡単な解決策は外部で新しい認証タグを計算し、デバッガを使って更新したタグをフラッシュにプログラムすることです。この方法では、SMRのインストール時にHSE_SMR_CFG_FLAG_INSTALL_AUTHフラグが設定されていることが必要です。 HSE_SMR_CFG_FLAG_INSTALL_AUTHが設定されていない場合、HSEは内部に保存されているハッシュを使用して検証を行います。その場合、認証タグの更新だけでは不十分であり、新しいイメージパラメータでSMRを再インストールする必要があります。 よろしくお願いいたします。 ルーカス
查看全文
S32G274 Wake-up abnormality Hi NXP team, Project background: We have two S32G274 chips placed on the same board, referred to as chip1 and chip2. chip2 serves as a backup for chip1 — that is, when chip1 fails, chip2 takes over its functions. Problem description: Both S32G chips enter sleep state according to the command: the MCU enters Standby, and the PMIC enters Standby. They can be woken up via CAN or via KL15. During one particular test, we found that chip1 woke up normally and operated correctly, but chip2 did not work properly. By measuring the PMIC voltages, we found that the PMIC output 3.3V, 1.8V, 1.1V and 5V, so the PMIC supply voltages were normal. However, there was no output on chip2's serial port, meaning it had not entered the A-core. At the time we suspected it was stuck in the bootloader stage. We then measured the chip temperatures: chip1 was 50°C, while chip2 was 40°C. To determine where chip2 was getting stuck, we recovered chip2 by cutting the main power and powering it back on, and performed the following tests: Halting chip2 with a while(1) loop when loading the A-core — the chip temperature was 45°C. Halting chip2 with a while(1) loop before clock initialization — the chip temperature was 42°C. Keeping chip2 permanently in reset state by continuously shorting the reset pin — the chip temperature was 40°C, which matches the temperature observed during the fault. Problem summary: We suspect that chip2's wake-up function is behaving abnormally, causing chip2 to remain stuck in a reset state. However, the exact root cause is still unclear. Could you please help us analyze the possible causes and advise on how to further debug this issue? Looking forward to your reply. Best regards, Chenyin Re: S32G274 Wake-up abnormality Hi Joey, Thank you for your prompt response. Please find our answers to your questions below: Question 1: The issue where Chip2 cannot be woken up is a very low-probability problem. We have been running for nearly a year and have only encountered this single case, so it is difficult to reproduce. Question 2: Both Chip1 and Chip2 are woken up via CAN messages. The code logic for Chip1 and Chip2 is consistent, with possible differences only in the main logic execution and the failover handling part. Question 3: The Standby entry process is as follows: The M-core notifies the A-core via IPCF. The A-core executes the shutdown procedure. The A-core sends a command to the PMIC to enter Standby. The M-core enters Standby mode. Please let us know if you need any additional information or logs for further analysis. Looking forward to your reply. Best regards Re: S32G274 Wake-up abnormality Hi,Jerry_cao Could you please provide more information? 1. The phenomenon that Chip 2 cannot be awakened only occurred in your work. Can it be reproduced? 2. Are both Chip 1 and Chip 2 awakened together through KL15? 3. What are your Standby and wake-up processes? Are both the M core and the A core involved? Does M core turn off A core first, and then M core enters Standby? BR Joey
查看全文
S32G274 觉醒异常 您好,NXP团队: 项目背景: 我们有两个 S32G274 芯片放置在同一块板上,分别称为芯片 1 和芯片 2。芯片 2 是芯片 1 的备份——也就是说,当芯片 1 发生故障时,芯片 2 将接管其功能。 问题描述: 两个 S32G 芯片均按照指令进入睡眠状态:MCU 进入待机状态,PMIC 进入待机状态。它们可以通过 CAN 或 KL15 唤醒。在一次测试中,我们发现芯片 1 正常唤醒并正常工作,但芯片 2 无法正常工作。 通过测量 PMIC 电压,我们发现 PMIC 输出 3.3V、1.8V、1.1V 和 5V,因此 PMIC 供电电压正常。但是,芯片 2 的串口没有输出,这意味着它还没有进入 A 核心。当时我们怀疑它卡在了引导加载程序阶段。 然后我们测量了芯片温度:芯片 1 为 50°C,而芯片 2 为 40°C。为了确定芯片 2 卡在哪里,我们通过切断主电源并重新接通电源来恢复芯片 2,并进行了以下测试: 停止芯片2 while(1) 加载 A 核时出现循环——芯片温度为 45°C。 停止芯片2 while(1) 时钟初始化前的循环——芯片温度为 42°C。 通过不断短接复位引脚,使芯片 2 始终处于复位状态——芯片温度为 40°C,与故障期间观察到的温度相符。 问题概述: 我们怀疑芯片 2 的唤醒功能运行异常,导致芯片 2 一直处于复位状态。然而,确切的根本原因仍不清楚。 请您协助我们分析可能的原因,并就如何进一步调试此问题提供建议? 期待你的答复。 此致敬礼,陈寅 Re: S32G274 Wake-up abnormality 嗨,乔伊, 感谢您的及时回复。以下是我们针对您问题的解答: 问题 1:Chip2 无法唤醒的问题是概率非常低的问题。我们已经运行了近一年,只遇到过这一个案例,因此很难重现。 问题 2:芯片 1 和芯片 2 都是通过 CAN 消息唤醒的。Chip1 和 Chip2 的代码逻辑是一致的,可能的区别仅在于主要逻辑执行和故障转移处理部分。 问题 3:备用输入流程如下: M 核通过 IPCF 通知 A 核。 A核心执行关机程序。 A 核心向 PMIC 发送命令,使其进入待机状态。 M核心进入待机模式。 如果您需要任何其他信息或日志以供进一步分析,请告知我们。 期待你的答复。 此致 Re: S32G274 Wake-up abnormality 你好,Jerry_cao 请问您能否提供更多信息? 1.Chip 2 无法唤醒的现象只出现在你的作品中。可以重现吗? 2. 芯片 1 和芯片 2 是否通过 KL15 同时觉醒? 3. 你们的待机和唤醒流程是什么?M核心和A核心都参与其中吗?M 核心是否先关闭 A 核心,然后 M 核心进入待机状态? BR 乔伊
查看全文
[S32K3] [RTD 7.0.1]BCTUモジュールにおける3つの課題 RTDコードバージョンS32K3_RTD_7_0_1_D2602_ASR_REL_4_9_REV_0000_20260206のBCTUモジュールに3つの問題が見つかりました。詳細な問題点は以下のとおりです。   問題 1:ファイルAdc_TS_T40D34M70I1R0/src/Bctu_Ip.cの 1558 行目で、現在のコードではビットごとの OR 代入を使用しています: 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; これらの2行は、以下のように正しいシフトロジックに修正する必要があります。 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 << (インデックス * 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データユニットには2つのADC結果が含まれているため、データ解析時にuint16の高値と低値を手動で分割する必要があります。 上記の3つのバグは、公式バージョンS32K3_RTD_7_0_1_D2602_ASR_REL_4_9_REV_0000_20260206に存在します。NXPのソフトウェアエンジニアが次回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 ご意見ありがとうございます。 ソフトウェアチームと私はこれらの問題を確認しましたが、確かにバグです。 これらの問題は社内でエスカレーションしており、今後のアップデートで修正する予定です。
查看全文
[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 感谢您的反馈。 软件团队和我已经确认了这些问题,它们确实是软件漏洞。 我们已将这些问题上报内部,并将在未来的更新中修复它们。
查看全文
无法在RIOP RT1189开发板上运行RT1180 EVK SDK示例 大家好, 我正在使用RIOP RT1189开发板,有一些关于软件兼容性和调试方面的问题。 最初,我使用串行下载模式下的安全配置工具成功地对 RIOP 演示应用程序进行了编程,并且演示程序运行正常。 之后,我尝试在 RIOP RT1189 板上运行 MIMXRT1180 EVK SDK 示例项目(例如 LED Blinky 示例)。 我尝试过 修改了 RT1180 EVK LED 闪烁示例中的 LED 引脚配置,使其与 RIOP RT1189 板匹配。 使用安全配置工具在串行下载模式下对映像进行编程。 但是,该应用程序无法在 RIOP 板上运行。 为了验证硬件,我使用了可运行的 RIOP 演示项目,注释掉了大部分演示功能,只添加了 LED 闪烁代码,然后重新编写了程序。在这种情况下,LED闪烁功能工作正常。 这让我觉得,RIOP 演示中除了简单地更改 LED GPIO 引脚之外,还需要其他特定于电路板的配置。 问题 MIMXRT1180 EVK SDK 示例项目可以直接在 RIOP RT1189 板上使用吗? 如果不行,需要对电路板进行哪些特定修改(时钟配置、内存配置、FlexSPI、链接器脚本、启动代码等)才能使 SDK 示例在 RIOP 板上运行? 调试问题 我还尝试使用 MCU-Link 调试演示应用程序,但调试器在闪存初始化期间失败,并出现以下错误: 使用 SFDP JEDEC ID MIMXRT1180_SFDP_FlexSPI1_A_QSPI.cfx 检查了 SPI 接口的 v.2 外部闪存设备。 图像'iMXRT1180_SFDP_FlexSPI1_A_QSPI 2025年6月26日 18:32:16' 打开闪存驱动程序 MIMXRT1180_SFDP_FlexSPI1_A_QSPI.cfx 请求 VECTRESET,但 ARMv8-M CPU 不支持此功能。改用软重置。 使用软复位来运行闪存驱动程序 驱动程序 V.2 动态启动失败 - 驱动程序初始化未提供闪存参数 Flash Driver V.2 启动失败 - rc Ef(55): 动态闪存驱动程序启动未能提供闪存参数。 终止 (0x0, 0x0, 0x0) 状态 0x40 - 驱动程序报告初始化失败 - EXTSPIJ 驱动程序返回码 20107 (0x4E8B) 芯片初始化失败 - Ef(55): 动态闪存驱动程序启动未能提供闪存参数。 初始化闪存驱动程序 MIMXRT1180_SFDP_FlexSPI1_A_QSPI.cfx 失败 这个错误是否表明 RT1180 EVK 闪存驱动程序与 RIOP RT1189 板上使用的外部闪存不兼容,或者是否需要提供额外的闪存配置来进行调试? 任何指导或建议都将不胜感激。 谢谢! Re: Unable to Run RT1180 EVK SDK Examples on RIOP RT1189 Board 你好@Pavankumar1 , 远程 I/O 平台 (RIOP) 旨在成为一个可投入生产的平台,支持 EtherCAT ® 、EtherNet/IP ™和 PROFINET ® RT 等工业通信协议。 我想澄清一下,RIOP RT1189 板的硬件配置与 RT1180-EVK 不同,为 RT1180-EVK 开发的示例不能直接在 RIOP 硬件上运行。将 RT1180-EVK 示例移植到 RIOP RT1189 需要进行额外的开发,以使应用程序适应不同的硬件连接和外围设备。因此,我建议从专门为 RIOP RT1189 板提供的示例开始。 首先,我建议查看《远程 I/O 平台 (RIOP) 入门指南》 ,其中概述了平台架构并演示了其功能。 如果您的目标是在不使用工业通信协议的情况下评估 RIOP 硬件,您可以参考以下示例: https://github.com/nxp-appcodehub/rd-riop-demo/tree/main 此外,还提供了受支持的工业协议的一些示例应用程序。相应的用户指南包括如何下载、安装和将项目导入MCUxpresso for VS Code 扩展的说明。如果您对本用户指南还有任何疑问,请随时告诉我。这些指南可以在“文档”部分找到,如下图所示: 如果您对这些例子感兴趣,以下链接可能对您有所帮助: https://github.com/nxp-appcodehub/rd-riop 为了更好地为您提供帮助,能否请您详细介绍一下您的申请意向?具体来说,您能否说明一下为什么要将 RT1180-EVK 示例移植到 RIOP RT1189 平台,以及您希望实现哪些功能? BR 哈比卜
查看全文
i.MX8M Plus - Dedicated I2C for Display and Camera Hi Team, Just wanted to confirm if there is any Dedicated I2C for Display and Camera. (like I2C2 for Display and I2C4 for Camera) or there is no restriction on configuring can i use any I2C for Display and camera interfaces? Re: i.MX8M Plus - Dedicated I2C for Display and Camera You can use any available I2C controller for display-related or camera-related devices on i.MX8M Plus. There is no dedicated "camera I2C" or "display I2C" inside the SoC. The choice is determined by your hardware design and device-tree configuration.
查看全文
Unable to Run RT1180 EVK SDK Examples on RIOP RT1189 Board Hi Everyone, I am working with the RIOP RT1189 board and have a few questions regarding software compatibility and debugging. Initially, I successfully programmed the RIOP demo application using the Secure Provisioning Tool in Serial Download Mode, and the demo is working as expected. After that, I tried to run the MIMXRT1180 EVK SDK example projects (for example, the LED Blinky example) on the RIOP RT1189 board. What I tried Modified the LED pin configuration in the RT1180 EVK LED Blinky example to match the RIOP RT1189 board. Programmed the image using the Secure Provisioning Tool in Serial Download Mode. However, the application does not run on the RIOP board. To verify the hardware, I took the working RIOP demo project, commented out most of the demo functionality, added only the LED Blinky code, and programmed it again. In this case, the LED Blinky works correctly. This makes me think there are additional board-specific configurations in the RIOP demo that are required beyond simply changing the LED GPIO pin. Questions Can the MIMXRT1180 EVK SDK example projects be used directly on the RIOP RT1189 board? If not, what board-specific modifications are required (clock configuration, memory configuration, FlexSPI, linker script, startup code, etc.) to make the SDK examples work on the RIOP board? Debugging Issue I also tried to debug the demo application using MCU-Link, but the debugger fails during flash initialization with the following error: Inspected v.2 External Flash Device on SPI using SFDP JEDEC ID MIMXRT1180_SFDP_FlexSPI1_A_QSPI.cfx Image 'iMXRT1180_SFDP_FlexSPI1_A_QSPI Jun 26 2025 18:32:16' Opening flash driver MIMXRT1180_SFDP_FlexSPI1_A_QSPI.cfx VECTRESET requested, but not supported on ARMv8-M CPUs. Using SOFTRESET instead. Using SOFT reset to run the flash driver Driver V.2 dynamic startup failed - driver Init provided no flash parameters Flash Driver V.2 startup failed - rc Ef(55): Dynamic flash driver startup failed to provide flash parameters. Terminate (0x0, 0x0, 0x0) status 0x40 - driver reports init failure - EXTSPIJ driver rc 20107 (0x4E8B) chip initialization failed - Ef(55): Dynamic flash driver startup failed to provide flash parameters. failed to initialize flash driver MIMXRT1180_SFDP_FlexSPI1_A_QSPI.cfx Could this error indicate that the RT1180 EVK flash driver is incompatible with the external flash used on the RIOP RT1189 board, or is there an additional flash configuration that needs to be provided for debugging? Any guidance or suggestions would be greatly appreciated. Thank you! Re: Unable to Run RT1180 EVK SDK Examples on RIOP RT1189 Board Hello @Pavankumar1, The Remote I/O Platform (RIOP) is intended as a production-ready platform that supports industrial communication protocols such as EtherCAT®, EtherNet/IP™, and PROFINET® RT. I would like to clarify that the hardware configuration of the RIOP RT1189 board differs from that of the RT1180-EVK, examples developed for the RT1180-EVK cannot run directly on the RIOP hardware. Porting an RT1180-EVK example to the RIOP RT1189 will require additional development to adapt the application to the different hardware connections and peripherals. For this reason, I recommend starting with the examples specifically provided for the RIOP RT1189 board. As a starting point, I recommend check firstly the Getting Started with the Remote I/O Platform (RIOP), which provides an overview of the platform architecture and demonstrates its capabilities. If your objective is to evaluate the RIOP hardware without using industrial communication protocols, you can refer to the following example: https://github.com/nxp-appcodehub/rd-riop-demo/tree/main In addition, some example applications are available for the supported industrial protocols. Their corresponding User Guides include instructions on how to download, install, and import the projects into the MCUxpresso for VS Code extension. If you have any further questions about these user's guide, do not hesitate to let me know. These guides can be found in the Documentation section, as shown in the image below: If you are interested on these examples the following link might be helpful: https://github.com/nxp-appcodehub/rd-riop In order to support you better, could you please share me more details about your intended application? Specifically, could you clarify why you would like to port an RT1180-EVK example to the RIOP RT1189 platform and what functionality you are interested to implement? BR Habib
查看全文
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”
查看全文
MFS2323BMBA5EP OTP構成の競合:SPIとI2Cモードの識別 NXPのエンジニアおよびコミュニティの専門家の皆様へ 現在、以下の方法で開発中です MFS2323BMBA5EP セーフティ SBCで、設定ファイルとデータシートレポートの間でOTPの工場出荷時設定に関する大きな矛盾に直面しました。この点についてご説明いただけると大変ありがたいです。 設定の競合: 1. 証拠 .cfg ファイル: 私の FS2320_BA5_CONFIG_Rev_A.cfg ファイルには、直接レジスタ値があります。 0x30 : 0x00 FS23データシート(表229)によると、 OTP_MAIN_SYS_I2C_CFG😞 ビット4( SPI_EN_OTP ) : 0 手段 I2Cは有効、SPIは無効です。 1 SPIが有効になっていることを意味します。 ビット3~0 ( I2CDEVADDR_OTP ) : 0000 意味する I2Cスレーブアドレスは 0x20 。 これは明らかに、このチップが工場出荷時に構成されていることを示唆しています。 I2Cモード。 2. 構成レポートPDFからの証拠: しかし、私の R_MFS2323BMBA5_Rev_A_test.pdf 文書、 表2. デバイスのOTP設定、レポートには明示的に記載されています。 SPI有効化:SPIピンが有効になっています。 これはハードウェアピンがロックされていることを示唆しています SPIモード。 私の実際のハードウェアテスト結果: MCU(S32K344)をSPIマスターとして設定し、このPMICと通信させたとき: MISOピンは一定のままです 0.3V (内部プルダウン抵抗が弱い高インピーダンス状態を示しており、スレーブ側がラインを駆動していないことを意味します。) PMIC側のSCKピンは、実際には独自にクロック信号を出力していた。 チップがOTPエミュレーションモードに固定されているか、I2Cスレーブとして設定されている可能性があり、それが原因でSPI通信が完全に失敗しているのではないかと考えています。 私の具体的な質問: 確認いただけますか MFS2323BMBA5EPの実際の工場出荷時OTP設定ですか?それはSPIですか、それともI2Cですか?  の間に対立が生じたとき。cfg registerファイル(0x30 : 0x00)とPDF設定レポート、どちらが絶対的なハードウェアの真実と考えられるべきでしょうか?PDFレポートにドキュメントの誤りが含まれている可能性はありますか? (添付しました) FS2320_BA5_CONFIG_Rev_A.cfg そして R_MFS2323BMBA5_Rev_A_test.pdf (参考としてこの投稿を参照してください)。 ご協力ありがとうございます! Re: MFS2323BMBA5EP OTP Configuration Conflict: SPI vs I2C Mode Identification はい、ありがとうございます。 Re: MFS2323BMBA5EP OTP Configuration Conflict: SPI vs I2C Mode Identification どちらの会社にお勤めですか?現在、お客様はご自身のメールアドレスを使用されていますが、これは優先度の低い(経営幹部レベルの)顧客とみなされます。 これには、回路図とCRCドライバに関連する一連の事項を確認する必要があります。 会社のメールアドレスを使ってチケットを送信することをお勧めします。 家 Re: MFS2323BMBA5EP OTP Configuration Conflict: SPI vs I2C Mode Identification 現状では不可能です。デバッグモードで通信しています。344ピンのSCK波形とMOSI波形を個別にテストしたところ、書き込んだデータは送信できました。しかし、FS23のSCKピンも信号を送信しているため、この2つを接続すると、MCUから送信されたSCK信号がFS23によってローにプルダウンされてしまいます。FS23に送信する応答はすべて0です。CRCも設定済みです。 紫色の線は、上部の信号以降のSCK信号を表しています。 黄色はデータ信号を示します。 定格電圧は5Vです。 送信されたデータは {0x02, 0x00, 0x00, CRC} です SCK波形を通常の波形として無理やり解釈すると、データが正しいことがわかります。最初のビットは2で、その後に00とCRCが続きます。 Re: MFS2323BMBA5EP OTP Configuration Conflict: SPI vs I2C Mode Identification SPIを使用して正常に通信できますか? Re: MFS2323BMBA5EP OTP Configuration Conflict: SPI vs I2C Mode Identification FS23とS32K344がSPIで通信している際に、FS23のSCK信号も送信されている可能性はありますか?というのも、FS23とのSPI通信を設定しない場合、FS23のSCKピンをキャプチャしようとしても波形が取得できないからです。S32K344と通信している場合にのみ、FS23とS32K344の両方のSCKピンから信号が送信され、SCKピンとCSピンの波形が全く同じになります。 Re: MFS2323BMBA5EP OTP Configuration Conflict: SPI vs I2C Mode Identification GUI経由で.cfgファイルをMirrorにアップロードしました。このレジスタはSPIモードを示します。
查看全文