打印
[技术问答]

HC32F460 usb_host_init运行速度问题

[复制链接]
1778|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sagade|  楼主 | 2022-10-28 11:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
HC32F460,跑200MHZ。时钟配置使用官方提供的BSP_CLK_Init函数。USB主机初始化函数:usb_host_init(&usb_app_instance, &usb_app_host, &USBH_MSC_cb, &USR_cb);

在Flash不开cache加速的情况下,执行时间4380ms,4秒多的样子;
Flash开了cache加速的话,执行时间1270ms,1秒的样子。
时间是用了一个10ms的定时器测量出来的。
USB主机功能是正常的,就是开始usb_host_init初始化的时间这么长,是正常的,还是有哪里没配置好?

使用特权

评论回复
沙发
小华单片机代理| | 2022-10-29 11:16 | 只看该作者

使用特权

评论回复
板凳
朝生| | 2022-11-1 17:14 | 只看该作者
USB主机初始化时间这么久应该是有问题的。

使用特权

评论回复
地板
朝生| | 2022-11-1 17:19 | 只看该作者
可以调试看一下,程序再哪里一直循环检测。

使用特权

评论回复
5
sagade|  楼主 | 2022-11-2 16:03 | 只看该作者
由于使用的是hc32f460_ddl_Rev2.0.0的文件,usb_host_ini里面的延时函数只是简单的根据主频的软件循环延时,但是实际flash运行速度远远达不到主频,所以造成延时时间变很长,而一旦开启flash缓存加速提高了flash运行速度,所以执行时间变短了。
根据新一点的HC32F460_DDL_Rev3.0.0的文件,hd_usb_mdelay延时更换成滴答定时器延时,问题得到解决。
看来小华官方也知道这个问题,在新版本文件中更正了这个缺陷。

使用特权

评论回复
6
sagade|  楼主 | 2022-11-2 16:09 | 只看该作者
HC32F460_DDL_Rev3.0.0需要在小华半导体官网上去找,而不是华大的网站上,华大上面的还是比较老版本的。
3.0.0改动挺大的,库函数名称都改掉了,难道是换团队了。
看来改成小华还是有很多改进的,祝小华越来越好。

使用特权

评论回复
7
WT418995874| | 2022-11-7 15:55 | 只看该作者
看了3.0的库,跟原来的区别太大了,就没使用新的库

使用特权

评论回复
8
sagade|  楼主 | 2022-11-7 16:58 | 只看该作者
WT418995874 发表于 2022-11-7 15:55
看了3.0的库,跟原来的区别太大了,就没使用新的库

确实是改动太大了,工程相当于要重新建过一样了,也没看到说明改动了哪些东西,readme里面啥也没有

使用特权

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

本版积分规则

8

主题

428

帖子

4

粉丝