打印
[N32G43x]

N32G43X和N32G430性能差异太大,怎么排查原因?

[复制链接]
827|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
之前有小伙伴反馈:一开始用的N32G435,后面发现N32G430这款芯片性价比更高,于是换成N32G430使用,但是代码移植完成后,发现N32G430的代码执行效率比N32G435要慢很多,这是什么原因呢?要怎么排查这个问题?下面和小编一起来看看吧!

使用特权

评论回复
沙发
心向朝阳|  楼主 | 2022-12-5 16:12 | 只看该作者
本帖最后由 心向朝阳 于 2022-12-5 16:18 编辑

N32G430主频为128M,N32G435主频为108M

使用特权

评论回复
板凳
心向朝阳|  楼主 | 2022-12-5 16:18 | 只看该作者
理论上处在相同配置及环境下N32G430代码执行速度会略快

使用特权

评论回复
地板
心向朝阳|  楼主 | 2022-12-5 16:19 | 只看该作者
如果出现相反的结果,可从以下几点排查分析

使用特权

评论回复
5
心向朝阳|  楼主 | 2022-12-5 16:20 | 只看该作者
本帖最后由 心向朝阳 于 2022-12-5 16:21 编辑

1.  G435和G430都有提高代码在FLASH中执行效率的功能:(1)FLASH中的预取指令;(2)icache
首先要确认G430和G435在system.c文件中对两种功能的配置是否一致,G430默认是打开icache并关闭预取。

111.png (569.85 KB )

111.png

使用特权

评论回复
6
心向朝阳|  楼主 | 2022-12-5 16:22 | 只看该作者
2. 确认G430和G435的Keil工程配置是否一致,比如编译器类型和优化等级


333.png (53.88 KB )

333.png

222.png (47.28 KB )

222.png

使用特权

评论回复
7
心向朝阳|  楼主 | 2022-12-5 16:23 | 只看该作者
3. 应用层代码检查:执行的代码,是否运行逻辑都一致,比如用SPI读写数据,两边的SPI配置是否一致,SPI速率是否一致,需要读写的数据量是否一致等

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

60

帖子

2

粉丝