2356091_zh-CN

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

2356091_zh-CN

2356091_zh-CN

S32Z RTU0 core0 性能问题

我在 S32Z270 RTU0 内核 0 (R52) 上运行一些测试代码,RTU0_CORE_CLK 设置为 1GHz,执行时间似乎过长。 相比之下,我在 SS32K388 内核 0 (CM7) 上运行相同的代码,内核时钟设置为 320MHz。 鉴于时钟频率的提高,我本以为执行速度会更快一些,但执行时间反而更长了。

两个二进制文件的版本/编译标志保持不变(参见随附的 txt 文件 buildinfo.h)

(1) 由于 S32 配置工具中的时钟配置对于 S32Z 来说有点复杂,我如何才能确保 RTU0 内核 0 的时钟频率按计划为 1GHz?

我已经通过 MC_CGM_3_MUX4_CSC(例如,SEL_CTL = 0x3D)将 RTU0_CORE_DIV2_CLK 路由到 CLKOUT_4(BGA594 的 PAD_040),包括 MC_CGM_3_MUX4_DC_0(例如,DIV = 0x9)中为 10 的分频器。另请参见所附的登记册读数。 如果我在 CLKOUT_4 测量到 50MHz,我是否可以假定 (a) RTU0_CORE_DIV2_CLK 为 500MHz,(b) RTU0_CORE_CLK 为 1GHz?

CGM_3_MUX_4_Register_Configuration.png

CLOCKOUT4_Measurements_RTU0_CORE_DIV2_CLK_50MHz.png

(2) 我使用 S32Z RTD2.0.1 测量了引脚写入 GPIO 的执行时间,并测量了示波器通道 CH5 - TESTFLAG 的高/低时间,大约为 3.4us。您是否有可能确认一下它们看起来是正常还是太慢了?

Screenshot 2026-04-25 123853.png

Setting_GPIO_Low_3.4us.png

Setting_GPIO_High_3.4us.png

(3) 我不知道我错过了什么。


 

 

Re: S32Z RTU0 core0 performance issue

随函附上包装标记的照片。

Scan from 2026-04-27 09_28_21 AM.jpg0

 


Re: S32Z RTU0 core0 performance issue

你好,@Joey_z、

感谢您的快速回复。 下面是我对这些问题的回答:

1) 我使用的是 S32Z2XX 主板 + S32Z2XX 子板的组合。
a) S32ZXX 主板 X-S32X-MB A 版
b) S32ZXX 子板 SCH-50588 REV B2 / 700-50588 REV A2

S32Z2XX_Complete_Setup.jpg

S32Z2XX_Motherboard_Tag.jpg

S32Z2XX_Daughterboard_Tag.jpg

2) 代码使用 S32DS 版本 3.6.7 Build 260420 进行编译和链接。使用 S32DS 的先前版本(例如版本 3.6.6 或 3.6.5)时没有任何变化。我正在为 S32Z2XX 使用 RTD2.0.1。

Screenshot 2026-04-27 092032.png

Screenshot 2026-04-27 092336.png

3) 我会使用 DM 发送项目副本。

Re: S32Z RTU0 core0 performance issue

你好,德克-埃兹勒

感谢您与我们联系。

1. 你使用开发板还是客户板?

2.您使用的是 S32DS 的 IDE 吗?您测试的 IDE 版本是什么?

3.能否与我分享您的测试代码?

BR

乔伊

Re: S32Z RTU0 core0 performance issue

你好,德克-埃茨勒

感谢您的答复和详细资料。

我会帮你检查,并在晚些时候回复你。

BR

乔伊

Re: S32Z RTU0 core0 performance issue

你好,德克-埃茨勒

抱歉,回复晚了。

(1) 我已经通过 MC_CGM_3_MUX4_CSC(例如,SEL_CTL = 0x3D)将 RTU0_CORE_DIV2_CLK 路由到 CLKOUT_4(BGA594 的 PAD_040),包括 MC_CGM_3_MUX4_DC_0 中的分频器 10(例如,DIV = 0x9)。另请参见所附的登记册读数。如果我在 CLKOUT_4 测量到 50MHz,我是否可以假定 (a) RTU0_CORE_DIV2_CLK 为 500MHz,(b) RTU0_CORE_CLK 为 1GHz?

>>>关于这个问题,数字 7 被分配给 RTU0_CORE_DIV2_CLK,您还应通过编程 GPR3.CLKOUT4SE 来设置该值。您能确认一下是否设置了这个寄存器吗?

Joey_z_0-1777434680768.png

BR

乔伊

Re: S32Z RTU0 core0 performance issue

你好@Joey_z

关于这个问题:

>>>关于这个问题,数字 7 被分配给 RTU0_CORE_DIV2_CLK,您还应通过编程 GPR3.CLKOUT4SE 来设置该值。 您能确认一下是否设置了这个寄存器吗?

我检查了 GPR3.CLKOUT4SEL[MUXSEL] 的寄存器设置,该寄存器设置为 7,用于在相应的多路复用器中选择 RTU0_CORE_DIV2_CLK。

Re: S32Z RTU0 core0 performance issue

你好,@Joey_z、

我不确定我之前的留言是否已被确认为回复。 我检查了 GPR3.CLKOUT4SEL[MUXSEL]是否设置为 0x7,因此RTU0_CORE_DIV2_CLK 通过多路复用器路由。 使用所述配置并在输出引脚上看到 50MHz,我推测 RTU0 内核的时钟频率为 1GHz。

如果内核频率设置为 1GHz,但我仍然没有看到预期的性能(例如,使用 CoreMark 测试台),还有什么其他不正确的配置吗? 如何检查缓存配置是否正确? 我查看了汇编器启动脚本和使用过的链接器脚本,没有发现任何可疑之处。

Re: S32Z RTU0 core0 performance issue

你好,德克-埃茨勒

感谢您的答复和详细资料。

您可以尝试参考 AN14245 的第 3、4 章来检查缓存配置。 高速缓存机制有助于提高内存性能。您可以下载以下图片。

Joey_z_0-1778036409619.png

此外,GPIO 翻转到测量时间,主要反映了外设的"延迟" 访问路径,但会对 CPU 内核运算性能产生偏差。另外,在此应用程序中包含CoreMark的内容,您可以作为测试的参考。

BR

乔伊

Re: S32Z RTU0 core0 performance issue

你好,@Joey_z、

谢谢,我将阅读上述应用笔记(AN14245 S32ZE 安全可靠的高性能实时处理器)的第 3 章和第 4 章,了解缓存的正确设置。

顺便提一句,获得的 CoreMark 分数太低,这也是支持案例的起因。

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎05-12-2026 03:31 AM
更新者: