Multi Source Translation Content

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Multi Source Translation Content

ディスカッション

ソート順:
S32K311 RTD 5.0 - 链接器错误:.non_cacheable_bss与 .int_results 溢出和重叠 您好,NXP团队: 我正在使用以下环境开发一个S32K311项目: MCU: S32K311 IDE: S32 设计工作室 3.6.7 RTD: S32K3_RTD_5.0.0_D2408_ASR_REL_4_7_REV_0000_20241002 AUTOSAR: 4.7 问题 项目初期进展顺利。 随着项目的推进,我启用并配置了多个 RTD 驱动程序,包括 ADC、eMIOS、LCU、ICU、PIT、PORT、LPUART、LPSPI、TRGMUX、MCL 以及我的应用程序所需的其他外设。 集成这些驱动程序后,项目在链接阶段失败,并出现以下错误: .non_cacheable_bss will not fit in region 'int_sram_no_cacheable' section .int_results overlaps section .non_cacheable_bss region 'int_sram_no_cacheable' overflowed by 440 bytes collect2.exe: error: ld returned 1 exit status 存储器布局 默认链接器脚本包含以下 SRAM 区域: int_sram : ORIGIN = 0x20400000, LENGTH = 0x00003F00 int_sram_fls_rsv : ORIGIN = 0x20403F00, LENGTH = 0x00000100 int_sram_no_cacheable : ORIGIN = 0x20404000, LENGTH = 0x00003B00 int_sram_results : ORIGIN = 0x20407B00, LENGTH = 0x00000100 int_sram_shareable : ORIGIN = 0x20407C00, LENGTH = 0x00000400 链接器报告.non_cacheable_bss该部分超出分配的 int_sram_no_cacheable 区域约440 字节。 问题 在 S32K311 上启用多个 RTD 驱动程序时,这种内存使用量是否正常? 是否有推荐的方法来减小 .non_cacheable_bss 的大小? 是否建议修改链接器脚本并增加 int_sram_no_cacheable 区域?如果是这样,S32K311 的推荐内存布局是什么? 是否有任何 RTD 配置选项可以减少分配给不可缓存部分的内存? 有人在集成多个RTD外设时遇到过类似的问题吗? 任何指导或建议都将不胜感激。 谢谢! Re: S32K311 RTD 5.0 - Linker error: .non_cacheable_bss overflow and overlap with .int_results 嗨@Esakki 以下讨论帖可能对您有所帮助,因为它们讨论了类似的问题,并提供了一些有用的故障排除建议。 int_sram_no_cacheable 问题 S32K312 的 SRAM 溢出 此外,还有一份 S32K3 应用笔记,更详细地解释了链接器文件和启动代码,包括如何修改和自定义内存区域。 AN14893 :S32K3xx 链接器文件和启动代码 最后一个帖子包含了与代码优化技术相关的一些建议。 S32K3xx 如何优化 APP 代码以获得更高性能 BR,VaneB
記事全体を表示
MX8-DSI-OLED1 显示屏部件号和序列号。 大家好, 我们也计划在我们的定制板中使用 MX8-DSI-OLED1 配件。 请问能否提供一下显示屏的零件编号,以及是否有任何需要保持的电源顺序? Re: MX8-DSI-OLED1 Display part No and sequence. 你好, 您能告诉我您想了解哪方面的信息吗? MX8-DSI-OLED1A(raydium rm67199)的显示屏是支持触摸的 MIPI-DSI OLED 显示屏。以下是一些主要特点: • 5.49 英寸 FHD (1080p@60fps) AMOLED 显示屏 • 1670万色(RGB*8位)显示颜色 • 触摸屏 • 用于显示器的 4 通道 MIPI-DSI 接口 • 用于触摸和控制的 I2C 接口 另外,请注意,关于这部分内容,我们能分享的信息不多。 此致敬礼/Saludos, 阿尔多。 Re: MX8-DSI-OLED1 Display part No and sequence. 大家好, 这件事有任何进展吗? Re: MX8-DSI-OLED1 Display part No and sequence. 嗨@AldoG 我想了解这些轨道上电是否有任何需要遵循的顺序。 VDD_1V8 VEXT_3V3 VDD_5V
記事全体を表示
LS1046A カスタムボード - FlexBuildで作成されたイメージは、DTの導管方法のためのpsci: probeingにハングします。 こんにちは、 私はLS1046Aをベースにしたカスタムボードを開発しているのですが、FlexBuildで生成したDebianイメージで起動時に問題が発生しています。 まず最初のステップとして、デフォルトのLS1046AFRWY BSPを一切変更せずにビルドし、自作の基板上でテストしました。カーネル起動中に、以下の出力後にシステムが必ずハングアップします。 PSCI:DTからの導管方法のプロービング。 カーネルパニックや例外は発生せず、システムはこの時点で停止する。 以下のNXPフォーラムのThreadで非常に似た問題を説明しているのを見つけました: https://community.nxp.com/t5/Layerscape/LS1043A-RDB-Linux-Hangs-At-PSCI/td-p/750075 一時的な回避策として、以下のコマンドを使ってU-Bootから手動でLinuxを起動できます。しかし、カーネルは、ブート引数「mem=」を使用して使用可能なメモリを1982MBに制限した場合にのみ正常に起動します。この値を増やすと、カーネルが再びハングアップします(起動中の異なるタイミングで発生することもあります)。 mmc dev 0 パートUUID mmc 0:3 パートUUIDr mmc 0:1 0x81000000 イメージをロードします ロード MMC 0:1 0x90000000 FSL-LS1046A-frwy-SDK.dtb setenv bootargs "console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 root=PARTUUID=${partuuidr} rw rootwait mem=1982M" booti 0x81000000 - 0x90000000 テスト環境: SoC: LS1046A DDR: IS43/46QR16512A (4GB DDR4) ブートメディア:SDカード BSP: FlexBuild (LSDK 25.12) FlexBuild特有の問題を除外するために、Yocto(YP 6.0 / lf-6.18.20)を使って完全に新しいBSPを作成し、同じハードウェアでテストしました。 結果は全く同じだ。カーネルは再び出力後にハングアップします。 PSCI:DTからの導管方法のプロービング。 bdinfoの出力のうち、関連する部分を以下に示します。 DRAMバンク0 開始: 0x80000000 サイズ:0x7be00000 DRAMバンク1 開始: 0x880000000 サイズ:0x80000000 LMBメモリ領域: メモリ[0] :0x80000000 - 0xfbdfffff メモリ[1] :0x880000000 - 0x8ffffffff 予約済み[0] : 0xfac154c0 - 0xfbdfffff 予約済み[1] : 0x8ffff5000 - 0x8ffffffff 同様の問題に遭遇した方はいらっしゃいますか?あるいは、次に何を調査すべきかについて何かご提案があれば教えてください。 どんなアドバイスでも大変ありがたいです。 QorIQ LS1デバイス Re: LS1046A Custom Board -image built with FlexBuild hangs at psci: probing for conduit method from こんにちは、 根本原因 — BL31メモリの衝突 LS1046Aの起動フローは以下のとおりです。 Boot ROM → BL2 (DDR Init) → BL31 (stays resident in DRAM) → U-Boot → Linux     BL31はDRAMに常駐し、すべてのSMC呼び出し(PSCI: psci_get_version 、CPUのオン/オフなど)を処理します。一般的な配置場所は、 RAMの最上位から約10MiB引いた領域付近で、サイズは最大2MiBです。   Linuxが4GBのDDRマップで起動すると、BL31のリージョンと物理的に重なるページが割り当てられます。最初の PSCI SMC 呼び出し ( psci_get_version ) が、すでに破損したメモリにジャンプし、システムはハングアップします。パニックも例外もなく、ただ沈黙するだけです。 bdinfo の出力は正確なパターンを確認しています。DDR バンク 1 は 0x8FFFFFFFF で終了し、BL31 は約 RAM_END - 10 MiB = 0x8FF600000 にあります。 DDR銀行 スタート 終了 備考 バンク0 0x80000000 0xFBDFFFFF ~1982 MiB —作業 mem= 制限 バンク1 0x880000000 0x8FFFFFFFF 2 GB 高銀行 — BL31 はここに住んでいます mem=1982M の回避策はLinuxをバンク0内に留め、BL31が存在するバンク1には一切触れません。これがまさに機能する理由です。 修正 — デバイスツリーでBL31メモリを予約する 正しい恒久的な解決策は、DTSに reserved-memory ノードを追加 し、BL31のリージョンをLinuxのメモリ割り当てでタブリングにすることです。 ステップ1:BL31がどこに積載されているかを確認する ATFビルド構成を確認してください( plat/nxp/soc-ls1046a/.../platform_def.h ) BL31_BASE と BL31_SIZE について。FRWY BSPを搭載したLSDK/lf-6.xの場合、一般的な配置は以下のとおりです。 BL31_BASE = 0x8FF80000 (top of high DDR bank minus ~512 KB to 2 MB) BL31_SIZE = max 2 MiB     実行時にU-Bootの出力やATFビルドログで BL31: v2.x... Entry point address = ... を確認することができます。 ステップ2:予約メモリノードをDTSに追加します ボードのDTSファイル( fsl-ls1046a-frwy-sdk.dts に基づく)に、以下を追加してください: / { reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; /* Reserve BL31 runtime region — adjust addresses to match your ATF build */ bl31_reserved: bl31@8ff600000 { reg = <0x8 0xff600000 0x0 0x00200000>; /* 2 MiB at RAM_END - 10 MiB */ no-map; }; }; }; dts   0x8ff600000 とサイズ 0x200000 を調整して、ATFビルドからの実際のBL31ロードアドレスに一致させてください。 ステップ3:フルメモリで再構築およびテストする 予約を追加した後、DTB を再構築し、 mem= 回避策 なしで 起動します。カーネルはその領域をスキップし、BL31はそのまま残り、PSCIは正しく機能します。   よろしくお願いします。
記事全体を表示
LX2160A 上的 PCI 设备 ITS 设备 ID 你好, 我使用的是Honeycomb LX2板,它采用的是LX2160A芯片。我检查了uboot和linux代码,发现uboot中每个PCI BDF(桥接器和设备)都被分配了一个流ID,该ID被放入dtb中的msi-map文件中。 我假设 Linux 使用此流 ID 作为每个 PCI BDF 的 ITS 设备 ID,但是当我检查 Linux 代码drivers/irqchip/ irq-gic-v3-its-pci-msi.c时,ITS 特定的设备 ID 似乎只是 RID。 在我目前使用的系统中,BDF 的 ITS 设备 ID 是上游 PCI-PCI 桥的流 ID。此外,2 端口网卡上每个端口的 ITS 设备 ID 都相同。Linux 系统上也存在同样的问题吗? 请问有人能帮我确认一下Linux系统中PCI设备的ITS设备ID是如何计算的吗?以及网卡的两个端口是否应该共享同一个ITS设备ID?如果不是,那我的系统可能缺少什么呢? Re: ITS Device ID for PCI devices on LX2160A 我觉得这次讨论很有帮助。在 LX2160A 上使用 ITS 设备 ID 可能很棘手,尤其是在处理 PCI 中断路由和配置细节时。在研究类似技术主题时,我还发现了Citrus Court Resources ,它提供了组织良好的公共记录信息。感谢分享,能够看到其他使用相同硬件的人提供的实用见解总是很有帮助的。 Re: ITS Device ID for PCI devices on LX2160A 关于 LX2160A 上 PCI 设备的 ITS 设备 ID 的讨论非常有启发性,特别是对于从事中断转换和嵌入式系统工作的人来说。在查阅相关技术文档时,我还发现Bibb Court Clerk是一个获取有组织的公共信息的有用资源。感谢您分享这些见解,它们使一个复杂的话题更容易理解和进一步探讨。 Re: ITS Device ID for PCI devices on LX2160A 请另开新帖描述您的新问题。 谢谢! Re: ITS Device ID for PCI devices on LX2160A 我还有一个硬件方面的问题,希望您能帮我解决。 从调试信息来看,似乎是 PCI 到 PCI 桥接设备而不是 PCI 设备发送了消息信号中断,导致我看到了错误的 ITS 设备 ID。PCI 配置寄存器中的某些设置是否可能导致这种情况发生? 谢谢! Re: ITS Device ID for PCI devices on LX2160A 请参阅以下更新 我的理解是这样的: 1. PCIe 设备生成一条中断消息,其中包括其请求者 ID (RID)。 2. ITS 收到此消息后,使用 RID 查找相应的 StreamID。 3. ITS 然后将此信息转换为适合中断控制器的中断消息。 更具体地说, RID(由BDF组成)被ITS用于管理和转换中断。 StreamID 源自与 RID 相同的 BDF,由 SMMU 用于管理和转换 DMA 操作。 Re: ITS Device ID for PCI devices on LX2160A 请参考AE团队的以下更新。 这些问题更多地与 Linux 有关,因此客户可以在 Documentation/PCI/msi-howto.rst 中找到有关 PCI-PCI 桥接器背后的 MSI 分配的信息。 Re: ITS Device ID for PCI devices on LX2160A 谢谢你调查此事。ITS 设备 ID 与映射到 BDF 的 LUT 条目中编程的流 ID 之间是否存在任何关系? Re: ITS Device ID for PCI devices on LX2160A 与AE团队讨论。 Re: ITS Device ID for PCI devices on LX2160A LX2160A 上的 ITS 设备 ID 处理确实可能很棘手,尤其是在使用不同的 PCI 配置时。在研究类似主题时,我还通过Watauga Property Assessment找到了一些有用的房产数据,这些数据组织得很好。感谢分享这些信息,看到关于复杂硬件行为的实际讨论总是很有帮助的。
記事全体を表示
LS1046A Custom Board -image built with FlexBuild hangs at psci: probing for conduit method from DT. Hello, I am working on a custom board based on the LS1046A and I am experiencing a boot issue with a Debian image generated using FlexBuild. As a first step, I built the default LS1046AFRWY BSP without making any modifications and tested it on my custom board. During kernel boot, the system always hangs after printing: psci: probing for conduit method from DT. There is no kernel panic or exception; the system simply stops at this point. I found the following NXP forum thread describing a very similar issue: https://community.nxp.com/t5/Layerscape/LS1043A-RDB-Linux-Hangs-At-PSCI/td-p/750075 As a temporary workaround, I can boot Linux manually from U-Boot using the following commands. However, the kernel only boots successfully when I limit the available memory to 1982 MB using the "mem=" boot argument. If I increase this value, the kernel hangs again (sometimes at different points during boot). mmc dev 0 part uuid mmc 0:3 partuuidr load mmc 0:1 0x81000000 Image load mmc 0:1 0x90000000 fsl-ls1046a-frwy-sdk.dtb setenv bootargs "console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 root=PARTUUID=${partuuidr} rw rootwait mem=1982M" booti 0x81000000 - 0x90000000 Test environment: SoC: LS1046A DDR: IS43/46QR16512A (4 GB DDR4) Boot media: SD Card BSP: FlexBuild (LSDK 25.12) To rule out a FlexBuild-specific issue, I also built a completely new BSP using Yocto (YP 6.0 / lf-6.18.20) and tested it on the same hardware. The result is exactly the same. The kernel again hangs after printing: psci: probing for conduit method from DT. The relevant part of the bdinfo output is shown below: DRAM bank 0 Start: 0x80000000 Size : 0x7be00000 DRAM bank 1 Start: 0x880000000 Size : 0x80000000 LMB memory regions: memory[0] : 0x80000000 - 0xfbdfffff memory[1] : 0x880000000 - 0x8ffffffff reserved[0] : 0xfac154c0 - 0xfbdfffff reserved[1] : 0x8ffff5000 - 0x8ffffffff Has anyone encountered a similar issue or have any suggestions on what I should investigate next? Any advice would be greatly appreciated. QorIQ LS1 Devices Re: LS1046A Custom Board -image built with FlexBuild hangs at psci: probing for conduit method from Hello, Root Cause — BL31 Memory Collision The LS1046A boot flow is: Boot ROM → BL2 (DDR Init) → BL31 (stays resident in DRAM) → U-Boot → Linux     BL31 remains permanently resident in DRAM and handles all SMC calls (PSCI: psci_get_version , CPU on/off, etc.). Its typical placement is near top-of-RAM minus ~10 MiB, with a size of up to 2 MiB.   When Linux boots with the full 4 GB DDR map, it allocates pages that physically overlap BL31's region. The first PSCI SMC call ( psci_get_version ) jumps into now-corrupted memory and the system hangs — with no panic, no exception, just silence. Your bdinfo output confirms the exact pattern — DDR Bank 1 ends at 0x8FFFFFFFF , and BL31 is at approximately RAM_END - 10 MiB = 0x8FF600000 : DDR Bank Start End Notes Bank 0 0x80000000 0xFBDFFFFF ~1982 MiB — your working mem= limit Bank 1 0x880000000 0x8FFFFFFFF 2 GB high bank — BL31 lives here The mem=1982M workaround keeps Linux within Bank 0, never touching Bank 1 where BL31 resides — which is precisely why it works. Fix — Reserve BL31 Memory in the Device Tree The correct permanent fix is to add a reserved-memory node to your DTS marking BL31's region as off-limits to the Linux memory allocator. Step 1: Find where BL31 is loaded Check your ATF build configuration ( plat/nxp/soc-ls1046a/.../platform_def.h ) for BL31_BASE and BL31_SIZE . For LSDK/lf-6.x with the FRWY BSP, the typical placement is: BL31_BASE = 0x8FF80000 (top of high DDR bank minus ~512 KB to 2 MB) BL31_SIZE = max 2 MiB     You can confirm at runtime by checking U-Boot output or the ATF build log for BL31: v2.x... Entry point address = ... . Step 2: Add the reserved-memory node to your DTS In your board DTS file (based on fsl-ls1046a-frwy-sdk.dts ), add: / { reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; /* Reserve BL31 runtime region — adjust addresses to match your ATF build */ bl31_reserved: bl31@8ff600000 { reg = <0x8 0xff600000 0x0 0x00200000>; /* 2 MiB at RAM_END - 10 MiB */ no-map; }; }; }; dts   Adjust 0x8ff600000 and size 0x200000 to match your actual BL31 load address from the ATF build. Step 3: Rebuild and test with full memory After adding the reservation, rebuild the DTB and boot without the mem= workaround. The kernel will skip that region, BL31 remains intact, and PSCI will function correctly.   Regards Re: LS1046A Custom Board -image built with FlexBuild hangs at psci: probing for conduit method from Hello, I tried the suggested solution, but unfortunately it did not resolve the issue. First, I verified the BL31 address from the TF-A (ATF) build: - BL31_BASE = 0xFBE00000 - BL31_SIZE = 0x200000 (2 MiB) Next, I added a "reserved-memory" node to the Device Tree to reserve the BL31 runtime region and rebuilt the DTB. After that, I booted the system again without the "mem=1982M" boot parameter. However, the system still hangs at the same point.
記事全体を表示
LS1046A 定制板 - 使用 FlexBuild 版本的映像在 psci 处卡住:正在从 DT 探测导管方法。 你好, 我正在开发一款基于 LS1046A 的定制板,在使用 FlexBuild 生成的 Debian 镜像时遇到了启动问题。 首先,我版本了默认的 LS1046AFRWY 电路板支持包。没有做任何修改,并在我的定制板上进行了测试。内核启动过程中,系统总是在打印以下内容后挂起: psci:从DT探测导管方法。 没有内核崩溃或异常;系统就此停止运行。 我在NXP论坛上找到了一个描述类似问题的帖子: https://community.nxp.com/t5/Layerscape/LS1043A-RDB-Linux-Hangs-At-PSCI/td-p/750075 作为临时解决方案,我可以使用以下命令从 U-Boot 手动启动 Linux。但是,只有当我使用“mem=”启动参数将可用内存限制为 1982 MB 时,内核才能成功启动。如果我增加这个值,内核又会挂起(有时在启动过程中的不同阶段)。 mmc dev 0 部分 uuid mmc 0:3 partuuidr 加载 mmc 0:1 0x81000000 图像 加载mmc 0:1 0x90000000 fsl-ls1046a-frwy-sdk.dtb setenv bootargs "console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 root=PARTUUID=${partuuidr} rw rootwait mem=1982M" booti 0x81000000 - 0x90000000 测试环境: SoC:LS1046A DDR:IS43/46QR16512A(4 GB DDR4) 启动介质:SD卡 BSP:FlexBuild(LSDK 25.12) 为了排除 FlexBuild 特有的问题,我还使用 Yocto (YP 6.0 / lf-6.18.20) 构建了一个全新的 电路板支持包。,并在相同的硬件上进行了测试。 结果完全相同。内核在打印以下内容后再次挂起: psci:从DT探测导管方法。 下面显示的是bdinfo输出的相关部分: 动态随机存取存储器\(DRAM\) 存储体 0 起始地址:0x80000000 大小:0x7be00000 动态随机存取存储器\(DRAM\) 存储体 1 起始地址:0x880000000 大小:0x80000000 LMB 内存区域: 内存[0] :0x80000000 - 0xfbdfffff 内存[1] :0x880000000 - 0x8ffffffff 保留[0] : 0xfac154c0 - 0xfbdfffff 保留[1] : 0x8ffff5000 - 0x8ffffffff 有没有人遇到过类似的问题?或者有什么建议,让我接下来应该调查哪些方面? 任何建议都将不胜感激。 QorIQ LS1设备 Re: LS1046A Custom Board -image built with FlexBuild hangs at psci: probing for conduit method from 你好, 根本原因——BL31 内存冲突 LS1046A 的启动流程如下: Boot ROM → BL2 (DDR Init) → BL31 (stays resident in DRAM) → U-Boot → Linux     BL31 永久驻留在 动态随机存取存储器\(DRAM\) 中,并处理所有 SMC 调用(PSCI: psci_get_version 、CPU 开/关等)。它的典型位置在RAM 顶部减去约 10 MiB 的位置,大小可达2 MiB 。   当 Linux 使用完整的 4 GB DDR 映射启动时,它会分配与 BL31 区域物理重叠的页面。第一次 PSCI SMC 调用( psci_get_version )跳转到已损坏的内存,系统挂起——没有恐慌,没有异常,只有寂静。 您的 bdinfo 输出证实了确切的模式——DDR Bank 1 结束于 0x8FFFFFFFF ,而 BL31 大约位于 RAM_END - 10 MiB = 0x8FF600000 : DDR银行 开始 结束 说明 银行 0 0x80000000 0xFBDFFFFF ~1982 MiB —您的工作 mem= 限制 银行 1 0x880000000 0x8FFFFFFFF 2 GB 高位银行——BL31 位于此处 mem=1982M 变通方法使 Linux 保持在 Bank 0 内,永远不会触及 BL31 所在的 Bank 1——这正是它有效的原因。 修复——在设备树中预留 BL31 内存 正确的永久解决方法是在 DTS 中添加一个 reserved-memory 节点,将 BL31 区域标记为 Linux 内存分配器禁止访问。 步骤 1:找到 BL31 的加载位置 检查您的 ATF 版本配置( plat/nxp/soc-ls1046a/.../platform_def.h )对于 BL31_BASE 和 BL31_SIZE 。对于采用 FRWY 电路板支持包。的 LSDK/lf-6.x,典型的安装位置如下: BL31_BASE = 0x8FF80000 (top of high DDR bank minus ~512 KB to 2 MB) BL31_SIZE = max 2 MiB     您可以通过检查 U-启动 输出或 ATF 版本日志中的 BL31: v2.x... Entry point address = ... 。 步骤 2:将预留内存节点添加到您的 DTS 中 在您的板级 DTS 文件(基于 fsl-ls1046a-frwy-sdk.dts )中添加: / { reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; /* Reserve BL31 runtime region — adjust addresses to match your ATF build */ bl31_reserved: bl31@8ff600000 { reg = <0x8 0xff600000 0x0 0x00200000>; /* 2 MiB at RAM_END - 10 MiB */ no-map; }; }; }; dts   调整 0x8ff600000 和大小 0x200000 ,以匹配 ATF 版本中的实际 BL31 加载地址。 步骤 3:重建并使用全部内存进行测试 添加预留信息后,重新构建 DTB 并启动,无需 mem= 变通方法。内核将跳过该区域,BL31 保持不变,PSCI 将正常工作。   此致
記事全体を表示
Schematics of MPC5775B BMS & VCU Reference Design Unit Hey, I wanted to look into which pins in the MPC5775B MCU is connected to the digital and analog outputs available via the BMS & VCU reference design. But could not find schematics on that. Can I get it or possibly the link to it ? I am trying to figure out which of the Inputs pins exposed through the reference unit can do interrupt handling. Re: Schematics of MPC5775B BMS & VCU Reference Design Unit Hello, Schematic is available at our web page: https://www.nxp.com/design/design-center/development-boards-and-designs/mpc5775b-bms-and-vcu-reference-design:RDVCU5775EVM?gad_source=1&gad_campaignid=24081577422&gclid=CjwKCAjwj7HTBhBiEiwA8s35OtHxPgln7wwf_p2BF5JDZ9GfWkdapC4yCnvxXk9Tp2NOHHSZHxyrSRoCk8IQAvD_BwE On page 12 are analog inputs and on page 14 digital inputs. Best regards, Peter
記事全体を表示
MPC5775B 电池管理系统 & 整车控制器VCU 参考设计单元原理图 嘿, 我想了解 MPC5775B MCU 中的哪些引脚连接到电池管理系统和整车控制器VCU参考设计中提供的数字和模拟输出。但找不到相关的原理图。我可以得到它或者它的链接吗?我正在尝试弄清楚参考单元暴露出的哪些输入引脚可以进行中断处理。 Re: Schematics of MPC5775B BMS & VCU Reference Design Unit 你好, 原理图可在我们的网页上找到: https://www.nxp.com/design/design-center/development-boards-and-designs/mpc5775b-bms-and-vcu-reference-design:RDVCU5775EVM?gad_source=1&gad_campaignid=24081577422&gclid=CjwKCAjwj7HTBhBiEiwA8s35OtHxPgln7wwf_p2BF5JDZ9GfWkdapC4yCnvxXk9Tp2NOHHSZHxyrSRoCk8IQAvD_BwE 第 12 页是模拟输入,第 14 页是数字输入。 顺祝商祺! Peter
記事全体を表示
MX8-DSI-OLED1 Display part No and sequence. Hi Team, We are planning to use MX8-DSI-OLED1 accessory in our custom board as well. Could you please share the display part no and if there is any power sequence to be maintained. Re: MX8-DSI-OLED1 Display part No and sequence. Hi Team, Any updates on this? Re: MX8-DSI-OLED1 Display part No and sequence. Hello, Could you share what kind of information you are looking for? The display for the MX8-DSI-OLED1A (raydium rm67199) is a MIPI-DSI OLED display with touch support. Following are some key features: • 5.49" FHD (1080p@60fps) AMOLED display • 16.7 M (RGB*8bits) display color • Touch screen • 4-lane MIPI-DSI interface for display • I2C interface for touch and control Also, note that for this part there is not much information we can share. Best regards/Saludos, Aldo. Re: MX8-DSI-OLED1 Display part No and sequence. Hi @AldoG I would like to understand if there is any power up sequence to be followed for these rails. VDD_1V8 VEXT_3V3 VDD_5V
記事全体を表示
BMSおよびVCUリファレンスデザインユニットMPC5775B回路図 こんにちは、 MPC5775B MCUのどのピンがBMSやVCUのリファレンス・デザインで利用可能なデジタルおよびアナログ出力にコネクテッドされているかを調べたかったのです。しかし、その設計図は見つかりませんでした。入手できますか?もしくはリンクも教えてもらえますか?参照ユニットを通して露出している入力ピンのうち、どのピンが割り込み処理に使えるのかを調べようとしています。 Re: Schematics of MPC5775B BMS & VCU Reference Design Unit こんにちは、 回路図は当社のウェブページでご覧いただけます。 https://www.nxp.com/design/design-center/development-boards-and-designs/mpc5775b-bms-and-vcu-reference-design:RDVCU5775EVM?gad_source=1&gad_campaignid=24081577422&gclid=CjwKCAjwj7HTBhBiEiwA8s35OtHxPgln7wwf_p2BF5JDZ9GfWkdapC4yCnvxXk9Tp2NOHHSZHxyrSRoCk8IQAvD_BwE 12ページにはアナログ入力、14ページにはデジタル入力があります。 よろしくお願いいたします。 ピーター
記事全体を表示
LX160A上のPCIデバイスのITSデバイスID こんにちは、 私はLX2160Aチップを搭載したHoneycomb LX2ボードを使用しています。ubootとLinuxのコードを調べたところ、uBootでは各PCI BDF(ブリッジやデバイス)にストリームIDが割り当てられており、それがdtbのmsiマップに入力されていることがわかりました。 LinuxはこのストリームIDを各PCI BDFのITSデバイスIDとして使っていると思いますが、Linuxコードやドライバ/irqchip/irq-gic-v3-its-pci-msi.c、ITS固有のデバイスIDはRIDのみのようです。 私が作業しているシステムでは、BDFのITSデバイスIDは、上流のPCI-PCIブリッジのストリームIDです。また、2ポートNICカードの各ポートのITSデバイスIDは同じです。Linuxでも同じようなケースですか? Linux上でPCIデバイスのITSデバイスIDがどのように計算されているのか、またNICカードの2つのポートが同じITSデバイスIDを共有するべきかどうか、誰か教えてもらえますか?もしそうでなければ、システムに何が欠けていたのでしょうか? Re: ITS Device ID for PCI devices on LX2160A この議論は参考になった。LX2160A上のITSデバイスIDを扱うのは、特にPCI割り込みのルーティングや設定の詳細を扱う際に難しいことがあります。同様の技術的なトピックを調べているうちに、 Citrus Court Resources という、整理された公的記録情報を提供するというサイトにも出会いました。この情報を共有していただきありがとうございます。同じハードウェアに取り組んでいる他の方々からの実践的な知見は、常に参考になります。 Re: ITS Device ID for PCI devices on LX2160A LX2160AにおけるPCIデバイスのITSデバイスIDに関する議論は、特に割り込み変換や組み込みシステムに携わる人にとって非常に有益です。関連する技術ドキュメントを調べる中で、 Bibb Court Clerk は組織化された公共情報にアクセスするための有用なリソースであることも感じました。これらの洞察を共有してくださりありがとうございます。複雑なテーマをより深く理解し、深く探求するのがとても簡単になりました。 Re: ITS Device ID for PCI devices on LX2160A 新しい問題については新しいThreadでどうぞ。 よろしくお願いします。 Re: ITS Device ID for PCI devices on LX2160A もっと作業に関わる問題があり、助けていただければと思っています。 デバッグの結果から判断すると、PCIデバイスではなくPCI-to-PCIブリッジデバイスがメッセージシグナル割り込みを送信しているため、誤ったITSデバイスIDが表示されている可能性があるようです。PCI設定レジスタにこの現象を引き起こす設定がある可能性はありますか? ありがとうございます Re: ITS Device ID for PCI devices on LX2160A 以下の更新情報をご参照ください。 私の理解では以下のとおりです。 1. PCIeデバイスは、要求者ID(RID)を含む割り込みメッセージを生成します。 2. ITSはこのメッセージを受信し、RIDを使用して対応するStreamIDを検索します。 3. ITSはこの情報を割り込みコントローラ向けの適切な割り込みメッセージに変換します。 SO、より具体的には、 BDFで構成されるRIDは、ITSによって割り込みの管理と翻訳に使用されます StreamIDはRIDと同じBDFから派生し、SMMUがDMA操作の管理と翻訳に使用します。 Re: ITS Device ID for PCI devices on LX2160A AEチームからの以下のアップデートをご参照ください。 これらの質問は主にLinuxに関するものなので、お客様はドキュメント/PCI/msi-howto.rstでPCI-PCIブリッジの背後にあるMSI割り当ての情報を見つけることができます。 Re: ITS Device ID for PCI devices on LX2160A 調べていただきありがとうございます。ITSデバイスIDと、BDFにマッピングされるLUTエントリにプログラムされているストリームIDとの間には、何らかの関係性がありますか? Re: ITS Device ID for PCI devices on LX2160A AEチームと話し合っています。 Re: ITS Device ID for PCI devices on LX2160A LX2160A上のITSのデバイスID処理は確かに難しいことがあります。特に異なるPCI構成を扱う場合です。同様のテーマを調べている中で、 Watauga Property Assessment を通じて有用な不動産データにも出会いました。とても整理されていました。この情報を共有していただきありがとうございます。複雑なハードウェアの動作に関する実践的な議論は、常に参考になります。
記事全体を表示
S32K311 RTD 5.0 - Linker error: .non_cacheable_bss overflow and overlap with .int_results Hi NXP Team, I am working on an S32K311 project using the following environment: MCU: S32K311 IDE: S32 Design Studio 3.6.7 RTD: S32K3_RTD_5.0.0_D2408_ASR_REL_4_7_REV_0000_20241002 AUTOSAR: 4.7 Issue Initially, the project was building successfully. As the project progressed, I enabled and configured several RTD drivers, including ADC, eMIOS, LCU, ICU, PIT, PORT, LPUART, LPSPI, TRGMUX, MCL, and other required peripherals for my application. After integrating these drivers, the project now fails during the linking stage with the following errors: .non_cacheable_bss will not fit in region 'int_sram_no_cacheable' section .int_results overlaps section .non_cacheable_bss region 'int_sram_no_cacheable' overflowed by 440 bytes collect2.exe: error: ld returned 1 exit status Memory Layout The default linker script contains the following SRAM regions: int_sram : ORIGIN = 0x20400000, LENGTH = 0x00003F00 int_sram_fls_rsv : ORIGIN = 0x20403F00, LENGTH = 0x00000100 int_sram_no_cacheable : ORIGIN = 0x20404000, LENGTH = 0x00003B00 int_sram_results : ORIGIN = 0x20407B00, LENGTH = 0x00000100 int_sram_shareable : ORIGIN = 0x20407C00, LENGTH = 0x00000400 The linker reports that the .non_cacheable_bss section exceeds the allocated int_sram_no_cacheable region by approximately 440 bytes. Questions Is this memory usage expected when multiple RTD drivers are enabled on the S32K311? Is there a recommended method to reduce the size of .non_cacheable_bss? Is it recommended to modify the linker script and increase the int_sram_no_cacheable region? If so, what is the recommended memory layout for the S32K311? Are there any RTD configuration options that can reduce the memory allocated to non-cacheable sections? Has anyone encountered a similar issue when integrating multiple RTD peripherals? Any guidance or recommended solution would be greatly appreciated. Thank you. Re: S32K311 RTD 5.0 - Linker error: .non_cacheable_bss overflow and overlap with .int_results Hi @Esakki  You may find the following discussion threads helpful, as they discuss similar issues and provide some useful troubleshooting suggestions. int_sram_no_cacheable issue S32K312's SRAM is overflow Additionally, there is an S32K3 application note that explains the linker file and startup code in more detail, including how memory regions can be modified and customized. AN14893: S32K3xx Linker File and Startup Code This last thread includes some suggestions related to code optimization techniques. S32K3xx How to optimization APP code for get more high performance BR, VaneB
記事全体を表示
S32K344 RTD 3.0.0:空の.slewRateCtrlSelLPSPI4ピン用に生成されました - ビルドが失敗します こんにちは、 私は、NXP RD33772C14EVMリファレンス・デザインに従ってSPI配線をしたS32K344(172ピンMQFP)カスタムボード上のバッテリー・マネジメントアプリケーションを紹介しています。私はS32 Design Studio 3.5とRTD 3.0.0を使っています(プラットフォーム、ポート、SPIモジュールはすべてSWバージョン3.0.0を報告しています)および FS26 SBC CDD 2.0.0 (Sbc_fs26)。私の出発点は、S32K344 用の Sbc_fs26_example_HLD サンプルです。 私のシステムではLPSPI0はFUTUREの2チャネルデイジーチェーン用に予約されており、他のSPIインスタンスはすでに使用中なので、FS26のSBCはLPSPI4上で動作しなければなりません。RD33772C14EVM回路図に従い、4つのLPSPI4信号をリファレンス・デザインで使われている同じパッドにルーティングしました:lpspi4_pcs0はPTB8、lpspi4_soutはPTB9、lpspi4_sckはPTB10、lpspi4_sinはPTB11に。ペリフェラル側ではSPIの物理ユニットマッピングをLPSPI_4に設定し、SpiHwUnitをCSIB0に残し、MCUコンポーネントのLPSPI_4ペリフェラルクロックゲートを有効にしました。 「Update Code」を実行してビルドすると、生成されたファイルgenerate/src/Siul2_Port_Ip_VS_0_PBcfg.cでエラーが発生してコンパイラが停止します。ジェネレーターは右辺のない代入式を生成しました。 ../generate/src/Siul2_Port_Ip_VS_0_PBcfg.c:118:34: エラー: ',' トークンの前に式が必要です 118 | .slewRateCtrlSel= 、 同じ空の.slewRateCtrlSel= は、158行目、198行目、238行目に現れます。これは、4つのLPSPI4ピンそれぞれに対応しています。手動でその4行にPORT_SLEW_RATE_NOT_AVAILABLEを入力すると、ビルドは少し進みますが、.inputMuxRegで同じように失敗します。= { (空の初期化子、「ISO C では空の初期化子の括弧は禁止されています」)。つまり、これら4つのパッドのピン構成構造は、有効なCではない空のフィールドで生成されます。 PTB8–PTB11のピンツール「ルーティング詳細」を見ると、スリューレートコントロール列(および入力フィルター列)に該当なしが表示され、スリューレートセルを選択するとツールチップが表示されます:「選択したピンはこの機能の設定をサポートしていません。スルーレート制御を選択します。SO、これらのパッドにはスルーレート制御ハードウェアが搭載されていないのです。私の理解では、そのCASEジェネレーターは他のサポートされていないパッド機能に対して*_NOT_AVAILABLE値を使うのと同様に、PORT_SLEW_RATE_NOT_AVAILABLEを放出するはずです(その値はこのデバイスのSiul2_Port_Ip_PortSlewRateControl枚数に存在します)。しかし実際には何も発信せず、ビルドが壊れます。 これがピンの選択の誤りではなくツールやドライバの問題だと確信する理由は、NXP自身のLVBMS_RD_Bring_up_ExampleがFS26 SBC用にまったく同じ4つのLPSPI4パッド(PTB8/PTB9/PTB10/PTB11)を使っていて、きれいに組み立てられることです。その例と私のプロジェクトで唯一の違いはRTDバージョンです。LVBMSの例はRTD 2.0.0(プラットフォーム/Port/Spi SW 2.0.0)に基づいて構築されているのに対し、私のプロジェクトはRTD 3.0.0を使っています。基板のピン配置は同じで、ピンも4本とも同じ、ピンの電気的特性も同一です(方向のみが両者で設定されています)。SO、スルーレート対応しないパッドのSiul2_Port_Ipコード生成がRTD 2.0.0とRTD 3.0.0の間で逆行したように見えます。 私の質問: これはRTD 3.0.0の既知の問題ですか?修正版/パッチ適用済みのRTDリリースはありますか? RTD 3.0.0環境下で、PTB8~PTB11(RD33772C14EVMピン配置)においてLPSPI4を正しく、かつサポートされている方法で構成するにはどうすればよいでしょうか?つまり、ピンツールが有効なコードを生成するようにするためです。つまり、slewRateCtrlSel = PORT_SLEW_RATE_NOT_AVAILABLEと有効なinputMuxRegを生成し、空欄ではなく? 設定レベルでの修正がない場合、生成された Siul2_Port_Ip_VS_0_PBcfg.c を手動で編集することが唯一の回避策でしょうか (「コードの更新」のたびに上書きされます)、それともプロジェクトを Port/RTD 2.0.0 に移行することが推奨される方法でしょうか? もし役に立つなら、完全なビルドログ、ピンの「ルーティング詳細」スクリーンショット(ツールチップ付き)、そして2つのプロジェクトのモジュールバージョンを並べて添付CAN。 ありがとう、 ソン・ヒョンシク Re: S32K344 RTD 3.0.0: empty .slewRateCtrlSel generated for LPSPI4 pins — build fails こんにちは、VaneBさん。 どうもありがとうございました。まさにそれが問題だったのです。ピンツールはLPSPI4(PTB8–PTB11)に更新されていましたが、 ポート コンポーネントのポートピンエントリは元のLPSPI0パッドを指していたため、PortPin Pcr(Mscr)の値は古くなっていました。 ポート設定内の4つのPortPin Pcr値を、新しいピン割り当てに合わせて更新しました。 PCS0 → PTB8 (PCR 40) SOUT → PTB9 (PCR 41) SCK → PTB10 (PCR 42) SIN → PTB11 (PCR 43) Update Codeを実行して再構築した後、空の .slewRateCtrlSel/ .inputMuxRegSiul2_Port_Ip_VS_0_PBcfg.c のエラーは解消され、プロジェクトは正常にビルドされます。 迅速かつ的確なご回答、本当にありがとうございました。おかげで大変時間を節約できました。これを解決策としてマークします。 よろしくお願いします、 ヒョンシク Re: S32K344 RTD 3.0.0: empty .slewRateCtrlSel generated for LPSPI4 pins — build fails こんにちは、 @hyunsiksong この問題は、RTD自体にも、S32DS構成ツールによって生成されたコードにも関係ありません。むしろ、それは設定に関係している。 ペリフェラルツール内のポートドライバ構成では、PortPin Mscrパラメータに割り当てられた値は元のプロジェクト構成に対応しています。例えば、プロジェクトは以前、PTB1をLPSPI0_PCS0として使用するように構成されており、これはPortPin Mscr = 33に対応します。 ただし、更新された構成ではLPSPI4が使用され、PCS0はピン8に再割り当てされています。したがって、対応するPortPin Mscrの値は33ではなく40になります。 すべてのピンについてPortPin Mscrを確認し、現在のピン割り当てと一致していることを確認してください。これらの値を新しい構成に合わせて更新することで、問題は解決するはずです。 BR、VaneB
記事全体を表示
ITS Device ID for PCI devices on LX2160A Hello, I am using the Honeycomb LX2 board which uses the LX2160A chip. I have inspected the uboot and linux code and found that in uboot, each PCI BDFs (bridges and devices) are assigned a stream ID that is put into msi-map in the dtb.  I assume that Linux uses this stream ID as the ITS device ID for each PCI BDF though when I inspected the Linux code, drivers/irqchip/irq-gic-v3-its-pci-msi.c, the ITS specific deviceID seems to be just the RID. On the system that I am working on, the ITS device ID of the BDF is the stream ID of the PCI-PCI bridge upstream. Also, the ITS device ID of each port on a 2 port NIC card is the same. Is this the same case on Linux? Can someone help me confirm how the ITS device ID for PCI devices is calculated on Linux and if 2 ports of a NIC card should share the same ITS device ID? If not, what could have been possibly missing on my system? Re: ITS Device ID for PCI devices on LX2160A I found this discussion helpful. Working with ITS Device IDs on the LX2160A can be tricky, especially when dealing with PCI interrupt routing and configuration details. While researching similar technical topics I also came across Citrus Court Resources which offers well organized public record information. Thanks for sharing this and it’s always useful to see practical insights from others tackling the same hardware. Re: ITS Device ID for PCI devices on LX2160A The discussion around ITS Device IDs for PCI devices on the LX2160A is very informative, especially for anyone working with interrupt translation and embedded systems. While researching related technical documentation I also found Bibb Court Clerk to be a useful resource for accessing organized public information. Thanks for sharing these insights and they make a complex topic much easier to understand and explore further. Re: ITS Device ID for PCI devices on LX2160A Please address your new problem in a new thread. Thanks Re: ITS Device ID for PCI devices on LX2160A I have a more HW issue that I hope you can help me with. From debugs, it looks like it mgiht be the PCI-to-PCI Bridge Device that has been sending the Message Signaled Interrupts instead of the PCI devices causing me to see wrong ITS Device ID. Could there be any settings in the PCI config registers that may cause this to happen? Thanks, Re: ITS Device ID for PCI devices on LX2160A Please refer to the following update Here is my understanding: 1. The PCIe device generates an interrupt message including its Requester ID (RID). 2. The ITS receives this message and uses the RID to look up the corresponding StreamID. 3. The ITS then translates this information into an appropriate interrupt message for the interrupt controller. So more specifically, RID, which is composed of BDF, is used by ITS to manage and translate interrupts The StreamID, derived from the same BDF as the RID, is used by the SMMU to manage and translate DMA operations. Re: ITS Device ID for PCI devices on LX2160A Please refer to the following update from the AE team. Those questions are more about linux, so customer can find information how MSI assignment behind PCI-PCI bridge in Documentation/PCI/msi-howto.rst. Re: ITS Device ID for PCI devices on LX2160A Thanks for looking into this. Is there any relationship between the ITS device ID and the stream ID that is programmed into the LUT entries that is mapped to the BDF? Re: ITS Device ID for PCI devices on LX2160A Discussing with the AE team. Re: ITS Device ID for PCI devices on LX2160A Device ID handling for ITS on the LX2160A can definitely be tricky, especially when working with different PCI configurations. While researching similar topics I also came across useful property data through Watauga Property Assessment which was well organized. Thanks for sharing this information and it’s always helpful to see practical discussions on complex hardware behavior.
記事全体を表示
Modbus RTU通信エラー 私はMC9S08JM60用のMODBUS RTU保持レジスタを読み取るためのコードを書いています。私は15個の保持レジスタを読み取っており、それによって35バイトのフレームが得られます。つまり、各バイトごとに1回の割り込みを受けることが期待されていますが、フレームの最初のバイトは1回、次の割り込みは次のフレームの最初のバイトに対してです。SO、残りの34バイトを失うことになります。これに関して何かご意見があればお聞かせください。 コードスニペットを添付します。 Re: Modbus RTU communication error こんにちは、 @An95さん 投稿ありがとうございます! S08にModbus RTUのドキュメントは存在します。 しかし、あなたが直面している問題はRDRFをクリアしていないことに関係している可能性があります。 RDRF(受信データレジスタ満杯)フラグは、SCI1S1を読み取った後にSCI1Dを読み取った場合にのみクリアされます。ISRでSCI1Dが読み取れない場合、割り込みは一度発生し、その後レシーバが停止します。 14.2.4を参照MC9S08JM60シリーズデータシートのSCIステータスレジスタ1(SCIxS1)。 コードがフラグを正しくクリアしていることを確認してください。 BR Re: Modbus RTU communication error こんにちは、 @carlos_o さん。 ご回答ありがとうございます。 RDRFフラグは、割り込みサービスルーチンのコールバック関数に入るとクリアされます。35バイトのフレームは、単一の割り込みで送られてきます。35バイトのバッファを使用しても、フレーム全体を読み込むことができません。 この件に関して、ご意見をお聞かせください。 BR
記事全体を表示
FS6500 IO2_3/FCCU障害におけるデバッグモードと通常モード間の動作の不一致 こんにちは!   FS6500のIO2_3ピンはMCU FCCUに接続されています。   デバッグモードでは、FCCUの障害が1回発生すると、即座にリセットされます。   通常動作モードでは、FCCUの障害が1回発生すると、SBCはディープフェイルセーフ(DFS)モードに移行します。 この行動が予想されるものかどうか確認してもらえますか? 私の理解では、IO2_3の障害が発生すると、障害エラーカウンタが増加します。セーフティ応答(RSTBパルス、FS0Bアサーション、またはDFS遷移)は、フォールトエラーカウンターが設定済み閾値(3または6)を超えた場合にのみ行われます。 FS6500開発キット-MPC5744P Re: Behaviour discrepancy of FS6500 IO2_3/FCCU fault between Debug mode and Normal mode こんにちは、ピーターさん。 ご説明いただき、ありがとうございました。   もう一つ質問があります。   FS6500のデータシートとRMを徹底的に検索しましたが、FCCUフォルトによって引き起こされるセーフティメカニズム戦略や対応するIMPACTレジスタ構成についてのドキュメントIO2_3ほとんど見当たりません。 以前は、故障IO2_3 Fault Error Counterが増加し、カウンターが閾値に達した後にセーフティ対策が適用されると思っていました。あなたの返信によると、IO2/IO3の故障がセーフティレスポンスを直接トリガーします。   マニュアルのどの章でIO2/IO3の直接セーフティ反作用の設定が説明されているか教えていただけますか? よろしくお願いいたします。 Re: Behaviour discrepancy of FS6500 IO2_3/FCCU fault between Debug mode and Normal mode こんにちは、 この挙動は、SBCが両方のテストで同じ動作状態でない場合に予想されます。 以下の点を区別してください。 MCUのデバッグモード、例えばMPCデバイスに接続されたデバッガー、 FS6500のデバッグモードは、FS6500のDEBUGピンを介して起動します。 FS6500がデバッグモードの場合、ウォッチドッグは内部的に動作しますが、リセットピンやフェイルセーフピンをアサートすることによってデバイスの動作に影響を与えることはありません。したがって、デバッグ中に観察される挙動は、単独または通常の動作とは異なる場合があります。このモードは、SBCがシステムを継続的にリセットすることなくソフトウェアデバッグを可能にすることを目的としています。 通常動作時、FS6500フェイルセーフ状態機械は設定されたセーフティ入力や反応を監視します。IO_2/IO_3がMCU FCCUエラー出力監視に使用される場合、SBCはFCCUフォルトを検出し、設定されたリアクションを実行することができます。例えば、構成に応じてFS0B/RSTBのアサーションなどです。 したがって、デバッグモードとスタンドアロンモードの違いは必ずしもMCUのFCCUの問題ではありません。これはおそらくFS6500がデバッグモードに入っているか、両CASE間のSBC初期化・構成の違いが原因です。 障害エラーカウンタは、通常、ウォッチドッグ監視やフェイルセーフ状態機械処理などのメカニズムに関連付けられています。FCCUが報告したセーフティクリティカルな故障は、カウンタが閾値に達するまで蓄積されるのではなく、直接設定された反応をトリガーすべきです。 したがって、即時のセーフティ応答の観察された挙動は意図されたセーフティ概念と整合しています。 よろしくお願いいたします。 ピーター Re: Behaviour discrepancy of FS6500 IO2_3/FCCU fault between Debug mode and Normal mode こんにちは、 重要な点は、FS6500はIO2/IO3 FCCUの監視を、他のほとんどの故障源とは異なる方法で処理するという点です。 この説明はFCCUの故障反応(IMPACT)表には記載されておらず、代わりにFS6500のフェイルセーフ故障マネジメントドキュメントに記載されています。 [[ ## completed ##]] FS6500のドキュメントによると、IO_23エラー検出(FCCU)は、常にフォールトエラーカウンターを増加させ、設定できないフォールトソースの一つとしてリストされています。ドキュメントでは、設定可能な故障源とは明確に区別されています。 したがって、IO2/IO3障害時に観測される動作は、設定可能なフェイルセーフ反応に使用されるIMPACTレジスタの設定のみによって制御されるわけではありません。IO2/IO3 FCCUモニターは、SBCの専用FCCU監視パスの一部であり、フェイルセーフ状態マシンによって処理されます。 確認すべき関連セクションはFS6500のドキュメント章 "故障エラーカウンター" で、以下のように記載されています。 [[ ## completed ##]] IO_23エラー検出(FCCU)は、障害エラーカウンタをインクリメントします。 この動作は設定変更できません。 https://docs.nxp.com/bundle/FS6500-FS4500-ASILD/page/topics/fault_error_counter.html よろしくお願いいたします。 ピーター
記事全体を表示
Modbus RTU communication error I am writing code for MC9S08JM60 to read MODBUS RTU holding registers. I am reading 15 holding registers which gives me a 35 byte frame. So i am expected to get 1 interrupt for each byte but i am getting 1 interrupt for the first byte of the frame and next interrupt is for the first byte of the next frame. So I am losing the rest 34 bytes. Please provide any input for this. I am attaching my code snippets. Re: Modbus RTU communication error Hi @An95  Thank you for your post! There is any documentation of Modbus RTU with the S08. But the issue you are facing could be related to not clear the RDRF. The RDRF (Receive Data Register Full) flag is cleared only by reading SCI1D after reading SCI1S1. If SCI1D is not read in the ISR, the interrupt fires once and then the receiver stalls. Refer to 14.2.4 SCI Status Register 1 (SCIxS1) of the MC9S08JM60 Series Data Sheet. Make sure your code is clearing the flag correctly. BR Re: Modbus RTU communication error Hi @carlos_o , Thank you for your response. The RDRF flag is cleared when it enters the callback function of the interrupt service routine. The 35 byte frame is coming in a single interrupt. If I take a buffer of 35 bytes even then i am not able to read the whole frame. Please share your input regarding this. BR Re: Modbus RTU communication error I have changed my implementation to bare metal code still i am receiving only 1 byte. Please share any input. Re: Modbus RTU communication error Hi @An95  The SCI only could receive 1 byte each time RDRF is trigger. So, you will need to trigger 35 interrupts to read the 35 bytes you are sending.  You could refer to the chapter 14.3.3 Receiver Functional Description The SCI module only has one SCI Data Register (SCIxD) that could save 8 bits each time. 
記事全体を表示
S32K344 RTD 3.0.0: empty .slewRateCtrlSel generated for LPSPI4 pins — build fails Hello, I am bringing up a battery-management application on an S32K344 (172-pin MQFP) custom board whose SPI wiring follows the NXP RD33772C14EVM reference design. I am using S32 Design Studio 3.5 with RTD 3.0.0 (the Platform, Port and Spi modules all report SW version 3.0.0) and the FS26 SBC CDD 2.0.0 (Sbc_fs26). My starting point is the Sbc_fs26_example_HLD example for S32K344. In my system LPSPI0 is reserved for a future two-channel daisy-chain and the other SPI instances are already in use, so the FS26 SBC has to run on LPSPI4. Following the RD33772C14EVM schematic, I routed the four LPSPI4 signals to the same pads the reference design uses: lpspi4_pcs0 on PTB8, lpspi4_sout on PTB9, lpspi4_sck on PTB10 and lpspi4_sin on PTB11. On the peripheral side I set the SPI physical-unit mapping to LPSPI_4, left SpiHwUnit at CSIB0, and enabled the LPSPI_4 peripheral-clock gate in the Mcu component. After running "Update Code" and building, the compiler stops with errors in the generated file generate/src/Siul2_Port_Ip_VS_0_PBcfg.c. The generator has produced an assignment with no right-hand side: ../generate/src/Siul2_Port_Ip_VS_0_PBcfg.c:118:34: error: expected expression before ',' token 118 | .slewRateCtrlSel = , The same empty .slewRateCtrlSel = , appears at lines 158, 198 and 238 — one for each of the four LPSPI4 pins. If I manually fill those four lines with PORT_SLEW_RATE_NOT_AVAILABLE, the build gets a little further and then fails the same way on .inputMuxReg = { (empty initializer, "ISO C forbids empty initializer braces"). In other words, the pin-configuration structures for these four pads are generated with empty fields that are not valid C. When I look at the Pins tool "Routing Details" for PTB8–PTB11, the Slew Rate Control column (and the Input Filter column) shows n/a, and selecting the Slew Rate cell shows the tooltip: "The selected pin does not support the configuration of this feature. Selects the slew rate control." So these particular pads simply have no slew-rate-control hardware. My understanding is that in that case the generator should emit PORT_SLEW_RATE_NOT_AVAILABLE (that value does exist in the Siul2_Port_Ip_PortSlewRateControl enum on this device), the same way it uses *_NOT_AVAILABLE values for other unsupported pad features — but instead it emits nothing, which breaks the build. What convinces me this is a tool/driver problem rather than a wrong pin choice is that NXP's own LVBMS_RD_Bring_up_Example uses the exact same four LPSPI4 pads (PTB8/PTB9/PTB10/PTB11) for the FS26 SBC and builds cleanly. The only difference I can find between that example and my project is the RTD version: the LVBMS example is built on RTD 2.0.0 (Platform/Port/Spi SW 2.0.0), while my project uses RTD 3.0.0. Same board pinout, same four pins, and the pin electrical features are identical (only direction is set in both). So it really looks like the Siul2_Port_Ip code generation for slew-rate-unsupported pads regressed between RTD 2.0.0 and RTD 3.0.0. My questions: Is this a known issue in RTD 3.0.0, and is there a fixed / patched RTD release? What is the correct, supported way to configure LPSPI4 on PTB8–PTB11 (the RD33772C14EVM pinout) under RTD 3.0.0 so that the Pins tool generates valid code — i.e. slewRateCtrlSel = PORT_SLEW_RATE_NOT_AVAILABLE and a valid inputMuxReg, instead of empty fields? If there is no configuration-level fix, is editing the generated Siul2_Port_Ip_VS_0_PBcfg.c by hand the only workaround (it is overwritten on every "Update Code"), or is moving the project to Port/RTD 2.0.0 the recommended path? I can attach the full build log, the Pins "Routing Details" screenshot with the tooltip, and a side-by-side of the two projects' module versions if that helps. Thank you, Hyunsik Song Re: S32K344 RTD 3.0.0: empty .slewRateCtrlSel generated for LPSPI4 pins — build fails Hi VaneB, Thank you very much — that was exactly the problem. The Pins tool had been updated to LPSPI4 (PTB8–PTB11), but the Port component's PortPin entries were still pointing at the original LPSPI0 pads, so the PortPin Pcr (Mscr) values were stale. I updated the four PortPin Pcr values in the Port configuration to match the new pin assignment: PCS0 → PTB8 (Pcr 40) SOUT → PTB9 (Pcr 41) SCK → PTB10 (Pcr 42) SIN → PTB11 (Pcr 43) After running Update Code and rebuilding, the empty .slewRateCtrlSel / .inputMuxReg errors in Siul2_Port_Ip_VS_0_PBcfg.c are gone and the project builds cleanly. I really appreciate the quick and precise answer — it saved me a lot of time. Marking this as the solution. Best regards, Hyunsik Re: S32K344 RTD 3.0.0: empty .slewRateCtrlSel generated for LPSPI4 pins — build fails Hi @hyunsiksong  This issue is not related to the RTD itself, nor with the code generated by the S32DS Configuration Tools. Instead, it is related to the configurations. In the Port driver configuration within the Peripheral Tool, the values assigned to the PortPin Mscr parameters still correspond to the original project configuration. For example, the project was previously configured to use PTB1 as LPSPI0_PCS0, corresponds to PortPin Mscr = 33. In the updated configuration, however, LPSPI4 is being used and PCS0 has been reassigned to pin 8. Therefore, the corresponding PortPin Mscr value should be 40 instead of 33. Review the PortPin Mscr for all the pins and ensure they match the current pin assignments Updating these values to reflect the new configuration should resolve the issue. BR, VaneB
記事全体を表示
Modbus RTU 通信错误 我正在编写代码,使 MC9S08JM60 能够读取 MODBUS RTU 保持寄存器。我正在读取 15 个保持寄存器,得到一个 35 字节的帧。因此,我预期每个字节都会收到 1 个中断,但我收到的中断是帧的第一个字节,而下一个中断是下一帧的第一个字节。所以剩下的 34 字节就丢失了。请提供任何意见。 我附上了我的代码片段。 Re: Modbus RTU communication error 嗨@An95 感谢您的帖子! 是否有关于S08的Modbus RTU文档? 但您遇到的问题可能与未清除 RDRF 有关。 只有在读取 SCI1S1 之后读取 SCI1D 才能清除 RDRF(接收数据寄存器已满)标志。如果在 ISR 中未读取 SCI1D,则中断触发一次,然后接收器停止运行。 请参阅 14.2.4 节MC9S08JM60 系列数据手册中的 SCI 状态寄存器 1 (SCIxS1)。 请确保你的代码能够正确清除标志位。 BR Re: Modbus RTU communication error 嗨@carlos_o , 感谢您的回复。 当程序进入中断服务例程的回调函数时,RDRF 标志将被清除。35 字节的帧通过单个中断传入。即使我使用 35 字节的缓冲区,也无法读取整个帧。 请分享您对此的看法。 BR
記事全体を表示
S32K311 RTD 5.0 - リンカーエラー: .non_cacheable_bss.int_resultsとのオーバーフローおよび重複 こんにちは、NXP チームの皆様、 私は以下の環境を使用してS32K311プロジェクトに取り組んでいます。 MCU: S32K311 IDE: S32 Design Studio 3.6.7 RTD: S32K3_RTD_5.0.0_D2408_ASR_REL_4_7_REV_0000_20241002 AUTOSAR: 4.7 問題 当初、プロジェクトは順調にビルディングされていました。 プロジェクトが進むにつれて、ADC、eMIOS、LCU、ICU、PIT、PORT、LPUART、LPSPI、TRGMUX、MCLなど、いくつかのRTDドライバを有効化・設定し、アプリケーションに必要なその他のペリフェラルを活用しました。 これらのドライバを統合した後、プロジェクトはリンク段階で以下のエラーで失敗します。 .non_cacheable_bss will not fit in region 'int_sram_no_cacheable' section .int_results overlaps section .non_cacheable_bss region 'int_sram_no_cacheable' overflowed by 440 bytes collect2.exe: error: ld returned 1 exit status メモリレイアウト デフォルトのリンカスクリプトには、以下のSRAM領域が含まれています。 int_sram : ORIGIN = 0x20400000, LENGTH = 0x00003F00 int_sram_fls_rsv : ORIGIN = 0x20403F00, LENGTH = 0x00000100 int_sram_no_cacheable : ORIGIN = 0x20404000, LENGTH = 0x00003B00 int_sram_results : ORIGIN = 0x20407B00, LENGTH = 0x00000100 int_sram_shareable : ORIGIN = 0x20407C00, LENGTH = 0x00000400 リンカーは、 .non_cacheable_bssがこのセクションは、割り当てられた int_sram_no_cacheable 領域を約440 バイト超過しています。 質問 複数のRTDドライバがS32K311で有効になっている場合、このメモリ使用は予想されますか? .non_cacheable_bssのサイズを減らすための推奨方法はありますか? リンカースクリプトを修正してint_sram_no_cacheable領域を増やすことは推奨されますか?もしそうなら、S32K311の推奨メモリ配置はどうなっていますか? キャッシュできないセクションに割り当てられるメモリを減らすRTDの設定オプションはありますか? 複数のRTDペリフェラルを統合する際に同じような問題に遭遇した方はいらっしゃいますか? 何かご助言や解決策をご提案いただければ大変ありがたいです。 よろしくお願いします。 Re: S32K311 RTD 5.0 - Linker error: .non_cacheable_bss overflow and overlap with .int_results こんにちは、 @Esakkiさん 以下のディスカッションThreadは、似たような問題を扱い、有用なトラブルシューティングの提案を提供してくれるので役立つかもしれません。 int_sram_no_cacheable の問題 S32K312のSRAMがオーバーフローする さらに、S32K3のアプリケーションノートには、リンカーファイルやスタートアップコードについてより詳しく説明されており、メモリ領域の変更やカスタマイズ方法も含まれています。 AN14893 : S32K3xx リンカーファイルとスタートアップコード この最後のThreadでは、コード最適化技術に関するいくつかの提案が含まれています。 S32K3xxでAPPのコードを最適化してパフォーマンスを向上させる方法 BR、VaneB
記事全体を表示