Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
i.MX 数据表中 NVCC 的含义 你好 我正在查看 i.MX 数据表,经常看到以 NVCC_* 开头的引脚名称。 能否请您解释一下 NVCC 代表什么? 此外,名称中包含 NVCC 的徽章有何意义? 感谢您的支持。 顺祝商祺! Re: Meaning of NVCC in i.MX Datasheet 您指的是哪种产品? NVCC 是"Nominal Voltage Common Collector" 的缩写,NVCC_* 引脚是为一组 I/O 焊盘(如 GPIO、UART、SPI 等)提供电压的电源引脚。 如 NVCC_SD 为 SD 卡接口引脚供电。 Re: Meaning of NVCC in i.MX Datasheet 你好,丽塔、 谢谢您的解释。我所指的产品是 i.MX93。 我知道 NVCC 代表标称电压共集电极,而 NVCC_* 引脚是为特定 I/O 组(如 GPIO、UART、SPI)提供电压的电源引脚。NVCC_SD 为 SD 卡接口供电的例子非常有用。 感谢您的支持。 致以最诚挚的问候, tkato Re: Meaning of NVCC in i.MX Datasheet 你好@tkato, 不客气。 如有任何疑问,您可以创建新的主题,与我们自由联系。 祝您有美好的一天 顺祝商祺! Rita
View full article
PN532 标签仿真 NFC 工具显示 NULL 所有数据 目前正在使用 PN532 (UM0701-02 ) 模块接口,通过基于 IRQ 状态模型的 SPI 通信与 STM32WL 微控制器连接。我将一步步解释我是如何处理状态机的 第 1 步: SPI 配置 - 时钟 2Mhz 和 8 位模式 第 2 步: 在启动 PN532 模块后,我发送了 SMA 配置,然后正在等待第一个 IRQ 的 ACK,之后我将等待第二个 IRQ 的 SMA 配置响应。我没有收到任何错误信息。请注意我使用的以下配置 pn532_packetbuffer[0] =pn532_command_samconfiguration; pn532_packetbuffer[1] = 0x01;// 正常模式; pn532_packetbuffer[2] = 0x14;// 超时 50ms * 20 = 1 秒 pn532_packetbuffer[3] = 0x01;// 使用 IRQ 引脚! 步骤 3:收到 SMA 配置回复后, 。 我已经开始发送 TgTarget 启动命令。对于这条命令,我只收到 ACK,当电话接近模块时,我才收到回复。 uint8_tcommand[] ={ pn532_command_tginitastarget、 5,// 模式:仅 PICC,仅被动 0x04, 0x00, // SENS_RES 0x00, 0x00, 0x00,// NFCID1 0x20, // SEL_RES 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,// FeliCaParams 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,// NFCID3t 0,//一般字节的长度 0//历史字节的长度 }; 如果(uidPtr != 0) {//如果设置了 uid,则将 3 个字节复制到 nfcid1 memcpy命令 + 4, uidPtr、 3); }} 这条命令也得到了成功的回复。 因此,现在我有了手机 NFC 信息,如 NFC 支持类 注:到此为止,我得到了正确的 IRQ Assert、ACK 和命令回复。 第 4 步: 响应后,我将开始发送 TgGetTarget 命令(0x86)。第一次,比如当我将手机靠近 PN532 时,得到的响应为 0x87,错误代码为 0x13。像 RF 版本一样。之后,我尝试了两种方法来恢复通信。最初的方法是发送 Inrelease 命令 0x52、0x00,然后获取 IRQ,并得到 53 和 0x00 的响应。然后再次发送 TgTartget Command Initi 命令,就像再次执行步骤 3 一样。请注意,在这之后的一段时间里,我得到了对 0x86 的正确回复。 现在我还有一个问题,在我发送 Inrelease 或 TgTarget 命令后,NFC Tools Mobile 显示的所有数据,如序列号和其他信息都显示为零。并展示 felica 技术。但使用的是 ISO1884A A 类卡枚举。 现在我想知道为什么会出现这种情况。如果我遗漏了任何序列。请尽快为我们提供指导。我们正处于项目收尾阶段。 已经有人向我推荐了表格,但我没有得到答复 互联标签解决方案 接触式智能卡读卡器芯片 HITAG读卡器IC 面向读卡器系统的MIFARE SAM NFC 控制器解决方案 NFC 前端解决方案 NFC读卡器库 Re: PN532 Tag emulation NFC Tools showing NULL all the data 请问谁能对此问题提供支持 Re: PN532 Tag emulation NFC Tools showing NULL all the data 我并不想存储任何数据。首先,我发送带有所需参数的 0x8C(TgInitAsTarget)命令,然后等待 0x8D 响应。我正确收到了 0x8D 响应。之后,我发送 TgGetData (0x86) 命令,希望收到状态为 0x00 的 0x87,但大多数时候收到的是状态为 0x13 的 0x87。出现这种情况时,我再次发送 TgInitAsTarget (0x8C) 命令,再次收到正确的 0x8D 响应。这次,当我发送 0x86 时,我收到了状态为 0x00 的 0x87 以及 APDU 数据。这种行为在摩托罗拉和 Realme 等较新的手机上运行正常,但在较旧的三星手机上,我总是在 0x86 之后收到状态为 0x13 的 0x87,即使在多次间隔之后也是如此。收到 0x8D 后,我尝试以不同的时间间隔发送 0x86,例如 1 毫秒、10 毫秒、20 毫秒、50 毫秒、80 毫秒、100 毫秒、120 毫秒和 140 毫秒,但在较旧的三星设备上我仍然收到 0x13。如有遗漏,请指教。还要注意一件事,如果我得到 0x87、0x13 我也尝试过轮询,那时我得到 0x29。 Re: PN532 Tag emulation NFC Tools showing NULL all the data 这是因为没有内存来存储数据。 请参阅应用笔记中的第 3.3.7.2 章 Re: PN532 Tag emulation NFC Tools showing NULL all the data 我们仍然面临这个问题,请任何人支持解决这个问题。我不知道我们会遇到什么问题。
View full article
S32K324 HSE固件如何安装? 我正在开发S32K324,S32K324哪里可以找到安装HSE固件的软件工程? Re: S32K324 HSE固件如何安装? Hi 请从S32K3 标准软件> 汽车软件 - S32K3 - HSE 固件 > S32K344 HSE FW 0.2.40.0 SR 版本下载。注意:此版本支持 S32K344、S32K324 和 S32K314。HSE_DEMOAPP_S32K3XX_0_2_40_0.exe可以在S32K311 HSE FW 0.2.40.0 RTM版本中找到。 如果您没有 Lauderbach,只有 PEMicro 或 J-Link 调试器,请下载S32K3_HSE_DemoExamples 。建议参考HSE 固件安装中的讨论。 由于资源有限,我们目前无法支持客户通过通用电子邮件帐户(例如 gmail.com 或 qq.com 或类似帐户)发信。请确保您在与 NXP 沟通时使用您的公司电子邮件地址,以便我们能够相应地优先处理您的问题。感谢您的理解。 此致, 罗宾 -------------------------------------------------------------------------------- 笔记: - 如果这篇文章回答了您的问题,请点击“标记正确”按钮。谢谢你! - 我们会关注上次发帖后七周的帖子,之后的回复将被忽略 如果您稍后有相关问题,请打开一个新线程并参考已关闭的线程。 --------------------------------------------------------------------------------
View full article
启动 QSPI 时 S32g274a 中的 LLCE 固件加载失败 大家好, 我们正在使用 S32g274a,其中所有 LIN 核心都用作 UART,我们还使用中断转发来让 LIN 核心在有 rx 数据时获取中断。一切都与调试器完美配合。但我们面临的问题是,当我们将图像刷入外部启动存储器(如 qspi flash)并从中启动时,代码会在 llce_firmware_load() 处停止。 有什么方法可以解决这个问题吗? S32G2 #LLCE 回复:启动 QSPI 时 S32g274a 中的 LLCE 固件加载失败 你好@naveenkumar_muthusamy , 您能提供更多有关您的设置的信息吗? 我了解您在这个项目中使用 Core M7,我的理解正确吗? 我知道您使用的是定制板而不是 RDB2,我的理解正确吗? 您使用的 LLCE FW 是什么版本? 您使用的 RTD 是什么版本? 您是从一个例子开始您的项目吗?如果有的话,哪一个? 您以前能够从 QSPI 启动 LLCE 应用程序吗? 您能描述一下构建二进制文件并将其刷入 QSPI 闪存的一般过程吗? 您如何识别程序正在阻止上述函数llce_firmware_load() 中的执行。 提前感谢提供的信息。
View full article
S32G2 IPC通信 NXPコミュニティの親愛なるメンバーの皆様、 私はちょうどNXP S32G2 IPCフレームワークに取り組み始めました。私は次のアプリケーションノートAN13750ています:「S32G2でのマルチコアアプリケーションの有効化 using S32G2 Platform Software Integration」と題し、いくつかの疑問を抱きました。 まず、ドキュメントからの流れを正しく理解しているかどうか 1. IPCを使用してLinuxイメージをビルドし、SDカードを使用してA53コアを起動します。 2. Design Studio を使用して M7 の IPC イメージをビルドし、ブートローダーを使用して M7 を SRAM に読み込みます。ブートローダーはEB Tresosによって提供されます。 3. A53からM7でIP通信を開始します。 上記の理解が正しいことを前提として、 1. デバッガを使用して、デザインスタジオからM7アプリケーションを直接実行できますか。 2. LinuxイメージをA53のSDカードから起動させます。 3. A53 linuxからM7とのIPC通信を開始します。 これは可能ですか?私は今のところEBブートローダーを扱いたくありませんが、プロセス全体についての私の理解が間違っていて、このブートローダーがIPCの機能にとって重要である場合を除きます。どんなコメント/提案も大歓迎です。 PS:アプリケーションノートで使用されている3つのコアではなく、1つのM7コアのみを使用したいです。 最良 ヴィシュヌ Re:S32G2 IPC通信 編集:「Description.txt」
View full article
如何在元层中编译 Cargo Build 我按照这个例子继承了 cargo.bbclass 并编译了一个简单的项目: https://www.youtube.com/watch?v=aPsMuSU-Btw 但是,我收到以下错误: ``` 注意:执行任务 错误:my-test-0.1-r0do_compile:执行错误('/opt/yocto/imx-6.6.3-1.0.0-build/build_fsl-imx-wayland/tmp/work/armv8a-poky-linux/my-test/0.1/temp/run.do_compile.24257',101,无,无) 错误:故障日志文件存储在:/opt/yocto/imx-6.6.3-1.0.0-build/build_fsl-imx-wayland/tmp/work/armv8a-poky-linux/my-test/0.1/temp/log.do_compile.24257 日志数据如下: | DEBUG:执行 shell 函数 do_compile | 注意:使用来自 /opt/yocto/imx-6.6.3-1.0.0-build/build_fsl-imx-wayland/tmp/work/armv8a-poky-linux/my-test/0.1/rust-targets/ 的 rust 目标 | 注意:cargo = /opt/yocto/imx-6.6.3-1.0.0-build/build_fsl-imx-wayland/tmp/work/armv8a-poky-linux/my-test/0.1/recipe-sysroot-native/usr/bin/cargo | 注意:cargo build -v --frozen --target aarch64-poky-linux-gnu --release --manifest-path=/opt/yocto/imx-6.6.3-1.0.0-build/build_fsl-imx-wayland/tmp/work/armv8a-poky-linux/my-test/0.1/git//Cargo.toml | 错误:锁定文件 /opt/yocto/imx-6.6.3-1.0.0-build/build_fsl-imx-wayland/tmp/work/armv8a-poky-linux/my-test/0.1/git/Cargo.lock 需要更新,但已传递 --frozen 以防止发生这种情况 | 如果您想尝试在不访问网络的情况下生成锁定文件,请删除 --frozen 标志并改用 --offline。 |警告:/opt/yocto/imx-6.6.3-1.0.0-build/build_fsl-imx-wayland/tmp/work/armv8a-poky-linux/my-test/0.1/temp/run.do_compile.24257:185从'“cargo”build -v --frozen --target aarch64-poky-linux-gnu --release --manifest-path=/opt/yocto/imx-6.6.3-1.0.0-build/build_fsl-imx-wayland/tmp/work/armv8a-poky-linux/my-test/0.1/git//Cargo.toml“$@”'退出101 | 警告:回溯(BB 生成的脚本): | #1: oe_cargo_build, /opt/yocto/imx-6.6.3-1.0.0-build/build_fsl-imx-wayland/tmp/work/armv8a-poky-linux/my-test/0.1/temp/run.do_compile.24257,第 185 行 | #2:cargo_do_compile,/opt/yocto/imx-6.6.3-1.0.0-build/build_fsl-imx-wayland/tmp/work/armv8a-poky-linux/my-test/0.1/temp/run.do_compile.24257,第 157 行 | #3: do_compile,/opt/yocto/imx-6.6.3-1.0.0-build/build_fsl-imx-wayland/tmp/work/armv8a-poky-linux/my-test/0.1/temp/run.do_compile.24257,第 152 行 | #4:主要的,/opt/yocto/imx-6.6.3-1.0.0-build/build_fsl-imx-wayland/tmp/work/armv8a-poky-linux/my-test/0.1/temp/run.do_compile.24257,第 198 行 错误:任务(/opt/yocto/imx-6.6.3-1.0.0-build/sources/meta-my-test/recipes-cargo/install/my-test_0.1.bb:do_compile)失败,退出代码为“1” 注意:任务摘要:尝试了 5745 项任务,其中 5743 项无需重新运行,1 项失败。 ``` 我已经运行了“bitbake -f my-test core-image-minimal”。BBLAYERS 也被附加。 简单来说:如何编译并安装 Rust 程序到 iMX93EVK 中? 回复:如何在元层中编译 Cargo Build 好的 回复:如何在元层中编译 Cargo Build 我是一个傻瓜,更确切地说是一个新手。我所指的 repo( https://gitlab.com/pbarker.dev/rust/print-rand )没有 Cargo.lock 文件。我在我的机器上手动运行了复制的文件,瞧! 下载 repo 的路径默认为“/opt/yocto/imx-6.6.3-1.0.0-build/build_fsl-imx-wayland/tmp/work/armv8a-poky-linux/my-test/0.1/git/”。好吧,我可以以某种方式覆盖它。这不是一个问题。希望将来能帮助其他新手。 编辑:其他一些陷阱: * 在我的情况下,“IMAGE_INSTALL”不起作用,但“CORE_IMAGE_EXTRA_INSTALL”允许我将自定义层的 bb 文件添加到“bitbake core-image-minimal”构建中。据我所知,食谱名称无关紧要。 * 第一次运行时,我遇到了丢失的板条箱哈希值。幸运的是,修复方法已经打印出来了。在 `.bb` 文件旁边添加 `.inc` 文件就足以解决这个问题,而无需修改 .bb文件 `cargo bitbake` 命令生成。 回复:如何在元层中编译 Cargo Build cbugk-dannie cbugk-dannie 贡献者 I 顺便说一句,原帖中的这一行告诉我货物本身是可以运行的: ``` 错误:锁定文件 /opt/yocto/imx-6.6.3-1.0.0-build/build_fsl-imx-wayland/tmp/work/armv8a-poky-linux/my-test/0.1/git/Cargo.lock 需要更新,但已传递 --frozen 以防止发生这种情况 ``` 我所不知道的是不知道如何在普通的货物项目中使用默认的 Yocto 行为 --frozen。 但我认为这超出了 NXP 的范围。不过,你们还是在这个论坛的其他一些帖子上对脚本和所有内容发表了评论。所以认为值得一试,如果有任何这样的建议我将不胜感激。 回复:如何在元层中编译 Cargo Build 首先,谢谢。 当将 `DEPENDS += " meta-rust "` 添加到 bb 文件时,出现以下错误。我以为 `meta-rust` 已经被吸收到 `oe-core` 中了,那么在 nanbield 上我真的需要它吗? ``` 加载缓存:100% |##############################################################################################################################| 时间:0:00:00从依赖缓存加载了 5451 个条目。注意:解决任何缺失的任务队列依赖关系错误:没有提供“meta-rust”(但/opt/yocto/imx-6.6.3-1.0.0-build/sources/meta-my-test/recipes-my/company/my-test_0.1.bb取决于或需要它)错误:所需的构建目标“my-test”没有可构建的提供程序。 缺失或无法构建的依赖链为:['my-test', 'meta-rust'] 摘要:有 2 条错误消息,返回非零退出代码。 ``` 编辑:我还将其作为 imx-setup-release.sh 中“BBLAYERS”的另一个回显添加到 repo 工具的清单中。然而,nanbield 与这种运作方式不兼容: ```错误:rust-layer 层与仅支持以下系列的核心层不兼容:nanbield(该层与 mickledore honister hardknott gatesgarth kirkstone 兼容)```
View full article
RW612漫游设置 亲爱的社区,我对漫游设置有几个疑问。我正在运行 wifi-wpa-supplicant 示例,并在连接到网络时启用漫游(wlan_set_roaming(1, 70))。我注意到,当 rssi 降至 70 以下时,它会触发低 rssi 事件并启动常规扫描而不是后台扫描。但是,如果我禁用 wpa_supplicant,它会执行后台扫描而不是常规扫描。为什么会有区别? WPA_supplicant 支持后台扫描(CONFIG_BGSCAN),但它(bgscan.c)似乎已从示例程序中删除。这有什么原因吗? 在我当前的设置中,仅当 RSSI 降至特定阈值以下时才会启动漫游。如何设置计划扫描以便在发现更强的接入点时启动漫游? 非常感谢并致以问候 回复:RW612漫游设置 SDK版本为24_12_00
View full article
FS26 TRK2 UVフォールト FS26 と s32k344 を使用していますが、FS_OVUV_REG_STATUS レジスタには SPI を介した TRK2 の低電圧が示されています。しかし、TRK2には負荷はなく、2.2uF/50Vと100nF/100Vの2つのコンデンサがあるだけです。マルチメータとオシロスコープでTRK2電圧を測定しましたが、5Vに等しい、つまり正しいです。誰かが私がこれを解決するのを手伝ってくれますか? 日時:FS26 TRK2 UV障害 私はあなたのケースに取り組み始めています、私はすぐにあなたに連絡します。
View full article
BFU660F 的 Spice 型号 您好, 能否提供 BFU660F 的香料型号? 谢谢! 约翰 Re: Spice Model for BFU660F 您好, ,我试图将此模型用于 Orcad PSpice,但似乎无法识别某些参数(例如:...M参数......),软件就会出错。请提供可在 orcad PSpice 中导入的 BFU660F 模型, ,谢谢您的支持 ,致以最诚挚的问候 Jonata Re: Spice Model for BFU660F 亲爱的艾丽卡 我想在 LTSPICE 中使用 2 发射器模型。 请发布 BFU660F 的 4 针型号。 顺祝商祺! 诹访仁 Re: Spice Model for BFU660F 嗨,艾丽卡、 谢谢你的香料模型。 您可以关闭此主题。 顺祝商祺! 约翰 Re: Spice Model for BFU660F 您好。 SPICE 模型附后。 希望对你有所帮助。 此致问候
View full article
imx93 に RPi カメラ V2 のサポートを追加 こんにちは、 私はimx93-11x11 evkを使用しており、RPiカメラV2を持っています。私は、ビルディング中のcore-image-baseを使用してYoctoビルドにそのサポートを追加したいと考えています。 Up カメラ モジュールに必要な DTS およびハードウェア接続のCANパッチを提供してくれる人はいますか? Yocto Project Re: Add support for RPi camera V2 in imx93 こんにちは、joanxieさん 参考までに、あなたが言及したパッチを共有していただけますか? Re: Add support for RPi camera V2 in imx93 結局、移植は成功したのでしょうか?現在、移植も試みており、ビデオ デバイスのリストは表示できるようになりましたが、ストリーミングされたビデオ データは空です。 Re: Add support for RPi camera V2 in imx93 @ジョアンシー それを解決して/dev/video0を取得できるようになりましたが、キャプチャ中に問題が発生します 参考までにすべてのログを載せておきます root@imx93-11x11-lpddr4x-evk:~# media-ctl -p Media controller API version 6.6.23 Media device information ------------------------ driver mxc-md model FSL Capture Media Device serial bus info platform:42800000.bus:camera hw revision 0x0 driver version 6.6.23 Device topology - entity 1: mxc_isi.0 (16 pads, 2 links, 0 routes) type V4L2 subdev subtype Unknown flags 0 pad0: Sink <- "mxc-mipi-csi2.0":4 [ENABLED] pad1: Sink pad2: Sink pad3: Sink pad4: Sink pad5: Sink pad6: Sink pad7: Sink pad8: Sink pad9: Sink pad10: Sink pad11: Sink pad12: Source -> "mxc_isi.0.capture":0 [ENABLED] pad13: Source pad14: Source pad15: Sink - entity 18: mxc_isi.0.capture (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "mxc_isi.0":12 [ENABLED] - entity 22: mxc-mipi-csi2.0 (8 pads, 2 links) type Node subtype V4L flags 0 device node name /dev/v4l-subdev0 pad0: Sink <- "imx219 2-0010":0 [ENABLED,IMMUTABLE] pad1: Sink pad2: Sink pad3: Sink pad4: Source -> "mxc_isi.0":0 [ENABLED] pad5: Source pad6: Source pad7: Source - entity 31: imx219 2-0010 (1 pad, 1 link, 0 routes) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev1 pad0: Source [stream:0 fmt:SRGGB10_1X10/3280x2464 field:none colorspace:raw xfer:none quantization:full-range crop.bounds:(8,8)/3280x2464 crop:(8,8)/3280x2464] -> "mxc-mipi-csi2.0":0 [ENABLED,IMMUTABLE] root@imx93-11x11-lpddr4x-evk:~# root@imx93-11x11-lpddr4x-evk:~# v4l2-ctl --list-device FSL Capture Media Device (platform:42800000.bus:camera): /dev/media0 mxc-isi-cap_v1 (platform:4ae40000.isi:cap_devic): /dev/video0 root@imx93-11x11-lpddr4x-evk:~# $ gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! queue ! tcpclientsink host=192.168.68.209 port=>video/x-raw,format=NV12,width=1920,height=1080 ! videoconvert ! queue ! tcpclientsink host=192.168.68.209 port=5000 Setting pipeline to PAUSED ... $ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=YUY2,width=1920,height=1080 ! videoconvert ! queue ! tcpclientsink host=192.168.68.209 port=5000 Setting pipeline to PAUSED ... $ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=YUY2,width=640,height=480 ! videoconvert ! autovideosink Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... WARNING: from element /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0: Failed to initializ[ 46.432183] mxc_isi.0: Call subdev s_power fail! e egl: EGL_NOT_INITIALIZED Additional debug info: /usr/src/debug/gstreamer1.0-plugins-base/1.24.7.imx/ext/gl/gstglimagesink.c(1140): _ensure_gl_setup (): /GstGLImageSinkBin:autovideosink0-actual-sink-glimage/GstGLImageSink:sink Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory. Additional debug info: /usr/src/debug/gstreamer1.0-plugins-good/1.24.7.imx/sys/v4l2/gstv4l2src.c(956): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Buffer pool activation failed Execution ended after 0:00:00.016970917 Setting pipeline to NULL ... ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error. Additional debug info: /usr/src/debug/gstreamer1.0/1.24.7.imx/libs/gst/base/gstbasesrc.c(3177): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: streaming stopped, reason not-negotiated (-4) Freeing pipeline ... [ 158.156378] mxc_isi.0: Call subdev s_power fail! [ 328.749218] mxc_isi.0: Call subdev s_power fail! [ 350.954960] mxc_isi.0: Call subdev s_power fail! [ 509.022065] mxc_isi.0: Call subdev s_power fail! [ 826.091379] mxc_isi.0: Call subdev s_power fail! [ 1043.341463] mxc_isi.0: Call subdev s_power fail! [ 1454.303027] mxc_isi.0: Call subdev s_power fail! Re: Add support for RPi camera V2 in imx93 エラーメッセージと限定された情報を参照して、imx8-プレスリリース、製品ニュース-dev.cをデバッグしてください。根本的な原因を確認するために、さらに印刷を追加することCAN。 Re: Add support for RPi camera V2 in imx93 @ジョアンシー 問題を解決し、/dev/video0を取得しました root@imx93-11x11-lpddr4x-evk:~# media-ctl -p Media controller API version 6.6.23 Media device information ------------------------ driver mxc-md model FSL Capture Media Device serial bus info platform:42800000.bus:camera hw revision 0x0 driver version 6.6.23 Device topology - entity 1: mxc_isi.0 (16 pads, 2 links, 0 routes) type V4L2 subdev subtype Unknown flags 0 pad0: Sink <- "mxc-mipi-csi2.0":4 [ENABLED] pad1: Sink pad2: Sink pad3: Sink pad4: Sink pad5: Sink pad6: Sink pad7: Sink pad8: Sink pad9: Sink pad10: Sink pad11: Sink pad12: Source -> "mxc_isi.0.capture":0 [ENABLED] pad13: Source pad14: Source pad15: Sink - entity 18: mxc_isi.0.capture (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "mxc_isi.0":12 [ENABLED] - entity 22: mxc-mipi-csi2.0 (8 pads, 2 links) type Node subtype V4L flags 0 device node name /dev/v4l-subdev0 pad0: Sink <- "imx219 2-0010":0 [ENABLED,IMMUTABLE] pad1: Sink pad2: Sink pad3: Sink pad4: Source -> "mxc_isi.0":0 [ENABLED] pad5: Source pad6: Source pad7: Source - entity 31: imx219 2-0010 (1 pad, 1 link, 0 routes) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev1 pad0: Source [stream:0 fmt:SRGGB10_1X10/3280x2464 field:none colorspace:raw xfer:none quantization:full-range crop.bounds:(8,8)/3280x2464 crop:(8,8)/3280x2464] -> "mxc-mipi-csi2.0":0 [ENABLED,IMMUTABLE] root@imx93-11x11-lpddr4x-evk:~# root@imx93-11x11-lpddr4x-evk:~# v4l2-ctl --list-device FSL Capture Media Device (platform:42800000.bus:camera): /dev/media0 mxc-isi-cap_v1 (platform:4ae40000.isi:cap_devic): /dev/video0 root@imx93-11x11-lpddr4x-evk:~# しかし、キャプチャすることはできません?どうすればCANをキャプチャできますか?上記を分析してキャプチャ用のコマンドを教えていただけますか? Re: Add support for RPi camera V2 in imx93 こんにちは@joanxie dtsにパッチを適用し、imx219を正常にプローブしましたが、ドライバimx8_media_devのロード中に以下のエラーが発生しました root@imx93-11x11-lpddr4x-evk:~# dmesg | grep -E 'imx219|mx8-img-md' [ 2.529849] imx219: imx219_probe() 関数を開始しています [ 2.529859] imx219: imx219構造体に割り当てられたメモリ [ 2.529888] imx219: CCI regmap を初期化しました [ 2.529898] imx219: システムクロック(xclk)を取得しました [ 2.529901] imx219: xclk周波数が検証されました: 24000000 Hz [ 2.529916] imx219 2-0010: 電源VANAが見つかりません。ダミーレギュレータを使用しています。 [ 2.536651] imx219 2-0010: 電源VDIGが見つかりません。ダミーレギュレータを使用しています。 [ 2.543291] imx219 2-0010: 供給VDDLが見つからないため、ダミーレギュレータを使用しています [ 2.549915] imx219: 規制当局が買収 [ 2.550112] imx219: オプションのリセットGPIOが要求されました [ 2.557779] imx219: センサがストリーミングモードに設定されました [ 2.558012] imx219: センサがスタンバイモードに戻りました [ 2.558181] imx219: サブデバイスフラグと関数セット [ 2.558185] imx219: メディアエンティティパッドが初期化されました [ 2.558189] imx219: サブデバイスの初期化が完了しました [ 2.558199] imx219: サブデバイスセンサが非同期に登録されました [ 2.558296] imx219: ランタイムPMが初期化されました [ 7.541231] mx8-img-md: mxc_isi.0.capture を /dev/video0 として登録しました [ 7.567996] mx8-img-md: 登録されたセンササブデバイス: imx219 2-0010 (1) [ 7.600977] mx8-img-md: リンク [mxc_isi.0] を作成しました=> [mxc_isi.0.キャプチャ] [ 7.643109] mx8-img-md: リンクを作成しました [mxc-mipi-csi2.0]=> [mxc_isi.0] [ 7.685370] mx8-img-md: subdev_notifier_complete エラー終了 [ 7.697350] mx8-img-md: すべてのエンティティを登録解除しました Re: Add support for RPi camera V2 in imx93 最小限の画像から始めて、自分でモジュールを追加することができます。私たちの AN は最小限の画像ではなく、マルチメディアまたはフル画像に基づいています。異なる画像へのカメラの移植についてさらに問題がある場合は、新しいCASEを作成し、詳細な問題を添付してください。 Re: Add support for RPi camera V2 in imx93 こんにちは@joanxie 一度CAN? Re: Add support for RPi camera V2 in imx93 minimal は、デバイスの起動のみを可能にする小さなイメージです。以前マルチメディアを使用していましたが、imx93カメラの移植については最小限のテストを行っていませんが、問題ないはずです。 Re: Add support for RPi camera V2 in imx93 こんにちは@joanxie このアプリケーションノートでは、デフォルトで ap1302 が有効になっています。これには完全なイメージが必要ですか、それとも最小限のイメージにも含まれるのでしょうか? ご存知のとおり、imx219 のサポートを追加しているので、そのために最小限のイメージをビルディングしています。SO、dts パッチを追加するだけで動作するかどうか? Re: Add support for RPi camera V2 in imx93 メールで述べたように、これは公式バージョンではなく、参考用です。パッチ全体を直接適用するのではなく、独自の BSP に移植する必要があります。独自の BSP に基づいてソースコードを変更CAN。 Re: Add support for RPi camera V2 in imx93 こんにちは@joanxie はい、できます。しかし、この前にも別のドライバでエラーが発生しました。6.6-scarthgap を使用していますが、確認してもらえますか。行番号も一致していないため、MAKEFILE パッチを別途追加する必要があります。 Re: Add support for RPi camera V2 in imx93 int imx219_probe(struct i2c_client *client, const struct i2c_device_id *id) を int imx219_probe(struct i2c_client *client) に変更するのはどうでしょうか? Re: Add support for RPi camera V2 in imx93 こんにちは@joanxie コンパイル中に取得したエラー ログ ファイルを添付して、指定されたパッチを適用しました。 Re: Add support for RPi camera V2 in imx93 こんにちは、 わかりました。パッチを確認します。実際には、RPI カメラモジュール v2 を持っており、ハードウェア仕様から imx219 を使用してそれを知りました。 フレックスケーブルが接続されたカメラを持っているので、それをアップしたいと思っています。 Re: Add support for RPi camera V2 in imx93 通常、お客様はIMX219出力を生データとして使用しますが、imx93はこれを直接処理できません。キャプチャだけが必要な場合は、imx93がサポートしています。その後、ソフトウェアを使用して生データを他の形式に変換します。メールを確認してください。パッチを参考用に送信します。 Re: Add support for RPi camera V2 in imx93 こんにちは@joanxie 返信ありがとうございます。 これは ap1302 用です。カメラモジュール RPi カメラ V2 を使用しており、センサは Sony IMX219 を使用しています。上記の手順で直接接続すると動作しますか? Re: Add support for RPi camera V2 in imx93 このアプリケーションを一度参照してください https://docs.nxp.com/bundle/UM11933/page/topics/getting_started.html Re: Add support for RPi camera V2 in imx93 パッチを公開していただけますか?
View full article
i.MX8/9 の Apple CarPlay Ultra こんにちは、 i.MX8 または i.MX9 シリーズ プロセッサで Apple CarPlay Ultra のサポートが計画されていますか?もしSOなら、予想されるタイムラインは何ですか? i.MX 8ファミリ | i.MX 8QuadMax (8QM) | 8QuadPlus Re: Apple CarPlay Ultra on i.MX8/9 これはプロサポートチームから得た情報です。また、プロサポートのメンバーの1人がApple CarPlay Ultraについて次のように話していました。 「現時点ではサポートしていませんし、FUTURE的にもサポートする予定はないと思います。これはアナ・ワーシー氏から始まる議論です。」
View full article
PCAL 6534 電源シーケンス 最初にオンにする必要がある電源は、VDD(P) または VDD(I2C_BUS) ですか? PCAL6534 には電源シーケンスが必要ですか? Re: PCAL 6534 Power sequence こんにちは、 正確なタイミングシーケンスは指定されていません。デザインで最初に VDD_I2C に電源を投入する場合は、I²C 通信を試行する前に、VDD_P が速やかに上昇し、POR しきい値に達することを確認してください。POR リセット遅延時間は、VDD_P がしきい値を超えてから約 1 µs であることに注意してください。SO、信頼性の高い動作を確保するには、VDD_P が安定した後、I²C トランザクションを開始する前に短い遅延 (数マイクロ秒など) を許可します。 BRs、トーマス Re: PCAL 6534 Power sequence タイミングを含む正確な電源シーケンスはありますか? 実際、デザイン上、VDD_I2C は VDD_P よりも先に電源が投入されます。 Re: PCAL 6534 Power sequence こんにちは、 VDD(P) は最初に電源を投入するか、少なくとも VDD(I2C_BUS) より遅くは投入しないでください。これにより、通信が開始される前に内部回路とレジスタが適切に初期化されます。 BRs、トーマス
View full article
有关针对 i.MX8ULP EVK(Core M33)的 Zephyr 开发的询价 您好,NXP团队, 我目前正在做一个项目,需要在 i.MX8ULP EVK 的 Core M33 上运行 Zephyr 实时操作系统。我想检查一下是否有任何现有的开发或引用可以在 i.MX8ULP 的 M33 内核上运行 Zephyr。 具体来说,我正在寻找 Zephyr 官方支持:i.MX8ULP 的 M33 内核是否正式支持 Zephyr?如果是,是否有任何现有的板配置或开发资源可用? 现有工作或社区贡献:是否有任何正在进行的开发工作或社区贡献可能有助于在此平台上运行 Zephyr? 参考项目:任何可以帮助将 Zephyr 移植到此平台的参考项目、示例应用程序或文档。 已知限制:在 i.MX8ULP M33 内核上使用 Zephyr 时,是否存在任何已知限制或挑战? 如能提供相关资源或文件的指导或指点,将不胜感激。 提前感谢您的帮助! Re: Inquiry on Zephyr Development for i.MX8ULP EVK (Core M33) 我想分享一下,我已经使用 Zephyr 成功编译并启动了 i.MX8ULP 的自定义板配置。板现在可以识别出来了,构造得很干净。 但是,我在早期初始化时遇到了一个阻塞问题: upower_checkreqWithArgs () 函数目前依赖中断驱动的回调(upower_IRQHandler)来设置标志(CallbackStatus)。由于 Zephyr 内核在此阶段尚未初始化,中断被禁用,调用会陷入等待该标志的 while 循环。 复杂性: 如果我提前启用中断以允许 IRQ 启动,就会遇到 UsageFaults 和堆栈损坏,这可能是由于过早访问或上下文不匹配造成的。 目标: 我想消除中断依赖关系,只在早期启动期间在轮询模式下处理upower请求。理想情况下,我想复制 IRQ 的功能--手动检查状态并设置标志--而不依赖于中断上下文。 有没有不带中断的 upower 驱动程序? Re: Inquiry on Zephyr Development for i.MX8ULP EVK (Core M33) 大家好, 感谢您之前的指导。我想分享一下,我已经使用 Zephyr 成功编译并启动了 i.MX8ULP 的自定义板配置。板现已获得认可,建设得井井有条,这是向前迈出的一大步。 但是,我在早期初始化过程中遇到了阻塞问题: 🧩 问题: UPOWER_CheckReqWithArgs() 函数目前依赖于中断驱动的回调(uPower_IRQHandler)来设置标志(callbackStatus)。由于 Zephyr 内核在此阶段尚未初始化,中断被禁用,调用会陷入等待该标志的 while 循环。 ⚠️ 复杂性: 如果我提前启用中断以允许 IRQ 启动,就会遇到 UsageFaults 和堆栈损坏,这可能是由于过早访问或上下文不匹配造成的。 🎯 目标: 我想消除中断依赖关系,只在早期启动期间在轮询模式下处理upower请求。理想情况下,我想复制 IRQ 的功能--手动检查状态并设置标志--而不依赖于中断上下文。 🧠 我需要什么: -关于如何安全地进行轮询以确保 UPower 请求完成的指南。 -参考任何表示请求完成的内部状态标志或寄存器。 -在 Zephyr 早期启动期间,在 i.MX8ULP 的轮询模式下使用 uPower 的任何已知注意事项或最佳做法。 如果您曾在恩智浦平台上使用过 uPower 或早期阶段的 Zephyr,希望您能提供任何见解或建议,我们将不胜感激。 再次感谢! Re: Inquiry on Zephyr Development for i.MX8ULP EVK (Core M33) 官方 Zephyr 支持:不,我们不支持 i.MX8ULP 的 M33。 i.MX8ULP 支持 HiFi4 DSP 内核 (ADSP) -https://github.com/zephyrproject-rtos/zephyr/tree/main/soc/nxp/imx/imx8ulp 现有工作或社区贡献:如何在 DSP 上运行 Zephyr 的示例(参见 https://www.nxp.com/docs/en/application-note/AN13970.pdf)可以作为一个起点。 关于如何在 Zephyr 中添加 M33 支持,可以参考其他示例,如 i.MX95 的 M7 支持(https://github.com/zephyrproject-rtos/zephyr/pull/74920/commits)。- i.MX943 上的 M33 支持(参见 https://github.com/zephyrproject-rtos/zephyr/pull/91107/commits)。 参考项目:上述 PR、参考手册或此处的其他文档、i.MX Linux 用户指南、应用笔记 AN5317 已知限制:不适用 Re: Inquiry on Zephyr Development for i.MX8ULP EVK (Core M33) 你好@sujitp: i.MX 8ULP 不在我们目前的计划中。 我们的重点是在 Cortex-A 内核上启用 Zephyr。 很抱歉,目前还没有这方面的文件。 也许我们将来会考虑 8ULP 计划,但需要了解更多的要求,才能做出评估。 此致 丹尼尔 Re: Inquiry on Zephyr Development for i.MX8ULP EVK (Core M33) AN13970是关于 HiFi4-DSP 的,与 im8ulp core m33 无关。 Re: Inquiry on Zephyr Development for i.MX8ULP EVK (Core M33) 你好,苏吉普 根据https://docs.zephyrproject.org/latest/boards/nxp/index.html 支持的恩智浦 i.MX MPU 板包括: ... ... 遗憾的是,这里没有列出 i.MX 8ULP。 我建议你参考 AN13970,它描述了在 Arm Cortes-A 或 Cortex-M 内核上运行 Zephyr 以及如何实现它。 此致 丹尼尔
View full article
S32G2 上的 LLCE CAN 通信问题 - 发送/接收报文时偶尔出现故障 在开发过程中,LLCE CAN 模块遇到了一些问题: ​设备详情:​ 定制设计的硬件 CPU 型号:S32G274 RTD 版本:4.0.2 LLCE 版本: 1.0.8 ​问题 1.​ 一个通道能正确接收信息,但无法发送信息。只有重新启动后才能恢复正常运行。 使用 Lauterbach 调试时,函数 Can_43_LLCE_SendWritecmd 返回 CAN_BUSY。 通过强行修改 Can_au16TransmitHwObjectCen[x] 的值为非零值进行的进一步测试表明, Can_Llce_write 函数也返回 CAN_BUSY。 ​问题 2.​ 一个通道在发送和接收信息时都出现故障。需要重新启动才能恢复。 以下是通过 Can_Llce_ProcessErrorNotification 获得的错误信息: error->eNotifId:2 error->ErrorInfo->eModuleId:102 error->ErrorInfo->eErrorCode:7 我们希望得到解决这些问题的指导。谢谢! Re: LLCE CAN Communication Issue on S32G2 – Occasional Failures in Sending/Receiving Messages 嗨,zhuyz 感谢您的回复。 建议优先进行单通道测试,并尽可能延长向通道发送帧的时间间隔。 错误信息表示接收端已达到最大硬件对象数,即报文缓冲区已满,无法接收新报文。您可以尝试增加帧时间间隔并添加缓冲区进行测试。 BR 乔伊 Re: LLCE CAN Communication Issue on S32G2 – Occasional Failures in Sending/Receiving Messages 你好,Joey_z ,感谢您的跟进。 您可能没有看清楚我的问题--主要问题是出现问题后,我再也无法通过这个通道接收/发送信息,而不仅仅是偶尔掉帧。 根据我通过劳特巴赫获得的信息,我怀疑 LLCE 本身存在问题,而不是外部因素造成的。能否请您再次回顾一下我最初的问题? Re: LLCE CAN Communication Issue on S32G2 – Occasional Failures in Sending/Receiving Messages hi,zhuyz 感谢您的回复。 请尝试用这种方法测试您的问题。 1.尝试降低 CAN 负载,增加 CAN 帧的时间间隔,检查丢帧现象是否得到缓解。 2.尽量保持测试方法简单,优先考虑单通道测试和只发送或接收帧的测试。例如,首先测试有问题通道的发送功能。 3.你们的 CAN 测试设备是什么?请确保测试设备可靠。 希望这能帮到你。 BR 乔伊 Re: LLCE CAN Communication Issue on S32G2 – Occasional Failures in Sending/Receiving Messages 你好,Joey_z, 我没有用它来路由 CAN 帧,我只是用它来发送和接收 CAN 帧。 关于您提到的 CAN 环回模式,我前面提到的问题 1 就是用这种方法检测到的。 你的回答让我有点困惑。我希望您能提供一些故障排除方法和可能的原因。 因为对我来说,LLCE 是一个黑盒子,我目前没有能力继续排除故障。 Re: LLCE CAN Communication Issue on S32G2 – Occasional Failures in Sending/Receiving Messages 嗨,zhuyz 感谢您提供的信息。 路由 CAN 帧 "是指 LLCE 中的 CAN2CAN/CAN2ETH/ETH2CAN 功能。您使用过吗? 如果您只是使用 LLCE 发送和接收 CAN 帧,我建议您可以尝试使用 CAN 环回演示进行测试。您需要修改关联客户板的代码。 关于问题发生的概率相对较低,而且不是每次都能重现。 如果要进行接收帧然后在 CAN 信道中发送的测试,建议考虑接收和发送之间的间隔时间。 BR 乔伊 Re: LLCE CAN Communication Issue on S32G2 – Occasional Failures in Sending/Receiving Messages 你好,Joey_z ,感谢您的回复。 我没有使用 LLCE CAN 演示测试这个特定通道,因为在我的案例中,问题并不总是与固定通道相关联。此外,该问题出现的概率相对较低,而且并非每次都能重现。 关于问题 1,我正在使用它收发 CAN 报文。我不太清楚你说的 "路由 CAN 帧 "是什么意思。 所有 20 个通道都在使用,而且都在 M7-0 内核上运行。 Re: LLCE CAN Communication Issue on S32G2 – Occasional Failures in Sending/Receiving Messages hi,zhuyz 感谢您与我们合作。 您是否使用过 Can_Llce_DS_Can2Can_S32G274A_M7 的 LLCE CAN 演示来测试问题通道? 关于问题 1,您是用它来路由 CAN 帧还是只发送报文? 您使用的是哪个频道?您只在 S32G 上使用了 M 内核? BR 乔伊
View full article
RW612 ROM 引导加载程序卡在 ISP 模式,无法从外部闪存加载 MCUBoot 问题描述 我在使用恩智浦 RW612 时遇到了一个持续的问题,即无论使用哪种二进制结构或配置,ROM 引导加载程序总是进入 ISP 模式,而不是从外部闪存启动。 症状 一致的 ISP 模式:设备始终以相同的寄存器值进入 ISP 模式 PC 寄存器:0x1302B460(ROM 引导程序地址) 神奇数字R1=0x5AC33CA5, R3=0x5AC33CA5, R6=0x55AACC33, R7=0x33CCAA55, R8=0x5AA55AA5, R10=0xC33CA55A, R11=0x55AACC33 性能:所有测试配置完全相同 我的测试结果 自定义 McuBoot 版本: 已签名和未签名的二进制文件 不同的 FCB 配置(带/不带 CMML) 各种偏移配置(0x400、0x1000) 官方 Zephyr 样品: frdm_rw612 板配置 rd_rw612_bga 板配置 sysbuild 和标准版本 用 imgtool 签名 二进制结构已验证: 偏移量 0x0000 处的 MCUBoot 头魔法 (0x3DB8F396) FCB 签名 (FCFB),偏移量 0x0400 带有 LUT 条目的完整 FlexSPI 配置 适当的 IVT/MBI 标头 当前设置 板:采用 RW612 的定制板 外部闪存:Fidelix 存储器(IRIS-W106-30B 模块) 工具链:Zephyr 4.1.0使用 Zephyr SDK 0.17.0 编程通过 SWD 接口连接 J-Link 社区问题 启动顺序要求:RW612 ROM 引导加载程序成功从外部闪存启动的确切要求是什么?是否有我遗漏的特定硬件配置要求? FCB 格式验证:ROM 引导加载程序期望的 FCB 格式是什么?是否有必须满足的验证要求或特定参数? 硬件配置:外部闪存熔丝所需的特定跳线设置、引脚配置或启动设置是否未记录在案? 已知问题:RW612 ROM 引导加载程序和外部闪存启动是否存在已知问题?有人成功从外部闪存启动过吗? 工作示例:有没有人有在 RW612 上成功从外部闪存启动的工作示例?您使用的是什么配置? 替代方法:如果外部闪存启动存在局限性,那么推荐的生产部署替代方案是什么? 调试步骤:你建议采取哪些调试步骤来确定 ROM 引导加载程序拒绝 FCB 的原因? 补充背景 事实上,即使是官方 Zephyr 样本(frdm_rw612 和 rd_rw612_bga)也会导致相同的 ISP 模式行为,这表明这可能是其中任何一种模式的根本问题: ROM 引导加载程序的实现 硬件配置要求 我们对启动过程的理解 如能提供任何指导或工作实例,将不胜感激! Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 你好,@dstarck。 为了获得更好的模块支持,我建议您直接联系模块制造商(uBlox),以获取与您的模块相关的各种文档。 如果您还有其他问题,请告诉我。 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 谢谢,我看到了我想,当我实施它时,它没有工作...我需要回去再看一遍。 此外,我最近还发现 Segger(例如我的 jLink Pro)没有加载器可以正确刷新包含 RW612 芯片的 IRIS-W106-30B 模块使用的 Fidelix 型内存的二进制文件... 所以我也必须弄清楚(除非你有我能使用的加载器)。 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 你好,@dstarck。 感谢您提供最新的测试结果。关于闪存锁定,请参阅 "如何解决 FRDM-RW612 闪存问题(闪存锁定)"帖子,只需注意在创建新工作区时选择模块专用内存即可。 如果您能解锁闪光灯,请告诉我。 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 仅供参考...我能够实现这些变化。 目前,我的定制板已经锁定了闪存,我正在努力在刷新和测试之前将其解锁。 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 是的,我知道了,并做了修改。 我正在使用一款带有 IRIS-W106-30B 模块(包含 RW612)的定制板。我将在周末进行测试。谢谢。 如果有问题,我会联系他们,并汇报我的进展情况。 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 你好,@dstarck。 关于您需要签名/身份验证的启动映像的问题,请参阅 UM11865 第 78 页,其中详细介绍了启动过程的验证,如果您没有使用安全启动 ROM,则镜像不需要签名。 此外,请确认您是否遵循了我从应用程序代码中心分享的指南/示例。 如果这些信息有用,请告诉我您的发现。 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 顺便说一下...昨天深夜我找到了 UM11865 用户手册...我还将查看您发布的文件......以下是我今天上午的调查摘要: IRIS-W106-30B 模块(基于 RW612)的 ROM 引导加载程序仍停留在 ISP 模式(PC = 1302B460),而不是从外部闪存切换到 MCUBoot 引导加载程序。 调查结果 ✅ 已确认的工作元器件: -通过 FCB(闪存配置块)访问 FlexSPI 外部闪存-FCB 签名:42464346 位于 0x08000400 -IVT(图像矢量表)签名:0x08001040 处的 402000D1 -Arm Cortex-M33 矢量表:0x08001400 处的有效堆栈指针 3000B320-外部闪存编程和验证成功 -ROM 引导加载程序可读取的所有启动结构 ❌ 已确定根本原因: -IVT boot_data_ptr (0x08001060) 指向包含全零的位置-链接 器未将启动数据结构正确放置在闪存中 -ROM 引导加载程序会验证启动结构,但在验证阶段拒绝映像 主要技术细节: - 内存布局:FCB@0x400 → IVT@0x1040 → ARM_vectors@0x1400 - IVT 指针:boot_data_ptr=0x08001060,self_ptr=0x08001040 - ROM 引导加载程序成功初始化 FlexSPI 并读取闪存内容 - 问题发生在映像验证期间,而非闪存访问期间 版本配置: -将 Zephyr RTOS 与 mcuBoot 一起使用-config_nxp_rw6xx_boot_header=Y -config_trusted_execution_nonsecure=Y-适用于 IRIS-W106-30B 的自定义 IVT 标头和 FCB 恩智浦社区的剩余问题 RW612 ROM 引导加载程序是否需要签名/经过身份验证的启动映像才能移交 给外部闪存引导加载程序? ROM 引导加载程序似乎可以正确验证所有启动结构,但拒绝 移交。缺少启动数据结构表明: 1.链接器脚本问题导致无法在 Flash 2 中正确放置启动数据。即使是移交引导加载程序,ROM 引导加载程序也需要签名映像(HAB/安全启动)3. 其他验证要求(我将查看文档) 如果您对 RW612 专用 ROM 引导加载程序的验证要求有更多了解,我们将不胜感激。 非常感谢你们的帮助! Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 非常感谢,我会去看看,并向您汇报。 我认为问题的根源在于 ROM 引导加载程序无法验证闪存中的 MCUBoot 引导加载程序...我将在今天晚些时候向您汇报 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 你好,@dstarck,希望你一切都好。 请查看 产品页面 上的 UM11865-RW61x 用户手册的第 11 章- 非安全启动 ROM ,其中包含有关 RW61x 启动模式以及 FCB 配置和结构的信息。 此外,请参阅从 FRDM-RW612 到第三方模块存储器的迁移指南,其中提供了配置 IRIS-W106-30B 特定闪存的指南和示例。 注意:你提到你曾尝试将 RD-RW612-BGA 二进制文件加载到 EVK 中,此过程可能会导致闪存锁定而无法写入闪存,如果你看到这种行为,请查看以下关于如何解决问题的文章:如何解决 FRDM-RW612 中的闪存问题(闪存锁)。 如果这些资源对你有帮助,请告诉我。
View full article
CMU 参考计数计算 RTD 与参考手册之间的差异 这篇文章是这里的副本,设备:S32G3 在参考手册 RMS32G3 修订版 4 第 69.6 节编程指南中: 3*fref /fbus 8+(5*ref/fmonitored) 代码中 (Mcu_TS_T40D11M40I2R0/src/Clock_Ip_Monitor.c) 3*fref /fbus 9+(5*ref/fmonitored) 80(clock_ip_cmu_reference_counter_minimum_value) 我不确定在参考手册中的哪个位置将 80 作为参考数的选择,也不确定为什么他们在第二个方程中选择 9 而不是 8。应该更新参考手册还是更新代码?有人能帮忙澄清一下吗?谢谢 Casper RTD Re: CMU Reference Count calculation discrepancy between RTD and Reference Manual 你好,@CasperQian、 从我的角度来看,正如您在公式中看到的那样:它包含了"...... ",这意味着如果结果是 8.1,它将返回 9。因此,用 9 代替 8。 从 RM 中选择 80 作为 RCCR 的最低参考数如下: 顺祝商祺! Nhi
View full article
S32G: BSP43 ATF 和 linux 能否在不支持任何 uboot 的情况下为 scmi nvmem 工作? 专家们好 客户:福特 平台:S32G2 软件/模块:BSP43 SCMI 客户正在尝试启用 nvmem scmi 读取 soc_major& soc_minor。它们使用 BSP43 ATF 和 linux,但使用自己的引导加载器。他们在内核启动期间看到了一些错误。 客户的问题是:BSP43 ATF 和 linux 能否在不支持任何 uboot 的情况下使用 scmi nvmem? 提前感谢您的专业支持。 顺祝商祺! 狮子座 Linux BSP Re: S32G: Could BSP43 ATF and linux work for scmi nvmem without any uboot support? 你好@ghennadi_procopciuc 谢谢您的回答。 那么,我可以这样理解吗? 客户没有在 M7 端启用 SRM,而 ATF 和 Linux 都能正常工作,就像启用了 SMR 一样。 BR、 狮子座 Re: S32G: Could BSP43 ATF and linux work for scmi nvmem without any uboot support? 你好@LeoLiAP、 从提供的日志中可以明显看出,福特是在没有SRM的情况下启动他们的平台,如以下行所示:注意:BL31:SR M禁用版本。这意味着不需要 SCMI NVMEM,因为 TF-A 不会处理该协议。 由此产生的错误在意料之中: 错误:代理 1 协议 0x82 消息 0x0:不支持 [0.333763] arm-scmi 固件:scmi:无法 获取版本 [0.334178] scmi-nvmem scmi_dev.6:无法检索 SCMI NVMEM 操作 [0.334658] scmi-nvmem:对 scmi_dev.6 的探测失败 ,错误- 95 福特使用的似乎是混合设置--FF-A 没有配置 SRM,因此 SCMI 命令在本地处理,而不是转发到 M7 内核。但是,Linux仍然希望通过设备树支持SCMI NVMEM,这会导致不匹配。 最简单的解决方法是更新 Linux 设备树以使用 SIUL2 NVMEM,而不是依赖 SCMI NVMEM。 此致, 根纳迪 Re: S32G: Could BSP43 ATF and linux work for scmi nvmem without any uboot support? 错误日志如下。
View full article
S32 汽车平台:先进控制系统的性能 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 燃烧和发动机控制正在转向计算密集型技术。了解 S32 汽车平台如何利用 Arm ® NEON 和数学加速来支持这一趋势。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 燃烧和发动机控制正在转向计算密集型技术。了解 S32 汽车平台如何利用 Arm ® NEON 和数学加速来支持这一趋势。
View full article
引导过程 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本节介绍各种非易失性存储器类型或 UART 的 LPC32x0 启动过程。 根据启动设备,启动映像大小可能会受到限制。此限制可能会阻止所需的映像最初加载和执行 - 而是需要先加载较小的引导加载程序,然后使用它来加载和运行功能更强大的引导加载程序或应用程序。 LPC32x0 启动选项 LPC32x0 支持从小块和大块 NAND FLASH、SPI EEPROMS 或 FLASH、NOR FLASH 以及通过 UART 启动。在生产系统中,不使用 UART 启动方法。然而,UART 启动方法在早期电路板调试中非常有用, LPC32x0 的启动顺序如下:UART、SPI、NOR、NAND。可以禁用 UART 启动以减少启动时间。在尝试下一个启动设备之前,将先尝试每个启动设备。如果启动 ROM 找到将设备标识为可启动的特殊启动模式,则该设备可启动。系统可能有 SPI FLASH、NOR FLASH 和 NAND FLASH,并且尽管首先尝试了 SPI 和 NOR 方法,但只能从 NAND FLASH 启动。(例如,Phytec 3250 板具有所有这 3 个启动设备,但通常从 NAND FLASH 启动)。 当LPC32x0芯片复位时,内部启动ROM被执行。它查询每个设备以寻找用于标识设备是否可启动的特殊启动模式。第一个返回正确模式的设备将被引导 ROM 用作可引导设备。然后,引导 ROM 将从可引导设备(NAND 和 SPI FLASH)复制数据或将控制权转移到可引导设备(NOR FLASH)。 以下章节将解释每种启动方法。有关 LPC32x0 启动过程的更多信息,请参阅 LPC32x0 用户指南。 UART启动 UART 启动选项允许将二进制文件下载到电路板中,然后在 NAND、SPI 或 NOR FLASH 中运行任何代码之前执行。这对于将新图像刻录到 FLASH、测试简单应用程序或从损坏的启动代码中恢复主板很有用。 UART 启动与 CDL 包中的刻录工具一起使用,将引导加载程序编程到启动设备中。UART5 支持 UART 启动选项,因此新设计应该使 UART5 可用于调试。对于完全从 IRAM 运行的系统,这允许系统通过 UART 下载图像,一旦执行该图像,即可提供交互式访问。下载的交互式程序可用于带宽或内存测试、寄存器转储、进一步的图像加载或其他功能。 可以使用此启动方法使用S1L的初始版本来测试不同的 SDRAM 配置(使用附带的 SDRAM 初始化代码)。使用这种方法,可以大大简化 SDRAM 代码的启动和调试(推出新电路板时最棘手的问题之一)。 NOR FLASH启动 在从 NOR FLASH 启动的系统上,ARM 内核直接从地址 0xE0000004 开始执行 NOR FLASH 设备中的代码。地址 0xE0000000 处的前 4 个字节用于引导 ROM 所需的特殊引导模式值,以将设备标识为可引导并提供引导宽度(8、16 或 32 位)。 SPI FLASH/EEPROM启动 在从 SPI 启动的系统上,一个小图像从偏移量为 0x8 的 SPI EEPROM 或 FLASH 设备复制到地址为 0x00000000 的 IRAM 中。前 4 个字节用于引导 ROM 所需的特殊引导模式值。接下来的 4 个字节用于指定在 SPI 设备中偏移量 0x8 处加载的图像的大小。将图像加载到 IRAM 后,控制权转移到地址 0x00000000。 使用此方法可以加载的最大映像启动大小为 54K。 NAND闪存启动 在从 NAND FLASH 启动的系统上,一个小图像从 NAND 设备的块 0 或块 1 复制到地址 0x00000000 的 IRAM 中。NAND FLASH 启动的最大可启动映像大小为 54K,或 1 个块减 1 页,以较小者为准。引导块的第一页用于存储引导信息,例如引导映像大小和引导序列所用的引导 ROM 所需的值。 对于小块 NAND(每块 32 页,每页 512 字节),并且块的第一页专用于启动 ROM 启动信息,则最大启动大小为 31 页,每页 512 字节,即 15.5K。对于大块 NAND(64 页,每页 2K 字节),最大启动大小为 54K 字节。 启动 ROM 始终使用 MLC NAND 控制器进行 NAND 启动。这就需要将由引导 ROM 从 NAND 引导的引导映像通过 MLC NAND 控制器或 MLC NAND 控制器所需的 ECC 算法编程到 NAND 中。
View full article
编写 K32L3A MCU 闪存 IFR 字段                                      编写 K32L3A MCU 闪存 IFR 字段 简介 K32L3A60VPJ1AT MCU 是下一代 Kinetis 双核设备。该设备带来了传统 Kinetis 设备不支持 的处理和多任务处理功能。此外, K32L3A60VPJ1AT 还提供了改进的功耗和安全功能。这 些安全功能的一些重要方面在于非易失性信息寄存器(IFR)存储区域以及该区域的编程方 式。 IFR 存储器区域是与主阵列分离的具有受限访问的储器空间,并且由可擦除 IFR 区域和 不可擦除 IFR 区域组成。不可擦除的 IFR 区域包括程序的一种标识符和版本标识符。可擦 除的 IFR 区域具有闪存安全性,闪存选项,批量擦除启用以及控制设备行为的其他此类功 能。在旧版 Knietis 设备中,主闪存阵列的某些字段(闪存地址 0x400-0x40F)在引导时配 置了 IFR。但是,在 K32L3A60VPJ1AT 中,不再以这种方式控制 IFR 存储区。尝试配置这些 设置时,这会带来挑战。 本文档的目的是解释如何更改这些设置,并提供一些有关如何进 行这些更改的选项。 配置 IFR 字段的第一步是了解如何通过硬件对这些字段进行编程。使用称为“程序索引命令” 的特殊闪存命令对 IFR 字段进行编程。编程后,必须先擦除这些字段,才能重新编程闪存 配置值。擦除这些值的唯一方法是通过批量擦除。这提供了安全性,因为在不删除用户代 码的情况下也无法更改 IFR 值。此外,更改用户代码映像不会影响引导加载程序的操作, 从而确保可以执行安全的引导功能。此处描述了写入可擦除 IFR 值的过程: 1.使用程序索引命令(0x43)写入 FCCOB0。 2.用要编程的索引写入 FCCOB1.可能的索引列在“可擦除 IFR 映射”表中(K32L3A6 参考 手册中的表 16.4.1.2)。 3.将 FCCOB2 和 FCCOB3 写入 0x00,因为此命令不使用它们。 4.用所需的值写入 FCCOB4 - FCCOBB。(请注意, 并非所有索引都使用所有 FCCOB 字 段。请确保查阅 Erasable IFR Map 表,其中 FCCOB 字段用于您正在编程的索引。) 5.将 0x70 写入闪存状态寄存器(FSTAT),以清除上一个闪存命令中可能存在的任何错 误。(请注意,此命令必须是字节写操作。) 6.将 0x80 写入闪存状态寄存器(FSTAT)以启动已编程的闪存命令。 7.轮询 FSTAT 寄存器,直到 CCIF 位字段(位字段 7)为 1(‘1’)为止。(请注意, 用您 的脚本语言可能无法执行此操作,或者仅等待 flash 命令完成执行可能会更容易。在这 些情况下,等待时间比典型的 Program Index 命令完成时间 110us 长的多) 对 IFR 进行编程后,应回读 IFR 以验证其是否正确完成。其过程如下: 1.使用读取索引命令(0x41)写入 FCCOB0. 2.将 FCCOB1 写入要读取的索引。可能的索引列在“可擦写 IFR 映射“表中(K32L3A6 参 考手册中的表 16.4.1.2)。 3.用 0 写入 FCCOB2-FCCOBB。结果将存储在 FCCOB4-FCCOBB 中,因此,应清除这 些内容以确保收到正确的结果。 4.将 0x70 写入闪存状态寄存器(FSTAT),以清除上一个闪存命令中可能存在的任何 错误。注意,该命令必须是字节写入。 5.将 0x80 写入闪存状态寄存器(FSTAT)以启动已编程的闪存命令。 6.轮询 FSTAT 寄存器,直到 CCIF 位字段(位字段 7)为 1(‘1’)为止。(请注意,在您 的脚本语言中可能无法执行此操作,或者只是简单地等待 flash 命令完成执行可能会 更容易。在这些情况下,等待时间要比最长的读取索引命令完成时间 35us 长的多) 使用程序索引命令时,必须知道要修改哪个索引才能创建正确的 Flash 命令。索引列表可 以在 K32L3A60VPJ1AT 参考手册的 Flash 章节的 IFR 描述部分中找到。 有几种不同的选项可用于对 FORT 字段进行编程。这些选项是: 1.使用 Kinetis Flash 工具 2.使用 blhost 3.调试器脚本 4.用户软件中的子例程 选项#1: Kinetis Flash 工具 使用 Kinetis Flash Tool 可能是更改 IFR 值的·最方便的方法。 Kinetis 闪存工具使用 UART 或 USB 协议与 K32L3A6 引导加载程序接口并写入所需的 IFR 字段。 Kinetis Flash 工具的最大优 点之一是,它为用户提供了一个图形界面,可以轻松的对 IFR 字段进行编程。下图是 Kinetis Flash 工具的图片,并突出显示了对 IFR 字段进行编程时要使用的重要输入控件和选 项卡: 1.此字段是端口集框。他选择与引导加载程序通信时要使用的接口(UART 或 USB)。此 框还允许配置接口。有关默认配置,请查阅 K32L3A6 参考手册。 2.这是“Flash 实用工具”选项卡。选择此选项卡以查看此图像中显示的控件。 3.这是索引输入字段。应在此处输入要编程的 IFR 的索引。 4.这是十六进制数字字段。该值将在“索引”字段中指示的 IFR 索引处进行编程。此处的 值应为十六进制格式,而不能包含前面的“0x”。 5.这是字节计数字段。这告诉实用程序要编程多少个字节,并且必须是该 IFR 索引的值, 请参考参考手册中的“可擦除 IFR 映射表”。 6.这是程序按钮。填写完所有字段后,单击此按钮可以对所需的 IFR 位置进行编程。 选项#2: BLOHOST MCUBoot 软件包还包括一个命令行可执行文件,可与引导加载程序交互。该工具 blhost 还 可用于对 IFR 字段进行编程。“flash-program-once”命令应用与对所需的 IFR 位置进行编程。 该命令的语法如下: flash-program-once 因此,例如, 如果要使用 0xFFFFF3FF 编程 FOPT IFR 字段(记录索引 0x84),则使用此命令 的正确语法应为 flash-program-once 0x84 4 FFFFF3FF 编程后,“一次刷新读取”命令可用于回读并验证已编程的 IFR 字段。以下是使用以前的 IFR 位置的示例 flash-read-once 0x84 4 以下是使用 blhost 擦除设备,对 FOPT IFR 进行编程以及从命令行读回 FOPT IFR 的完整示 例。 选项#3:调试器脚本 简单的调试器脚本是写入 IFR 值的另一种便捷方式。调试器脚本在调试会话启动过程的后台 执行(因此是用户的隐藏操作),通常可以使用任何文本编辑器轻松地对其进行编辑。但是, 更改值可能更麻烦,因为这通常必须由用户在每次编程时手动完成。考虑到这一点,最好为 不同的配置使用不同的连接脚本 使用调试器脚本的第一步是编写调试器脚本。调试器脚本的功能和语法取决于您的工具链。 就本文档而言,我们将重点介绍 MCUXpresso IDE。 MCUXpresso IDE 使用与调试器无关的 PokeXX 和 PeekXX 命令(其中 XX 是 8、 16 或 32,具体取决于要对所需寄存器进行字节访 问,半字访问,还是字访问)。因此,无论您使用 JLink 或 CMSIS-DAP 进行调试,还是使用 任何其他调试器,在设备上运行的相同命令将继续起作用。下面是一个 MCUXpresso 连接脚 本示例,该脚本写入 FOPT 寄存器,然后将其读回以打印到调试日志。 5140 REM ====================Program FOPT=================================== 5150 poke32 this 0x40023004 0x43840000 5160 REM Stuff FCCOB registers with desired FOPT value 5170 Poke32 this 0x40023008 v% 5171 Print “New Val “;~s% 5180 Poke32 this 0x4002300c 0x00000000 5180 Poke8 this 0x40023000 0x70 5190 Poke8 this 0x40023000 0x80 5200 wait 1000 6000 REM ================== Read FOPT ===================================== 6001 REM Now read the FOPT back 6010 Poke32 this 0x40023004 0x41840000 6020 Poke32 this 0x40023008 0x00000000 6030 Poke32 this 0x4002300c 0x00000000 6040 Poke8 this 0x40023000 0x70 6050 Poke8 this 0x40023000 0x80 6060 wait 1000 6070 s% = Peek32 this 0x40023008 6080 Print "New FOPT Val ";~s% 请注意,在上面的脚本中, v%是所需的 FOPT 值,并且它已在未显示的脚本部分中定义 (第 164 行)。 162 REM This is the value to be written to the FOPT 164 v% = 0xfffff3ff 编写脚本后,必须告知 MCUXpresso 使用连接脚本。这是在“调试配置”窗口中完成的。假设 已创建调试配置,请单击绿色错误图标旁边的箭头,然后选择“调试配置”。 在出现的对话框中,选择要使用的调试配置,然后选择“Linkserver 调试”选项卡。在“连接脚 本”字段中,将 MCUXpresso 指向连接脚本的位置。 这就是在 IDE 中需要完成的所有工作。现在,所选的调试配置应使用编写的脚本。 一些调试器将允许脚本的独立命令行运行,例如 JLink 调试器。由于 JLink 是我们遇到的最 受欢迎的外部调试器之一,因此下面提供了使用此脚本进行编程的示例。 //现在对 FOPT 进行编程 w4 0x40023004, 0x43840000 //43 选择程序索引命令。 84 选择 FOPT IFR 字段。 //用我们要写入的 FOPT 值填充 FCCOB 寄存器(4-7)。 //**(启动设置) ** w4 0x40023008, 0xfffff3ff //写入 0xFFFF_1FFF 以从内部 Flash 引导 M4。声明 NMI 引 脚将强制从 ROM 引导。 //用伪值写入 FCCOB 寄存器 8-B。 w4 0x4002300c, 0x00000000 //写入 FSTAT 寄存器以清除可能存在的任何错误。 w1 0x40023000, 0x70 //启动 flash 命令。 w1 0x40023000, 0x80 //等待 flash 命令完成。 Sleep1 //现在读回 FOPT w4 0x40023004, 0x41840000 //43 选择程序索引命令。 84 选择 FOPT IFR 字段。 //用我们要写入的 FOPT 值填充 FCCOB 寄存器(4-7)。 //**(启动设置) ** w4 0x40023008, 0x00000000 //写入 0xFFFF_F1FF 以从内部 Flash 引导 M0+。声明 NMI 引脚将强制从 ROM 引导。 //用伪值写入 FCCOB 寄存器 8-B。 w4 0x4002300c, 0x00000000 //写入 FSTAT 寄存器以清除可能存在的任何错误。 w1 0x40023000, 0x70 //启动 flash 命令。 w1 0x40023000, 0x80 //等待 flash 命令完成。 Sleep1 //读回内存以验证重置后应该显示的 FOPT 设置。 mem32 40023000, 4 选项#4: 用户软件中的子例程 有时,系统的要求将阻止实施上述任何方法来对 IFR 值进行编程。在这种情况下,您可能需 要实现自己的子例程来对 IFR 进行编程。这样做的过程与调试器脚本方法基本相同,只是用 代码而不是外部脚本编写。要记住的一个关键是您可能需要擦除整个闪存。因此,此子例程 应放在 RAM 内存中。由于正在执行闪存操作,因此将其置于 RAM 中将防止发生某些闪存 错误。 结论 总之, IFR 寄存器是非易失性信息寄存器,用于控制 K32L3A MCU 的某些行为。 IFR 分为可 擦除 IFR 空间和不可擦除 IFR 空间,它们都不是主闪存阵列的一部分。对这些值进行编程需 要使用特殊的闪存命令,并且要求自上次批量擦除以来尚未写入这些值。通常,有四种不同 的编程 FOPT 寄存器设置的方法。四种方法是: 1.Kinetis Flash 工具 2.BLHost 命令行界面 3.调试器脚本 4.用户软件子程序 每种方法都有其优点,因此,您应该选择一种满足您需求并且最方便的方法。但是,无论选 择哪种方法,在写入可擦除 IFR 字段之前都不能对 IFR 值进行编程。在尝试对任何 IFR 字段 进行编辑之前,最好执行批量擦除(可以使用本文档中介绍的任何方法进行擦除)。 Technologies
View full article