发帖
19 1 2

给小安派打点鸡血,超频到600MHz试试^_^,二度鸡血再次起飞

scu319hy
高级会员

2

主题

18

回帖

703

积分

高级会员

积分
703
小安派&M61基本系统教程 5811 19 2023-12-28 15:57:37
本帖最后由 scu319hy 于 2023-12-29 13:13 编辑

新建个BL616的空工程

在board_init()后添加几行
  1. GLB_Config_AUDIO_PLL_To_384M();
  2. GLB_Set_MCU_System_CLK(GLB_MCU_SYS_CLK_TOP_AUPLL_DIV1);
  3. GLB_Set_MCU_System_CLK_Div(0, 3);
复制代码

函数未定义?没关系,光标移动到函数上,按"alt+回车"自动添加相关的头文件。

把小安派重置到烧写模式,按ctrl+f5。
重启后,小安派已经工作在384MHz了。
把Dhrystone代码复制过来,粘贴到工程目录里

打开CMakeLists.txt,找到target_sources的注释行,取消注释,把Dhrystone的代码添加进来

删除没用的打印,调用dhry_main。按ctrl+f5跑跑看

为啥这么点,比之前320MHz还慢?原来是忘了切换到newlib
在工程面板,鼠标右键菜单打开CMake配置

在配置列表上输入new,找到newlib的配置

都打开

再跑一次

嗯,比默认频率的分要高一些了。
还不太过瘾,再加点料!光标移动到GLB_Config_AUDIO_PLL_To_384M,按F12跳转到函数定义看下:

这个audioPllCfg_384M应该可以做点文章,再按F12跳过去看下

这行应该是关键了。32M(?)0x18000(?)8=40M(?)0x13333(?)8=384MHz
盲猜一下它们的关系: 40*0x13333/8/1024=32*0x18000/8/1024=384MHz,应该差不多
改成0x17000,40*0x17000/8/1024=460MHz 再试一下

真是打了鸡血了
顺手加上我自己写的数值测试,一步一步测试,看看它的极限在哪里。
40*0x10000/8/1024  320MHz  31.5s  507.32  ETH OK*
40*0x13333/8/1024  384MHz  26.3s  608.72  ETH OK*
40*0x14000/8/1024  400MHz  25.3s  634.15  ETH OK*
40*0x15000/8/1024  420MHz  24.0s  665.92  ETH OK*
40*0x16000/8/1024  440MHz  23.0s  697.54  ETH OK*
40*0x17000/8/1024  460MHz  22.0s  729.39  ETH OK*
40*0x18000/8/1024  480MHz  21.0s  761.09  ETH OK* DHCP正常,Ping有中断错误
40*0x19000/8/1024  500MHz  20.2s  792.55  ETH BAD* 中断错误
40*0x1A000/8/1024  520MHz  19.4s  824.55
40*0x1B000/8/1024  540MHz  18.7s  855.87
40*0x1C000/8/1024  560MHz  18.0s  887.57
40*0x1D000/8/1024  580MHz  17.4s  919.61
40*0x1E000/8/1024  600MHz  16.8s  X
40*0x1F000/8/1024  620MHz  X

我的数值计算代码在600MHz时依旧可以正常工作,620MHz时已经无法启动了。
Dhrystone在600MHz时已经出错了,580MHz时可以跑到919分,比320MHz时的507分高了近一倍。

其它设备没有测试,只跑了一下ETH,只要把CPU的时钟设置为AUPLL,board_init()就会无法正常初始化。
但奇怪的是只要不加ETH的相关代码就能正常初始化。等初始化完成之后再改时钟,ETH可以正常工作。
在480MHz时,DHCP可以正常获取IP,但ping设备时,偶尔会报中断错误。460MHz时看上去一切正常。
看来可以在计算时把CPU超频,计算完再还原回来,手工实现Intel SpeedStep


==========================================================


突然想起来,SpeedStep的精髓是加压超频。不加电压的超频是不完整的,果然SDK里有调整电压的接口。
加点电压,再度起飞

1.25v:

40*0x1E000/8/1024  600MHz  16.8s  951.31

1.30v:
40*0x1F000/8/1024  620MHz  16.3s  982.89
40*0x20000/8/1024  640MHz  15.8s  1014.64
40*0x21000/8/1024  660MHz  15.3s  1046.42/x
40*0x22000/8/1024  680MHz  x

1.35v:

1.35v:
40*0x18000/8/1024  480MHz  21.0s  761.09  ETH OK*
40*0x19000/8/1024  500MHz  20.2s  792.55  ETH OK*
40*0x1A000/8/1024  520MHz  19.4s  824.55  ETH OK*
40*0x1B000/8/1024  540MHz  18.7s  855.87  ETH OK*
40*0x1C000/8/1024  560MHz  18.0s  887.57  ETH OK*
40*0x1D000/8/1024  580MHz  17.4s  919.61  ETH OK*
40*0x1E000/8/1024  600MHz  16.8s  951.31  ETH OK*
40*0x1F000/8/1024  620MHz  16.3s  982.89  ETH OK*
40*0x20000/8/1024  640MHz  15.8s  1014.64 ETH BAD* 中断错误
40*0x22000/8/1024  680MHz  14.8s  1078.00
40*0x23000/8/1024  700MHz  14.4s  1109.86/x
40*0x24000/8/1024  720MHz  x



──── 1人觉得很赞 ────

使用道具 举报

2024-2-7 09:37:33
梅开二度
2024-2-4 19:25:19
scu319hy 发表于 2024-2-4 11:21
附件是完整工程,你可以参考一下

感谢大佬,成功运行
2024-2-4 11:21:54
xiaoch669 发表于 2024-2-2 20:51
大佬,能分享一下工程吗?编译出错,缺少文件

附件是完整工程,你可以参考一下

bl616-overdrive.zip

11.7 KB, 下载次数: 3

2024-2-3 00:33:56
xiaoch669 发表于 2024-2-2 20:51
大佬,能分享一下工程吗?编译出错,缺少文件

你是说这个超频的项目?按文章中的步骤操作即可,有什么错误你可以发出来我看一下
大佬,能分享一下工程吗?编译出错,缺少文件
2024-1-14 14:30:41
King6688 发表于 2024-1-13 19:42
长时间运行会不会冒烟?

哈哈,感觉完全没问题。
2024-1-13 19:42:58
长时间运行会不会冒烟?
2023-12-29 12:38:27
lazy 发表于 2023-12-29 09:17
这个是什么开发工具呀

我自己写的,前面有分享过给大家。不过似乎感兴趣的人不多
https://bbs.ai-thinker.com/forum ... &extra=page%3D2
您需要登录后才可以回帖 立即登录
高级模式
12下一页
统计信息
  • 会员数: 30224 个
  • 话题数: 44437 篇