[技术问答] 请教:NUC505上BOOT模式SPI比ICE-SPI慢100倍,这是为什么啊

[复制链接]
3613|11
 楼主| houj_cn 发表于 2015-9-5 10:31 | 显示全部楼层 |阅读模式
请教各位大神:
我在NUC505开发板上试验时发现:
BOOT模式选成SPI时,  速度极慢, 经过测试,发现要慢100倍以上,下面是我的测试代码
  1. static void t_Delay(uint32_t delayCnt) {
  2.         while (delayCnt--) {
  3.            __NOP();
  4.            __NOP();
  5.         }
  6. }

  7. uint32_t testSpeed(uint32_t n){
  8.     uint32_t pre=util_getTickCount();
  9.     for(uint32_t i=0;i<n;i++){
  10.              t_Delay(n);
  11.     }
  12.     return util_getTickCount()-pre;
  13. }


哪位大神能帮我分析下问题可能出在哪里啊.
芙蓉洞 发表于 2015-9-5 21:09 | 显示全部楼层
帮楼主顶一下,在下确实不懂
 楼主| houj_cn 发表于 2015-9-5 23:37 | 显示全部楼层
有哪位大神知道吗?
为什么NUC505 的SPI模式比ICE-SPI模式慢100倍啊,  没道理啊.
bkn1860 发表于 2015-9-6 09:09 | 显示全部楼层
本帖最后由 bkn1860 于 2015-9-6 09:12 编辑
houj_cn 发表于 2015-9-5 23:37
有哪位大神知道吗?
为什么NUC505 的SPI模式比ICE-SPI模式慢100倍啊,  没道理啊.

测试方法可能有问题吧,相差100倍太离谱了。建议用IO口翻转测一下运行时间,看看SPI和ICE-SPI下能差多少?高速度MCU内部Flash一般跑不到CPU的主频,实时性要求高的代码可以参考例程放到RAM中运行,这样可以提高关键代码的运行速度。
史迪威将军 发表于 2015-9-6 13:40 | 显示全部楼层
怎么测试的啊,不可能慢那么多啊
 楼主| houj_cn 发表于 2015-9-6 16:14 | 显示全部楼层
多谢各位的回复,
我把程序放到RAM中, 速度就跟ICE-SPI一样快了,
但SPI比ICE-SPI慢100倍,确实与直觉不符, 待我搞清楚原因再结贴.
le062 发表于 2015-9-6 17:57 | 显示全部楼层
houj_cn 发表于 2015-9-6 16:14
多谢各位的回复,
我把程序放到RAM中, 速度就跟ICE-SPI一样快了,
但SPI比ICE-SPI慢100倍,确实与直觉不符,  ...

就是一百倍!!!
它的rom是四线SPI flash,这点和一般单片机不一样
奔跑的牛 发表于 2015-9-7 13:31 | 显示全部楼层
huangcunxiake 发表于 2015-9-8 19:54 | 显示全部楼层
慢的很离谱吗?我觉得开机启动正常就OK了
稳稳の幸福 发表于 2015-9-8 20:28 | 显示全部楼层
存储介质不同吧,如果用铁电的,肯定很快了。
xinba0625 发表于 2015-10-29 14:49 | 显示全部楼层
点击链接加入群【Nuvoton NUC505】:http://jq.qq.com/?_wv=1027&k=dhxoLp
阮进0615 发表于 2017-8-5 22:49 | 显示全部楼层
我也遇到这个问题,请问楼主知道什么原因了吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部