Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
PCA9539 RESET 问题取决于 I²C 连接状态 你好 我正在使用 PCA9539 I/O 扩展器,遇到了意外的 RESET 问题,这似乎取决于 I2C 连接状态。 问题如下: 我通过 I²C 通信将 PCA9539 的所有输出端口配置为高电平。 输出引脚按预期保持高电平。 但是,当我移除 SDA/SCL 探头(用于监控 I2C 总线)时,PCA9539 似乎 RESET 了——输出引脚恢复到默认状态。 在此过程中,VCC 保持稳定,持续供电,RESET 引脚通过上拉电阻器保持高电平。 MCU 没有故意发出 RESET 信号或电源重启 其他说明: 在相同的测试条件下,PCA9538 没有出现这个问题。 存在 I2C 上拉电阻。 电源稳定,可与电容解耦。 RESET 引脚在事件期间未显示异常活动。 我怀疑,断开探测器连接时出现故障或启动/停止状态不完整可能会导致 PCA9539 的内部 I2C 状态机进入故障状态,从而导致类似RESET的行为。但是,我没有找到任何文件可以确认 PCA9539 是否可以在不明确 RESET 或重新通电的情况下清除其输出寄存器。 据我所知,就 I2C I/O 扩展器而言,只要有电源供应,无论是否连接了 I2C 探头,它都应保持其配置。您能确认这种理解是否正确吗? 问题 在任何情况下,PCA9539 可以在没有 RESET 引脚断言或电源循环的情况下 RESET 其输出寄存器或 I2C 逻辑? 拆除探头期间 SDA/SCL 出现的故障是否会导致设备进入故障状态并丢失其配置的输出? 既然 PCA9539 和 PCA9538 的功能相似,为什么 PCA9539 会出现这种行为,而 PCA9538 却不会? 不管 I²C 总线连接如何,只要有电源,I2C I/O 扩展器都应保持其配置,这是否正确? 如果您对此行为有任何见解或官方文件,我们将不胜感激。 谢谢!
View full article
使用 LCD 针座时相机针座上的可用引脚 - FRDM-MCXN947 我想弄明白,在使用 smartdma 的 LCD-PAR-S035 显示器上使用 LCD 接头(J8)时,相机接头(J9)上的引脚是否可以用作 GPIO? 在配置工具中,它们并不显示为冲突,但当设置为 GPIO 时,我似乎仍无法正确读取。 有人能确认(J9)引脚不能同时用作 GPIO 吗? 谢谢   开发板 FRDM 培训 MCX N Re: Available pins on the camera header when using LCD header - FRDM-MCXN947 你好@cyberhelmer、 谢谢您的帖子。 我认为您可以参考 frdm-mcxn947 的用户手册。它列出了 FlexIO 和相机标头的所有潜在冲突。 从技术上讲,J9 上的引脚可以配置为 GPIO。 但是,如果 SmartDMA 正在积极使用 FlexIO for LCD,并且 J9 引脚与 FlexIO 或其他有源外设共享,则由于总线争用或引脚多路复用器冲突,GPIO 读取可能会失败。 我建议您检查项目配置中的引脚复用器,确保 J9 引脚没有同时分配给 FlexIO、CAN、I3C 或以太网。如果需要,还可检查和调整焊接跳线。您可以暂时禁用 SmartDMA,并测试从 J9 读取的 GPIO 数据,以确认它们能独立工作。 希望对你有所帮助。 BR 西莱斯特
View full article
CST 4.0.1 の Openssl バージョン こんにちは、 NXPからCST 4.0.1(コード署名ツール)をダウンロードし、 docsフォルダ内のドキュメント(具体的にはUG10106 )を確認したところ、セクション3.1.1に遭遇しました。CST はUbuntu 22.04をサポートし、 OpenSSL 3.2.0が必要であると記載されています。 しかし、私の現在のUbuntu 22.04システムにはOpenSSL 3.0.2が搭載されています。インストールされました。OpenSSL 3.2.0へのアップグレードが心配です既存のシステム依存関係が壊れる可能性があります。CST を使用するには、本当に OpenSSL をアップグレードする必要がありますか?もしSOなら、システムに影響を与えずにそれを実行する最も安全な方法は何ですか? 参考までに、UG10106 のスクリーンショットも添付しました。 ありがとうございます カルティーク Re: Openssl Version for CST 4.0.1 こんにちは@kartheek ! NXP サポートにお問い合わせいただきありがとうございます。 CST ツールの推奨バージョンは OpenSSL 3.2.0 です。 残念ながらOpenSSL 3.0.2のバージョンはテストしていません。このツールを使用する場合は、システムにインストールされているバージョンの CST ツールを試すことをお勧めします。ツールが期待どおりに動作しない場合は、ユーザー ガイドで推奨されているバージョンをインストールしてみてください。 よろしくお願いいたします。 チャビラ
View full article
S32G3-Linux 上 A53 Core 的 FlexCan 示例版本 您好, 当我版本 FlexCan 示例项目时,我想获得一个 .elf可执行文件,可在Linux 下的 A53 内核上运行。 不过,该示例似乎是为M7 内核设计的。 有没有办法版本或调整 FlexCan 示例,使其生成可执行文件 .elf是否适合 A53 内核? 我还尝试从头开始创建一个针对A53的新应用程序项目,但我不确定如何重复使用或转移所有FlexCan配置(外围设备、驱动程序、初始化代码等)到这个新项目中。 请指导我如何实现这一目标? Re: S32G3 - FlexCAN Example Build for A53 Core on Linux 我更新了主题,说我用 Goldvip 的图片解决了问题。 Re: S32G3 - FlexCAN Example Build for A53 Core on Linux 感谢您分享您正在使用的板。 对于 Goldbox3,你需要在设备树中启用 can0 和 can1 节点。在这些节点中,您可以配置 CAN 输出使用哪些引脚。必须确保所选引脚在其 SSS 中支持 can0 或 can1 输出。 你可以查看哪些引脚可以在主板原理图和参考手册中附带的 S32G3_IOMUX.xlsx 文件中使用(你需要用 acrobat 阅读器打开 RM 才能看到附带的文件) Re: S32G3 - FlexCAN Example Build for A53 Core on Linux 你好,我正在使用这个https://www.nxp.com/design/design-center/development-boards-and-designs/GOLDBOX-3 (S32G3 ) Re: S32G3 - FlexCAN Example Build for A53 Core on Linux 你好@MrAlexIV 你能分享一下你在用哪个板吗?我分享的图片中提到的连接器适用于扩展名为 S32GRV-PLATEVB 的 S32G-VNP-EVB3。 Re: S32G3 - FlexCAN Example Build for A53 Core on Linux 另外,按照手册(我在 S32G3 中关注过)它会提到 J166、J169... 但是在我的板上那些 Jumpers 不可用。 MrAlexIV_0-1753256274840.png Re: S32G3 - FlexCAN Example Build for A53 Core on Linux 谢谢你,卡洛斯。 好吧,我明白你的意思了。我按照您的指示进行了操作,但这样我只能在 can0 和 can1 之间收发信息。我想要的是通过 CAN 总线接收或发送到其他设备(我有一个 CAN 总线,用于连接所有设备)。以 FlexCan 为例,我可以从其他设备接收,但是如果我只有低压差线性稳压器(LDO) candump can0,我就无法从其他设备接收 CAN 消息。 接口未处于环回状态。 这就是我想得到 .elf 的原因。因为我已经测试过 M7 的 FlexCan 示例,它可以正常工作。 我可以将简单的 candump can0 与你建议的 system () 一起使用,但看来我没有收到来自其他设备的 CAN 消息。 MrAlexIV_0-1753255421094.png Re: S32G3 - FlexCAN Example Build for A53 Core on Linux 你好@MrAlexIV 感谢您的提问 在运行 linux 的 A53 内核中,对 gpios、can 等模块的使用有些不同,而不是像裸机或 RTD(如 M7 内核)那样直接通过寄存器传递值。对于Linux的实现,需要一个驱动程序来在操作系统和硬件之间传递这些值,其中一些驱动程序已经在恩智浦提供的电路板支持包发行版中实现了。 要在 Linux 中使用 CAN,您可以查看电路板支持包用户手册中给出的示例 carlos_o_0-1753226320892.png [适用于 S32G2 平台的 Linux 电路板支持包 44.0 用户手册] 这个例子是在 linux 控制台中编写这些命令,你可以编写一个 C 程序,使用system() 函数发送命令,然后只执行你的 C 代码。
View full article
NON XIP via JTAG RT1176 According to this application note: https://www.nxp.com/docs/en/application-note/AN14069.pdf , NON XIP images can only be loaded via MCU Boot Utility via UART and USB.  I was looking to confirm that there is no way to load an XIP Image to flash via MCU Link or Jlink within MCUXpresso IDE?  If MCU Link must be used, I'd like to confirm these are the correct UART pins bellow to route out. I do not see an option for Boot through USB on the datasheet: https://www.nxp.com/docs/en/data-sheet/IMXRT1170AEC.pdf (apologies if I missed it). I've seen a few things online mentioning boot via USB is just connecting USB to the same UART Pins? AnteoJ_1-1753239974271.png Thanks, Anteo Re: NON XIP via JTAG RT1176 Hi @AnteoJ , Thanks for your interest in NXP MIMXRT series! Non-XIP images such as those booted from SD card need to be flashed with MCUBootUtility or NXP's official MCUXpresso Secure Provisioning tool. If the image is XIP, it can be programmed to flash by debugger such as JLink/DAP. It's easy to do in MCUXpressoIDE or any other IDE. If you are using RT1170-EVK/EVKB, you will find that there is an MCU-Link on the board, which is an on-board debugger, which is convenient for customers to flash programs and debug directly through the on-board debugger without using an external debugger. Moreover, MCU-Link can be changed to JLink or CMSIS-DAP debugger by programming different firmware. For details, you can check EVK/EVKB hardware schematics. Best regards, Gavin
View full article
使用 HSE 导入 RSA 中间证书的问题 您好, 我们目前在使用 HSE API 导入和验证 RSA 中间证书时遇到一个问题。 在进行必要的修改以支持 RSA 证书后,我们尝试导入中间 RSA 证书,并使用相应的根公钥对其进行验证。然而,尽管尝试了证书结构中 tbsOffset、tbsLen 和 signOffset 值的各种组合,HSE 始终返回响应代码:hse_srv_rsp_verify_failed 我们已经验证了证书和使用的密钥数据,根公钥的配置似乎是正确的。在不同的偏移配置和证书中,问题依然存在。 能否请您帮助我们找出可能出错的地方,或指导我们如何正确理解 RSA 证书结构中的偏移量(尤其是 rsaModulusOffset、rsaExponentOffset、tbsOffset、tbsLen 和 signOffset)?此外,HSE 内部是否有任何具体要求或检查可能导致核查失败? 我们采用的方法与 hse_certificate.c 中演示的 ECC 证书导入方法(通过 HSE_ImportECCCert)相同。文件,该文件在 HSE FW 版本 HSE_DEMOAPP_S32G3XX_0_2_64_0 中共享。为了供您参考,我们附上了此文件和我们的请求。 如有需要,我们很乐意提供更多详细信息,如证书内容、根公钥和服务描述符配置。 期待您的支持。 Re: Issue with RSA Intermediate Certificate Import using HSE 你好,@Anup97 谢谢您的帖子。 我已经提到它也被张贴在私人文件夹中,让我直接在那里回复你,因为共享文件更方便。 感谢您的理解。 BR 切宁
View full article
使用EB配置FS23驱动时报错 _0-1753439081159.png _1-1753439111221.png _2-1753439144529.png 您好,我在配置FS2303驱动时,EB出现如图一的错误提示。但是我在图二的地方已经添加了相关通知函数。同时图三提示的错误也不知道怎样产生的。我使用的是 Autosar4.4   版本2.0的S32K3 mcal驱动和Autosar4.7 版本1.0的FS23 MCAL驱动。我想请问一下上述问题是两个版本不兼容导致的问题吗? Re: 使用EB配置FS23驱动时报错 好的,谢谢您的回复 Re: 使用EB配置FS23驱动时报错 嗨@夏超 从release note里面来看,你所使用的版本确实是不兼容的。 FS23 SBC AUTOSAR R21-11 版本 1.0.0 Senlent_0-1753669563921.png FS23 SBC Autosar 4.4 版本 0.8.0 Senlent_1-1753669688281.png
View full article
"S32G2 定制硬件上的同步中止" 处理器,esr 0x96000210 - 访问 LPDDR4 时崩溃 亲爱的社区成员 我们在基于 S32G274 的硬件上遇到了启动问题,引导加载程序因数据中止异常而失败。 设置详情: 启动方法:QSP I 图像带集成 ramdisk 的定制 FIP 映像 闪存方法:S32DS 闪存工具和 Lauterbach(两种方法都会出现问题) 电路板支持包。 版本:43.0 启动加载程序: U-Boot 2022.04+gc01b3bf7b1+p0 SoC:S32G274A 我们能够配置 DDR 并能够启动直到 uboot 提示为止。但是在那之后访问DDR时崩溃, ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 请查找以下详细信息以供参考。 => md 80000000 1000 " Synchronous Abort" handler, esr 0x96000210 elr:00000000ff91cb68 lr : 00000000ff91cab8 (reloc) elr:00000000ff91cb68 LR : 00000000ff91cab8 x0 : 0000000000000009 x1 : 00000000ffbc66e8 x2 : 00000000fffffe x3 : 000000000020 x4 : 000000000000 x5 : 00000000ffbc66e0 x6 :000000000030 x7 : 00000000ffbc6630 x8 : 000000000010 x9 : 0000000000000002 x10: 00000000ffffffd8 x11: 000000000010 x12: 000000000001 x13: 000000000001 x14:000000000030 x15: 000000000021 x16: 00000000ff8af778 x17: 000000000000 x18: 00000000ffbcfd80 x19: 0000000000000004 x20: 0000000000000004 x21: 0000000000000004 x22:0000000080000000 X23: 00000000ffbc66e9 X24: 000000000000 X25: 00000000ffbc6698 X26: 00000000ff9398a7 X27: 0000000000000008 X28: 0000000000000004 X29: 00000000ffbc6630 代码:2a0403f3 17ffffcb 7100129f 54000181 (b94002c3) RESET CPU... 正在重置... 注意:RESET 状态:上电复位 注意:BL2:v2.10.7(版本):bsp43.0-2.10.7-dirty 注意:BL2:版本:2024 年 11 月 26 日 08:17:37 注意:BL2:正在启动 BL31 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- ----------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ U-启动 2022.04+gc01b3bf7b1+p0(Nov 21 2024 - 14:00:36 +0000) SoC:NXP S32G274A rev.2.1 CPU:Arm Cortex-A53 r0p4 @ 最大 1000 MHz 型号:S32G2-平台 动态随机存取存储器(DRAM):4 GiB 内部 dm_init_and_scan............ pfeng_mdio mdio@2:EMAC MDIO ID 超出范围 88Q5152 RESET 核心:291 个设备,24 个 uclasses,devicetree:板 MMC:FSL_SDHC:0 从 SPIFlash 加载环境... SF:检测到页面大小为 256 字节的 mt35xu01gbba,擦除大小为 4 KiB,总计 128 MiB *** 警告 - CRC 错误,使用默认环境 s32cc_serdes_phy serdes @40480000:对 SerDes 子系统使用模式 0 pci_s32cc pcie @40400000:DBI 未启用 pci_s32cc pcie @40400000:无法设置 PCI 设备和供应商 ID pcie_s32cc pcie @40400000:DBI R/W 未启用 s32cc_serdes_phy serdes @40480000:无法锁定 PCIe phy s 32cc pcie cc_serdes_phy serdes @40480000:PHY:无法开机 @40480000: -110。 pci_s32cc pcie @40400000:无法开启 PHY 'serdes_lane0' pc i_s32cc pcie @40400000:无法设置 PCIe 主机设置 输入:串行 @401c8000 输 出:串行 @401c8000 错误:串行 @401c8000 主 板版本:RDB2 网络: 找到 PFE 版本 0x50300 (S32G2) pfeng pfeng-base:上传类固件 pfeng pfeng-base:EMAC0 区块已初始化 pfeng pfeng-base:EMAC1 区块已初始化 pfeng pfeng-base:EMAC2 区块已初始化 pfen g pfeng-base:启用 CLASS 区块 pfen g pfeng-base:PFE 平台已启动 成功(掩码:7) pfeng_netif pfe0:无法获取 “emac0_xpcs” PHY eth1:pfe0pfeng_netif pfe1:无法获取 “emac1_xpcs” PHY,eth2:pfe 1,eth3:pfe2 按任意键停止自动启动:0 切换到分区 #0,好的 mmc0(第 0 部分)是当前设备 ** 没有分区表-mmc 0 ** 找不到分区 mmc 0:2 无法设置区块设备 mcr=cc000f03 ip cr=3400000f flashcr=3030100 buf0cr=3f000000 buf1cr=3f000000 buf2cr=3f000000 buf3cr=80000 bufgencr=e00000 buf0ind=0 buf1ind=0 buf1ind=0 buf1ind=0 buf1ind=0 buf1cr=0 buf1ind=0 buf1cr=0 buf1ind=0 buf1 cr=0 buf1ind=0 buf2ind=0 awrcr=0 dllcra=d 0080c2 par itycr=0 sf ar=2c03 sfacr=0 spr=33 rbsr=0 rbct=1f000000 awrsr=0 dllsr=0 dllsr=0 dllsr=0 dllsr=0 dllsr=0 dllsr=f4c0000 dlcr=ff40ff40 dlsr_fa=0 tbdr=0 tbct=0 sr=0 380002 fr=1000009 rser=0 sptrclr=0 dlpr=433455aa = > 运行 flashboot 从闪存启动... 在偏移量 0x00000000 处读取 17629184 字节 " 错误 " 处理器,esr 0xbf000002 elr:00000000f8f5f6c lr:00000000f8f5e68 (reloc) elr:00000000f8f5f6c lr:00000000000000 x1:000000000000 x2:000000000000 x2:000000000000 x2:000000000000 x2:000000000000 x2:000000000000 x2:000000000000 x2:000000000000 x2:000000000000 x2:000000000000 x2:00000000000ba0 x3:0000000000003f x4:0000000000000002 x5:000000001fe00411 x6:0000000000000000 x7:00000000000011 x8:000000000000000011 x8:0000000000000008 x10:00000000000002 x11:000000001fe00000 x12 : 00000000000001 x13:0000000000003f x 14:00000000000000 x15:00000000000021 x 16:000000000000001 x17:0000000000000000 x18:000000000000000000 x 18:0000000000bcfd80 x19:0000000000000000000 x21:00000000002b0000 x22:0000000000002b0000 x22:0000000000002b0000 x22:0000000000002b0000 x22:00000000002b0000 x22:0000000000002b0000 x22:0000000000002b0000 x22: x23:00000000007d2dc2 x24:00000000000007 x25:00000000000000 x26:00000000000001 x27:00000000000001 x27:00000000000001 x28:00000000010d0000 x29:00000000ffbc6130 代码:d1000694 380016c0 17fffbd f8606aa1 (f8206ac1) RESET CPU... 正在删除使用次数 1 的 MTD 设备 #5(内核)删除分区时 出错 " 内核 " (-16) 正在 RESET... 注意:RESET 状态:破坏性 RESET(运行) 通知:BL2:v2.10.7(版本):bsp43.0-2.10.7-dirty 注意:BL2:版本:2024 年 11 月 26 日 08:17:37 注意:BL2:正在启动 BL31 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 我们希望得到任何指导或建议来帮助解决这个问题。 敬上, Vishal G Re: "Synchronous Abort" handler, esr 0x96000210 on S32G2 Custom HW - Crash while access to 你好,@vishalg 感谢您的回复。 日志显示"Internal error: synchronous external abort" ,这表明在访问某些地址时发生了异常,可能与访问未映射内存或权限不一致有关。 不确定您是否修改了 GIC 部分的默认 dts?您是否检查了 gic_iterate_rdists 中使用的内存? BR 切宁 Re: "Synchronous Abort" handler, esr 0x96000210 on S32G2 Custom HW - Crash while access to Hi Chenyin, 感谢您的快速回复。 我能够通过使用 S32 Design Studio 执行 DDR 验证测试并使用重新生成的配置正确配置 DDR 来解决这个问题。 现在我能够成功地启动 uboot 进入内核,我在启动时观察到内核崩溃,这是由 " 内部错误触发的:在运行 Linux 6.6.52-rt43 的自定义 S32G274A 平台上初始化 GICv3 中断控制器时发生的内部错误:同步外部中止 "。 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 注意:RESET状态:上电复位 注意:BL2:v2.10.7(版本):bsp43.0-2.10.7-dirty 注意:BL2:版本:2024 年 11 月 26 日 08:17:37 注意:BL2:正在启动 BL31 U-启动 2022.04+gc01b3bf7b1+p0(Nov 21 2024 - 14:00:36 +0000) SoC:NXP S32G274A rev.2.1 CPU: Arm Cortex-A53 r0p4 @ 最大 1000 MHz 型号: S32G2-平台 动态随机存取存储器(DRAM): 3.5 GiB 内部 dm_init_and_scan............ pfeng_mdio mdio@2: EMAC MDIO ID 超出范围 88Q5152 RESET 核心: 291 个设备, 24 个 uclasses, devicetree: 板 MMC: FSL_SDHC: 0 从 SPIFlash 加载环境... SF: 检测到页面大小为 256 字节的 mt35xu01gbba, 擦除大小为 4 KiB, 总计 128 MiB *** 警告 - CRC 错误, 使用默认环境 s32cc_serdes_phy serdes @40480000:对 SerDes 子系统使用模式 0 pci_s32cc pcie @40400000:DBI 未启用 pci_s32cc pcie @40400000:无法设置 PCI 设备和供应商 ID pcie_s32cc pcie @40400000:DBI R/W 未启用 s32cc_serdes_phy serdes @40480000:无法锁定 PCIe phy s 32cc pcie cc_serdes_phy serdes @40480000:PHY:无法开机 @40480000: -110。 pci_s32cc pcie @40400000:无法开启 PHY 'serdes_lane0' pc i_s32cc pcie @40400000:无法设置 PCIe 主机设置 输入:串行 @401c8000 输 出:串行 @401c8000 错误:串行 @401c8000 主 板版本:RDB2 网络: 找到 PFE 版本 0x50300 (S32G2) pfeng pfeng-base:上传类固件 pfeng pfeng-base:EMAC0 区块已初始化 pfeng pfeng-base:EMAC1 区块已初始化 pfeng pfeng-base:EMAC2 区块已初始化 pfen g pfeng-base:启用 CLASS 区块 pfen g pfeng-base:PFE 平台已启动 成功(掩码:7) pfeng_netif pfe0:无法获取 “emac0_xpcs” PHY eth1:pfe0pfeng_netif pfe1:无法获取 “emac1_xpcs” PHY,eth2:pfe 1,eth3:pfe2 按任意键停止自动启动:0 切换到分区 #0,好的 mmc0(第 0 部分)是当前设备 ** 没有分区表-mmc 0 ** 找不到分区 mmc 0:2 无法设置区块设备 mcr=cc000f03 ip cr=3400000f flashcr=3030100 buf0cr=3f000000 buf1cr=3f000000 buf2cr=3f000000 buf3cr=80000 bufgencr=e00000 buf0ind=0 buf1ind=0 buf1ind=0 buf1ind=0 buf1ind=0 buf1cr=0 buf1ind=0 buf1cr=0 buf1ind=0 buf1 cr=0 buf1ind=0 buf2ind=0 awrcr=0 dllcra=d 0080c2 par itycr=0 sf ar=2c03 sfacr=0 spr=33 rbsr=0 rbct=1f000000 awrsr=0 dllsr=0 dllsr=15c0000 dlcr=ff40ff40 dlsr=0 tbdr=0 tbct=0 sr=0 sr=0 sr=0 sr=0 sr=0 sr=0 sr=0 0002 fr=1000009 rser=0 sptrclr=0 dlpr=433455aa = > 运行 flash boot 从闪存启动... 在偏移量 0x00000000 处读取 17629184 字节在偏移量 0x00000000 处 读取 196608 字节在偏移量 0x00000000 处 读取 32571392 字节 ## Loading init Ramdisk from Legacy Image at 90000000 ... Image Name: fsl-image-base-s32g2-platfo Image Type: AArch64 Linux RAMDisk Image (uncompressed) Data Size: 29917545 Bytes = 28.5 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## 扁平化设备树 blob 在 0x83000000 处使用 fdt blob 启动使用设备树位于 00000083000000,结尾 000000830120ae 正在启动内核... 无法选择模式:-70 device_remove:设备 '[email protected]'无法删除,但是孩子们不见了 [0.000000] 在物理 CPU 上启动 Linux 0x0000000000 [0x410fd034] [0.000000] Linux 版本 6.6.52-rt43-g1a29a32be610-dirty (oe-user@oe-host) (aarch64-fsl-linux-gcc (GCC) 11.4.0、GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT_RT Thu Nov 21 09:35:09 UTC 2024 [ 0.000000] Machine model: s32g274 Platform [ 0.000000] earlycon: linflex0 at MMIO 0x00000000401c8000 (options '') [ 0.000000] printk: legacy bootconsole [linflex0] enabled [ 0.000000] OF: reserved mem:0x0000000034000000..0x000000003407ffff (512 KiB) nomap non-reusable pfebufs@34000000 [ 0.0000000000] OF: reserved mem:0x0000000034080000..0x000000003409ffff (128 KiB) nomap non-reusable pfebufs@34080000 [ 0.000000] Reserved memory: created DMA memory pool at 0x0000000083200000, size 3 MiB [ 0.000000] OF: reserved mem: initialized node pfebufs@83200000, compatible id shared-dma-pool [ 0.000000] OF: reserved mem:0x0000000083200000..0x00000000835dffff (3968 KiB) nomap non-reusable pfebufs@83200000 [ 0.0000000000] OF: reserved mem:0x00000000835e0000..0x00000000835fffff (128 KiB) map non-reusable pfebufs@835e0000 [ 0.000000] OF: reserved mem:0x0000000084000000..0x0000000084ffff (16384 KiB) nomap non-reusable shm@84000000 [ 0.0000000000] OF: reserved mem:0x00000000c0000000..0x00000000c03fffff (4096 KiB) nomap non-reusable shm@c0000000 [ 0.0000000000] OF: reserved mem:0x00000000c0400000..0x00000000c07fffff (4096 KiB) nomap non-reusable shm@c0400000 [ 0.000000] OF: reserved mem:0x00000000d0000000..0x00000000d000007f (0 KiB) nomap non-reusable shm@d0000000 [ 0.0000000000] OF: reserved mem: 0x00000000d0000080..0x00000000d00000ff (0 KiB) nomap non-reusable shm@d0000080 [ 0.000000] OF: reserved mem:0x00000000ff600000..0x00000000ff7fffff (2048 KiB) nomap non-reusable atf@ff600000 [ 0.000000] 区域范围: [ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff] [ 0.000000] DMA32 空 [ 0.000000] 正常 [mem 0x0000000100000000-0x00000008dffffffffffff] [ 0.000000] 每个节点的可移动区域起点 [ 0.000000] 早期内存节点范围 [ 0.000000] 节点 0: [mem 0x0000000080000000-0x00000000831fffff] [ 0.000000] 节点 0: [mem 0x0000000083200000-0x00000000835dffff] [ 0.000000] 节点 0: [mem 0x00000000835e0000-0x0000000083ffffff] [ 0.000000] 节点 0: [mem 0x0000000084000000-0x0000000084ffffff] [ 0.000000] 节点 0: [mem 0x0000000085000000-0x00000000bffffffff] [ 0.000000] 节点 0: [mem 0x00000000c0000000-0x00000000c07ffffff] [ 0.000000] 节点 0: [mem 0x00000000c0800000-0x00000000cfffffff] [ 0.000000] 节点 0: [mem 0x00000000d0001000-0x00000000ff5fffff] [ 0.000000] 节点 0: [mem 0x00000000ff600000-0x00000000ff7fffff] [ 0.000000] node 0: [mem 0x00000000ff800000-0x00000000ffffffff] [ 0.000000] node 0: [mem 0x0000000880000000-0x00000008dffffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000008dffffffff] [ 0.000000] On node 0, zone DMA: 1 pages in unavailable ranges [ 0.000000] cma:在 0x00000000ef600000 保留 256 MiB on node -1 [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci:固件中检测到 PSCIv1.1。 [ 0.000000] psci:使用标准 PSCI v0.2 功能 ID [ 0.000000] psci:不支持 MIGRATE_INFO_TYPE。 [0.000000] psci:SMC 通话约定 v1.4 [0.000000] percpu:嵌入式 20 页/CPU s42112 r8192 d31616 u81920 [0.000000] pcpu-alloc:s42112 r8192 r8192 d31616 u8192 d31616 u8192 d31616 u81920 alloc=20*4096 [0.000000] pcpu-alloc:[0] 0 [0] 1 [0] 1 [0] 2 [0] 3 [0.000000] 在 CPU0 上检测到 VIPT i-Cache [0.000000] CPU 功能:已检测:GIC 系统寄存器 CPU 接口 [0.000000] CPU 功能:已检测:ARM erratum 845719 [0.000000] CPU 功能:已检测:恩智浦勘误表 ERR050481(VA 的 TLBI 处理不正确) [0.000000] CPU 功能:已检测:ARM 勘误表 1165522、1319367、1530923 或 1530924 [0.000000] 备选方案:应用启动替代方案 [0.000000] 内核命令行:console=ttylf0,115200 root=/dev/ram rw earlycon [0.000000] Dentry 缓存哈希表条目:524288(顺序:10,4194304 字节,线性)[0.000000]] inode-Cache 哈希表条目:262144(顺序:9,2097152 字节,线性) [0.000000] 内建 1 个区域列表,移动分组开启。 总页数:903167 [ 0.000000] Mem auto-init: stack:off, heap alloc:off, heap free:off [ 0.000000] software IO TLB: area num 4. [ 0.000000] software IO TLB: mapped [mem 0x00000000eb600000-0x00000000ef600000] (64MB) [ 0.000000] Memory:3194416K/3670012K 可用 (9856K 内核代码, 686K rwdata, 3012K rodata, 1856K init, 245K bss, 213452K reserved, 262144K cma-reserved) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] RCU:可抢占式分层 RCU 实现。 [ 0.000000] RCU:已启用 RCU 事件跟踪。 [ 0.000000] RCU:RCU 限制 CPU 从 NR_CPUS=8 到 nr_cpu_ids=4。 [ 0.000000] RCU:RCU 优先级提升:优先级 1 延迟 500 毫秒。 [ 0.000000] rcu:RCU_SOFTIRQ 处理移至 rcuc kthreads。 [ 0.000000] 没有加速宽限期(rcu_normal_after_boot)。 [ 0.000000] 启用任务 RCU 的蹦床变体。 [ 0.000000] 启用任务 RCU 的跟踪变量。 [ 0.000000] RCU:RCU 计算出的调度程序启动延迟值为 100 jiffies。 [ 0.000000] rcu:Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 [ 0.000000] NR_IRQS:64, nr_irqs: 64, preallocated irqs: 0 [ 0.000000] GICv3: GIC:使用分割 EOI/Deactivate 模式 [ 0.000000] GICv3:实现 544 个 SPI [ 0.000000] GICv3:实现 0 个扩展 SPI [ 0.000000] GICv3:MBI 范围 [167:182] [ 0.000000] GICv3:使用 MBI 帧 0x0000000050800000 [ 0.000000] 根 IRQ 处理程序:gic_handle_irq [ 0.000000] 内部错误:同步外部中止:0000000096000010 [#1] PREEMPT_RT SMP [ 0.000000] 链接到的模块: [ 0.000000] CPU:0 PID: 0 Comm: swapper/0 Not tainted 6.6.52-rt43-g1a29a32be610-dirty#1 [ 0.000000] Hardware name: s32g274 Platform (DT) [ 0.000000] pstate:600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 0.000000] pc : gic_iterate_rdists+0x4c/0x114 [ 0.000000] lr : gic_init_bases+0x198/0x664 [ 0.000000] sp : ffffffc080e83b80 [ 0.000000] x29: ffffffc080e83b80 x28: 0000000080ca6074 x27: 000000000000 [ 0.000000] x26: 000000000000 x25: ffffffc080e8c208 x24: 000000000018 [ 0.000000] x23: 000000000000ffe8 x22: 000000000000 x21: ffffffc08040ed84 [ 0.000000] x20: ffffffc0809f9b60 x19: ffffffc081000000 x18: 0000000000000030 [ 0.000000] x17: 6a20303031207369 x16: 2079616c65642074 x15: ffffffffffff1660 [ 0.000000] x14: 000000000000 x13: 7172695f656c646e x12: 61685f636967203a [ 0.000000] x11 : ffffffffff0000 x10 : 000000000000000a x9 : ffffffc080e9aa78 [ 0.000000] x8 : 00000000fffff7ff x7 : ffffffc080ec6a78 x6 : 00000000004d [ 0.000000] x5 : ffffff885f8479c8 x4 : 000000000000 x3 : 000000000000 [ 0.000000] x2 : 000000000000 x1 : ffffff88000030e0 x0 : ffffffc08100ffe8 [ 0.000000] Call trace: [ 0.000000] gic_iterate_rdists+0x4c/0x114 [ 0.000000] gic_init_bases+0x198/0x664 [ 0.000000] gic_of_init+0x2a8/0x308 [ 0.000000] of_irq_init+0x318/0x3a8 [ 0.000000] irqchip_init+0x18/0x24 [ 0.000000] init_IRQ+0xac/0xc0 [ 0.000000] start_kernel+0x24c/0x5f0 [ 0.] __primary_switched+0xb4/0xbc [ 0.000000] 代码:d29ffd17 9b387eda f87a6833 8b170260 (b9400000) [ 0.000000] ---[ 结束跟踪 0000000000000000 ]--- [ 0.000000] 内核恐慌 - 未同步:Attempted to kill the idle task! [ 0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]--- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 有什么建议可以解决这个问题? 问候, Vishal Re: "Synchronous Abort" handler, esr 0x96000210 on S32G2 Custom HW - Crash while access to 你好,@vishalg 谢谢您的帖子。 通常,此类问题是由于访问了保护或未映射的内存(如保留内存)造成的,请问您是否修改了默认 BSP43 的内存映射?添加更多保留地址范围? 您测试过更多地址吗?还有其他地址范围可以用于加载图像吗? BR 切宁
View full article
uboot 跳转到内核会影响 llce_lin 的输出 你好,恩智浦 我们使用引导加载程序启动 M 核心 + A 内核,M 内核配置了 llce_lin 输出; s32g u-boot 跳转到内核,llce_lin 输出损坏,查询具体代码后找到; u-boot 代码:bootm.c-> announce_and_cleanup ()->cleanup_before_linux (void)-> board_cleanup_before_linux ();-> scmi_reset_agent (); 我们发现, 由于调用 scmi_reset_agent 函数导致,M 内核配置 lce_lin 停止发送;由于 scmi(系统控制和管理接口)系统控制和管理接口 (SCMI) 是 启动 中的较低级别函数,内核,控制时钟、电源、io、RESET等,其中涉及 s32g 的底层控制逻辑;如何修改或配置为 解决导致 llce_lin 停止的 A-core 初始化问题? 致以最诚挚的问候 Re: uboot jump to kernel affects llce_lin output 你好,@马松 感谢您的回复。 注释掉相应的行只是一种测试,并不是建议的解决问题的方法,因为这可能会影响到多个部分,从而导致像你发现的那样的问题。 我认为还需要进一步分析和测试,为了方便讨论和资源共享,请让我帮助创建一个支持案例来继续提供支持,我会直接通过邮件回复您。 很抱歉给您带来不便。 BR 切宁 Re: uboot jump to kernel affects llce_lin output 嗨,chenyin 我现在有一些关于 S32G 时钟的问题,基本上和图片中的问题类似; 1. tf-a 初始化时钟后 tf-a 不会退出吗? 2. u-启动 和内核如何初始化或使用时钟,需要与 tf-a 通信? 3. 你能详细解释一下在 tf-a、u-启动 和内核中是如何使用 clk 的吗? Masson_0-1757576586653.png https://community.nxp.com/t5/NXP-Designs-Knowledge-Base/S32G-Bootloader-Customzition/tac-p/1771379/emcs_t/S2h8ZW1haWx8bWVudGlvbl9zdWJzY3JpcHRpb258TFBXQUozUkFGRzZFRjl8MTc3MTM3OXxBVF9NRU5USU9OU3xoSw BR. Re: uboot jump to kernel affects llce_lin output 嗨,chenyin 感谢您的回复, 我测试了评论过的 scmi_reset_agent 函数,并确认在 u-启动-> 内核跳转期间 llce_lin 输出正常。 但是,我发现内核启动后有异常,比如无法访问eth0 ping,因为我不确定是否还有其他问题,所以我没有按照这条线索进行调查; 你建议我做这样的调查吗? BR. Re: uboot jump to kernel affects llce_lin output 从U-Boot到Linux内核的过渡确实会影响外围设备的输出,包括与LLCE-LIN(低延迟通信引擎——本地互连网络)相关的外围设备的输出,尤其是在恩智浦S32G等复杂的嵌入式系统中。 这主要是由于 U-Boot 和 猴子型 Linux 内核管理和初始化硬件资源 的方式不同 。 我们使用引导加载程序启动 M 核心 + A 内核,M 内核配置了 llce_lin 输出;s32g u-boot 跳转到内核,llce_lin 输出损坏,查询... 但是,它们的用途不同,管理方式也大不相同。-> U-boot 设备树用于配置和初始化启动过程中所需的硬件元器件,而 Linux 内核则使用设备树来描述内核启动后的硬件配置 Re: uboot jump to kernel affects llce_lin output 你好,@马松 感谢您的回复。 据我了解,U-boot 不会设置时钟,tfa 会在启动期间设置时钟。 对于当前的问题,您是否介意在测试时注释掉源代码中的 scmi_reset_agent,以检查您的测试是否仍然存在问题? BR 切宁 Re: uboot jump to kernel affects llce_lin output 嗨,nxp 我继续在 u-boot 中追踪代码后发现了以下内容: 调用链:scmi_reset_agent (void)-> devm_scmi_process_msg (dev,& scmi_msg)-> scmi_smccc_process_msg (struct udevice *dev, struct scmi_msg *msg)-> arm_smccc_smc (chan-> func_id, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, &res);-> SMCCC smc 对程序集进行了最后的调用,我不知道相关的细节,那么这部分代码是做什么的?它对 M 核心的运行有何影响,如何才能跳过代码执行的这一部分。 BR. Re: uboot jump to kernel affects llce_lin output 你好,chenyin 请提出一个问题,我们现在按如下方式启动流程 bootloader (M7)-> tf-a (A53)-> u-boot (A53)-> 内核 (A53) 我们已经在引导加载程序中配置了 uart 时钟,tf-a 中没有配置 uart 时钟,也没有在 u-boot 中进行任何修改; u-启动 中会重新配置 uart 模块和时钟吗? BR. Re: uboot jump to kernel affects llce_lin output 你好,@马松 感谢您的回复。 我建议首先尝试检查 TFA 中的 UART 时钟及其来源。 BR 切宁 Re: uboot jump to kernel affects llce_lin output 你好,切尼 我知道现在就是这样运行的。 你还有其他发现吗? BR. Re: uboot jump to kernel affects llce_lin output 你好,@马松 感谢您的回复。 既然你的 tf-a、u-boot 中只保存 ddr、xbar_2x 时钟,你的意思是说 UART 和外围设备 PLL3 的时钟也被禁用并在启动加载程序中设置,而不是在 TF-A 中设置?(在 TFA/uBoot 中,TFA/uBoot 只能从启动加载程序继承时钟设置来驱动 UART?) BR 切宁 Re: uboot jump to kernel affects llce_lin output 你好,陈怡 u-启动 中的 clk 转储如下所示: => clk dump Rate Usecnt Name ------------------------------------------ 40000000 0 |-- fxosc@40050000 51000000 0 |-- firc 32000 0 |-- sirc 20000000 0 |--ftm0_ext 20000000 0 |-- ftm1_ext 125000000 0 |-- gmac0_ext_rx 125000000 0 |-- gmac0_ext_tx 50000000 0 |-- gmac0_rmii_ref 200000000 0 |-- gmac0_ext_ts 100000000 0 |-- serdes_100_ext 125000000 0 |-- serdes_125_ext 125000000 0 |-- serdes0_lane0_ext_cdr 125000000 0 |-- serdes0_lane0_ext_tx 125000000 0 |--serdes0_lane1_ext_cdr 125000000 0 |-- serdes0_lane1_ext_tx 125000000 0 |-- serdes1_lane0_ext_cdr 125000000 0 |-- serdes1_lane0_ext_tx 125000000 0 |-- serdes1_lane1_ext_cdr 125000000 0 |-- serdes1_lane1_ext_tx 1 0 |-- pfe_mac0_rmii 1 0 |-- pfe_mac1_rmii 1 0 |-- pfe_mac2_rmii 1000000000 0 |-- a53 400000000 1 |-- serdes_axi 51000000 1 |-- serdes_aux 133333333 1 |-- serdes_apb 100000000 1 |-- serdes_ref 80000000 0 |-- ftm0_sys 0 0 |-- ftm0_ext 80000000 0 |-- ftm1_sys 0 0 |-- ftm1_ext 133333333 0 |-- flexcan_reg 133333333 0 |-- flexcan_sys 40000000 0 |-- flexcan_can 200000000 0 |-- flexcan_ts 62500000 0 |-- linflex_xbar 125000000 1 |--linflex_lin 0 0 |-- gmac0_ts 125000000 0 |-- gmac0_rx_sgmii 125000000 0 |-- gmac0_tx_sgmii 125000000 1 |-- gmac0_rx_rgmii 125000000 1 |-- gmac0_tx_rgmii 0 0 |-- gmac0_rx_rmii 0 0 |-- gmac0_tx_rmii 0 0 |-- gmac0_rx_mii 0 0 |-- gmac0_tx_mii 400000000 1 |-- gmac0_axi 0 0 |-- spi_reg 0 0 |-- spi_module 133333333 0 |-- qspi_reg 133333333 0 |-- qspi_ahb 266666666 0 |-- qspi_flash2x 133333333 0 |--qspi_flash1x 400000000 0 |-- usdhc_ahb 133333333 0 |-- usdhc_module 400000000 1 |-- usdhc_core 32000 0 |-- usdhc_mod32k 133333333 0 |-- ddr_reg 800000000 0 |-- ddr_pll_ref 800000000 0 |-- ddr_axi 400000000 0 |-- sram_axi 133333333 0 |-- sram_reg 133333333 0 |-- i2c_reg 133333333 0 |-- i2c_module 66666666 0 |--siul2_reg 51000000 0 |-- siul2_filter 133333333 0 |-- crc_reg 133333333 0 |-- crc_module 100000000 0 |-- eim0_reg 100000000 0 |-- eim0_module 66666666 0 |-- eim123_reg 66666666 0 |-- eim123_module 66666666 0 |-- eim_reg 66666666 0 |-- eim_module 66666666 0 |-- fccu_module 51000000 0 |-- fccu_safe 66666666 0 |-- rtc_reg 32000 0 |-- rtc_sirc 51000000 0 |-- rtc_firc 133333333 0 |-- swt_module 51000000 0 |-- swt_counter 133333333 0 |-- stm_module 133333333 0 |-- stm_reg 133333333 0 |-- pit_module 133333333 0 |-- pit_reg 400000000 0 |-- edma_module 400000000 0 |-- edma_ahb 80000000 1 |-- sar_adc_bus 666666660 |-- cmu_module 66666666 0 |-- cmu_reg 133333333 0 |-- tmu_module 133333333 0 |-- tmu_reg 133333333 0 |-- flexray_reg 0 0 |-- flexray_pe 66666666 0 |--wkpu_module 66666666 0 |-- wkpu_reg 66666666 0 |-- src_module 66666666 0 |-- src_reg 66666666 0 |-- src_top_module 66666666 0 |-- src_top_reg 133333333 0 |-- ctu_module 80000000 0 |-- ctu_ctu 200000000 0 |-- dbg_sys4 400000000 0 |-- dbg_sys2 400000000 0 |-- m7 133333333 0 |-- dmamux_module 133333333 0 |-- dmamux_reg 500000000 0 | -- gic_module 133333333 0 | -- mscm_module 133333333 0 | -- mscm_reg 133333333 0 | -- sema42_module 133333333 0 |-- sema42_reg 66666666 0 |-- xrdc_module 66666666 0 |-- xrdc_reg 0 0 |-- clkout0 0 0 |-- clkout1 100000000 0 |-- usb_mem 32000 0 |-- usb_low 0 0 |--pfe0_rx_sgmii 0 0 ||-- pfe0_tx_sgmii 0 0 |-- pfe0_rx_rgmii 0 0 |-- pfe0_tx_rgmii 0 0 |-- pfe0_rx_rmii 0 0 |-- pfe0_tx_rmii 0 0 |-- pfe0_rx_mii 0 0 |--pfe0_tx_mii 0 0 ||-- pfe1_rx_sgmii 0 0 |-- pfe1_tx_sgmii 0 0 |-- pfe1_rx_rgmii 0 0 |-- pfe1_tx_rgmii 0 0 |-- pfe1_rx_rmii 0 0 |-- pfe1_tx_rmii 0 0 |--pfe1_rx_mii 0 0 |-- pfe1_tx_mii 0 0 |-- pfe2_rx_sgmii 0 0 |-- pfe2_tx_sgmii 0 0 |-- pfe2_rx_rgmii 0 0 |-- pfe2_tx_rgmii 0 0 |-- pfe2_rx_rmii 0 0 |-- pfe2_tx_rmii 0 0 |-- pfe2_rx_mii 0 0 |-- pfe2_tx_mii 300000000 0 |-- pfe_axi 300000000 0 |-- pfe_apb 600000000 0 |-- pfe_pe 0 0 |-- pfe_ts 40000000 0 |-- llce_can_pe 200000000 0 |-- llce_sys 80000000 0 `-- llce_per 1000000000 0 |-- a53 400000000 1 |-- serdes_axi 51000000 1 |-- serdes_aux 133333333 1 |-- serdes_apb 100000000 1 |-- serdes_ref 80000000 0 |-- ftm0_sys 0 0 |-- ftm0_ext 80000000 0 |-- ftm1_sys 0 0 |-- ftm1_ext 133333333 0 |--flexcan_reg 133333333 0 |-- flexcan_sys 40000000 0 |-- flexcan_can 200000000 0 |-- flexcan_ts 62500000 0 |-- linflex_xbar 125000000 1 |-- linflex_lin 0 0 |--gmac0_ts 125000000 0 |-- gmac0_rx_sgmii 125000000 0 |-- gmac0_tx_sgmii 125000000 1 |-- gmac0_rx_rgmii 125000000 1 |-- gmac0_tx_rgmii 0 0 |--gmac0_rx_rmii 0 0 |-- gmac0_tx_rmii 0 0 |-- gmac0_rx_mii 0 0 |-- gmac0_tx_mii 400000000 1 |-- gmac0_axi 0 0 |-- spi_reg 0 0 |-- spi_module 133333333 0 |--qspi_reg 133333333 0 |-- qspi_ahb 266666666 0 |-- qspi_flash2x 133333333 0 |-- qspi_flash1x 400000000 0 |-- usdhc_ahb 133333333 0 |-- usdhc_module 400000000 1 |-- usdhc_core 32000 0 |-- usdhc_mod32k 133333333 0 |-- ddr_reg 800000000 0 |-- ddr_pll_ref 800000000 0 |-- ddr_axi 400000000 0 |-- sram_axi 133333333 0 |-- sram_reg 133333333 0 |-- i2c_reg 133333333 0 |-- i2c_module 66666666 0 |-- siul2_reg 51000000 0 |-- siul2_filter 13333333333 0 |--crc_reg 133333333 0 |-- crc_module 100000000 0 |-- eim0_reg 100000000 0 |-- eim0_module 66666666 0 |-- eim123_reg 66666666 0 |-- eim123_module 66666666 0 |--eim_reg 66666666 0 |-- eim_module 66666666 0 |-- fccu_module 51000000 0 |-- fccu_safe 66666666 0 |-- rtc_reg 32000 0 |-- rtc_sirc 51000000 0 |--rtc_firc 133333333 0 |-- swt_module 51000000 0 |-- swt_counter 133333333 0 |-- stm_module 133333333 0 |-- stm_reg 13333333333 0 |-- pit_module 13333333333 0 |--pit_reg 400000000 0 |-- edma_module 400000000 0 |-- edma_ahb 80000000 1 |-- sar_adc_bus 66666666 0 |-- cmu_module 66666666 0 |-- cmu_reg 133333333 0 |-- tmu_module 133333333 0 |-- tmu_reg 133333333 0 |-- flexray_reg 0 0 |-- flexray_pe 66666666 0 |-- wkpu_module 66666666 0 |-- wkpu_reg 66666666 0 |--src_module 66666666 0 |-- src_reg 66666666 0 |-- src_top_module 66666666 0 |-- src_top_reg 133333333 0 |-- ctu_module 80000000 0 |-- ctu_ctu 200000000 0 |-- dbg_sys4 400000000 0 |-- dbg_sys2 400000000 0 |-- m7 133333333 0 |-- dmamux_module 133333333 0 |-- dmamux_reg 500000000 0 |-- gic_module 133333333 0 |-- mscm_module 133333333 0 |-- mscm_reg 133333333 0 |-- sema42_module 133333333 0 |-- sema42_reg 66666666 0 |--xrdc_module 66666666 0 |-- xrdc_reg 0 0 |-- clkout0 0 0 |-- clkout1 100000000 0 |-- usb_mem 32000 0 |-- usb_low 0 0 |-- pfe0_rx_sgmii 0 0 |-- pfe0_tx_sgmii 0 0 |-- pfe0_rx_rgmii 0 0 |-- pfe0_tx_rgmii 0 0 |-- pfe0_rx_rmii 0 0 |-- pfe0_tx_rmii 0 0 |-- pfe0_rx_mii 0 0 |-- pfe0_tx_mii 0 0 |-- pfe1_rx_sgmii 0 0 |-- pfe1_tx_sgmii 0 0 |--pfe1_rx_rgmii 0 0 ||-- pfe1_tx_rgmii 0 0 ||-- pfe1_rx_rmii 0 0 |-- pfe1_tx_rmii 0 0 |-- pfe1_rx_mii 0 0 |-- pfe1_tx_mii 0 0 |-- pfe2_rx_sgmii 0 0 ||-- pfe2_tx_sgmii 0 0 ||-- pfe2_rx_rgmii 0 0 |-- pfe2_tx_rgmii 0 0 |-- pfe2_rx_rmii 0 0 |-- pfe2_tx_rmii 0 0 |-- pfe2_rx_mii 0 0 |-- pfe2_tx_mii 300000000 0 |-- pfe_axi 300000000 0 |-- pfe_apb 600000000 0 |-- pfe_pe 0 0 |-- pfe_ts 40000000 0 |-- llce_can_pe 200000000 0 |-- llce_sys 80000000 0 |-- llce_per Re: uboot jump to kernel affects llce_lin output 嗨,chenyin 1. Lin 时钟在引导加载程序中配置; 2. 我们使用 bsp42,在 tf-a、u-boot 中只保存 ddr、xbar_2x 时钟,所有其他配置都处于关闭状态,具体取决于启动加载程序的配置; BR. Re: uboot jump to kernel affects llce_lin output 你好,@马松 谢谢您的帖子。 1.我想知道 LIN 时钟是在引导加载程序中配置的,还是在 M7 内核上运行的 LIN 应用程序中配置的? 2。您的测试设置中使用的是哪个版本的电路板支持包?对时钟设置有任何修改吗?你介意分享你的 u-启动 中的时钟转储吗? BR 切宁
View full article
RNN on FRDM_K64 to denoise RNN on FRDM_K64 to denoise 1 Introduction Ordinary MCUs are limited by resources, and it is difficult to do some complex deep learning. But although it is difficult, it can still be done. Last time we used CNN for handwritten recognition. This time ,we use RNN for audio noise reduction. This audio noise reduction uses fixed-point noise reduction. MFCC and gain are used as input parameters for training. MFCC, Mel frequency cepstrum, is often used for audio feature extraction. RNN achieves the effect of noise reduction by adjusting the gain of different frequencies.        2 Experiment 2.1 Required tools: frdm-k64, python 3.7, Pip, IAR   2.2 Download the source code of deep learning framework, https://github.com/majianjia/nnom This is a pure C framework that does not   rely on hardware structure. Transplantation is very convenient     2.3 we select the example ‘bubble’ to add the Inc, port and Src folders in NNoM to the project, as shown in the figure nxf56274_0-1615450961299.png                      Figure 1 Open the file ‘port.h’ . The definitation of NNOM_LOG is changed to PRINTF (__ VA_ ARGS__ ), Open the ICF file, and change the heap size to 0x5000, define symbol__ size_ heap__ = 0x5000; Malloc, which is used in this library, allocates memory from here. If it is small, it can't run the network   2.4 Transplant fatfs file system to bubble project nxf56274_1-1615450975431.png Figure 2   2.5 In the bubble.c file, add the following header file        #include "nnom_port.h" #include "nnom.h" #include "weights.h" #include "denoise_weights.h" #include "mfcc.h" #include "wav.h" #include "equalizer_coeff.h"   2.6 Find main.c under ‘examples\rnn-denoise’ in the framework, ‘main_arm.c’ is used for stm32. Main.c is provided for windows running routines. This code is used to open the audio file, then run the network, and finally generate noise reduction. Use this code to facilitate experiments. The APIs for file operations in this file need to be manually changed to MCU APIs. I added a progress bar display. You can refer the attachment.   2.7 This example also uses DSP, so DSP support needs to be turned on, as shown in the figure nxf56274_2-1615450986521.png                                                         Figure 3 2.8 Add macro nxf56274_3-1615450994191.png                                           Figure 4   2.9 After the compilation is passed, download the program. The tested wav needs to be named ‘sample.wav’, and the mcu will reduce noise for it. Finnally mcu will generate ‘filtered_sample.wav’. Plug the SD card into the computer to listen to the noise-reduced audio. This is serial message. nxf56274_4-1615451004815.png   Figure 5 This is the audio analyzed by the audio analysis software. The upper part is the noise reduced, and the lower part is the original sound. You can see that a lot of noise has been suppressed. nxf56274_5-1615451012178.png                                                  Figure 6 3 training Through the above steps, we have achieved audio noise reduction, so how is this data trained? You need to install tensorflow, and keras. How to train is written in the README_CN.md file. This tensorflow needs to install the gpu version, and needs to install cuda. Please check the installation yourself. 3.1 Download the voice data https://github.com/microsoft/MS-SNSD and put it under the MS-SNSD folder 3.2 Use pip3 to install the tools in requirements.txt 3.3 Run ‘noisyspeech_synthesizer.py’ directly, this will report an error. You need to change the 15-line float to int type. 3.4 Run the script gen_dataset.py to generate mfcc and gain 3.5 Run main.py, this will generate the noise file of the sample, which can be used for testing and also generated ‘weights.h,denoise_weights.h,equalizer_coeff.h’ PS: Put the code in directory 'boards/frdmk64f/demo_app'. 'sample.zip' has the noise wave.
View full article
ADAS: NXP Secure V2X Solution As the US Government prepares to mandate Car-to-Car communication in the US, the car industry is gearing up to provide cars which support this Dedicated Short Range Communications technology. We look at what benefits this will bring to road users, how the ITS-G5 standard is being deployed around the globe, and the challenges faced by the car industry in bringing this to market, and NXP’s leadership role in this deployment. As the US Government prepares to mandate Car-to-Car communication in the US, the car industry is gearing up to provide cars which support this Dedicated Short Range Communications technology. We look at what benefits this will bring to road users, how the ITS-G5 standard is being deployed around the globe, and the challenges faced by the car industry in bringing this to market, and NXP’s leadership role in this deployment.
View full article
实践研讨会:利用恩智浦汽车智能射频远程控制接口 (RCI) 进行开发 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> NXP 的 RF 产品 Lizard、MantraCS、MantraF 的 RCI 介绍。使用 RCI 固件和配置开发套件 (CDK) 可以轻松实现系统集成和开发。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> NXP 的 RF 产品 Lizard、MantraCS、MantraF 的 RCI 介绍。使用 RCI 固件和配置开发套件 (CDK) 可以轻松实现系统集成和开发。
View full article
LAT-DES-T2443 - i.MX アプリケーション プロセッサ製品ファミリのアップデート: i.MX 6UltraLite、i.MX 6ULL、i.MX 6QuadPlus、i.MX 7、i.MX 8 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このセッションでは、利用可能なすべての最新の i.MX プロセッサを取り上げ、まもなく発売されるプロセッサについて説明します。i.MX 6、i.MX 7、i.MX 8 アプリケーションプロセッサの製品。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このセッションでは、利用可能なすべての最新の i.MX プロセッサを取り上げ、まもなく発売されるプロセッサについて説明します。i.MX 6、i.MX 7、i.MX 8 アプリケーションプロセッサの製品。
View full article
EUF-DES-T1741 可扩展多核 QorIQ Layerscape 处理器,基于 64 位软件环境,适用于企业、家庭和工业应用.pdf <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
View full article
ESC技术报告.pdf <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 飞思卡尔杯技术报告 韩国ESC团队 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 飞思卡尔杯技术报告 韩国ESC团队
View full article
AMF-ACC-T1647 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 以太网已成为汽车通信领域最受讨论的技术之一。本演示将概述汽车以太网的标准。并解决在不同应用程序中实施该技术所面临的挑战。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 以太网已成为汽车通信领域最受讨论的技术之一。本演示将概述汽车以太网的标准。并解决在不同应用程序中实施该技术所面临的挑战。
View full article
一种检测不精确硬故障源的方法 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本文档与Dragos Musoiu合作创建 尝试调试基于 ARM Cortex M4 的微控制器 MKW24D512 上的硬故障,我们没有找到太多关于处理不精确硬故障的文档。我们从 Erich Styger 的帖子“调试 ARM Cortex-M 上的硬故障”开始调查。基于此,我们使用Erich的代码来查找硬故障源,但无法找到导致硬故障的指令,因为围绕保存的PC执行的指令看起来是正确的。 之后,我们检查了硬故障状态寄存器,从 ARM Cortex M4 处理器的系统控制块中,我们发现 FORCED 位被设置了。ARM Cortex M4 文档提到,该位表示强制硬故障,由可配置优先级的故障升级产生,由于优先级或被禁用而无法处理。当该位设置为 1 时,HardFault 处理程序必须读取其他故障状态寄存器来查找故障原因。我们检查了其他故障寄存器,发现 ARM Cortex M4 处理器的系统控制块中的可配置故障状态寄存器(总线故障状态寄存器)中的 IMPRECISERR 位被设置。根据 ARM Cortex M4 文档,如果设置了此位,则发生数据总线错误,但堆栈帧中的返回地址与导致错误的指令无关。当处理器将此位设置为 1 时,它不会将故障地址写入 BFAR。所以这就解释了为什么我们没有按照 Erich 的指示找到导致硬故障的指令。此外,这是一个异步错误。因此,如果检测到当前进程的优先级高于 BusFault 优先级,则 BusFault 变为待处理状态,并且只有当处理器从所有更高优先级的进程返回时才会变为活动状态。 Cortex M4 处理器具有写入缓冲区功能,当对可缓冲内存区域进行写入时,处理器可以在传输完成之前继续执行下一条指令。这对于性能来说非常好,但可能会导致调试不精确的总线故障时出现一些复杂性。 通过更好地研究文档,我们发现 ARM Cortex M4 辅助控制寄存器中的 DISDEFWBUF 位在设置为 1 时会禁用默认内存映射访问期间的写入缓冲区使用。这会导致所有 BusFault 都成为精确的 BusFault,但会降低性能,因为任何存储到内存的操作都必须在处理器执行下一条指令之前完成。这样,处理器将不会继续执行下一条指令,直到写入操作完成,因此启用该位并使用 Erich 的代码,保存的 PC 指向导致硬故障的指令。 在其他情况下,如果总线故障是由中断处理程序中执行的指令触发的,且其优先级高于总线故障处理程序,则设置 DISDEFWBUF 在调试过程中很有用,因为即使出现精确错误,BFAR 寄存器值仍然有效。
View full article
DwF MCUおよびオートモーティブソリューション - Tianan - 2015-03-19 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 自動車およびコネクテッドカー 車載用マイクロコントローラの概要 : KinetisおよびS12 MagniVミックスド・シグナル・マイクロコントローラを含む BCCおよび高圧センサを搭載した車載用アナログおよびセンサの概要 インサイトとイノベーション Kinetisマイクロコントローラの概要 - Kinetisの性能上の利点とアプリケーション 設計、ソフトウェア、サービス フリースケールMQX™ RTOSの概要 ARM®プロセッサ キネティスCortex®-Mマイクロコントローラー センサ ソフトウェアとツール
View full article
汽车模拟和传感器概述,包括 BCC 和高压传感器 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Eric Wu 主讲 2015 年 3 月 19 日,天安 MCU 和汽车解决方案大会 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Eric Wu 主讲 2015 年 3 月 19 日,天安 MCU 和汽车解决方案大会 传感器
View full article
通用更新工具 (UUU) <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 了解这款功能强大且易于使用的 MfgTool 替代工具(命令行驱动,无图形用户界面)。本次会议将涉及以下主题:单命令图像下载,完全可脚本化;支持所有闪存类型(eMMC、NAND、QSPI、SD等);完全开源,现已在GitHub上发布,并附有完整文档。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 了解这款功能强大且易于使用的 MfgTool 替代工具(命令行驱动,无图形用户界面)。本次会议将涉及以下主题:单命令图像下载,完全可脚本化;支持所有闪存类型(eMMC、NAND、QSPI、SD等);完全开源,现已在GitHub上发布,并附有完整文档。
View full article