打印
[技术问答]

请教:NUC505上BOOT模式SPI比ICE-SPI慢100倍,这是为什么啊

[复制链接]
3147|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
houj_cn|  楼主 | 2015-9-5 10:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教各位大神:
我在NUC505开发板上试验时发现:
BOOT模式选成SPI时,  速度极慢, 经过测试,发现要慢100倍以上,下面是我的测试代码
static void t_Delay(uint32_t delayCnt) {
        while (delayCnt--) {
           __NOP();
           __NOP();
        }
}

uint32_t testSpeed(uint32_t n){
    uint32_t pre=util_getTickCount();
    for(uint32_t i=0;i<n;i++){
             t_Delay(n);
    }
    return util_getTickCount()-pre;
}


哪位大神能帮我分析下问题可能出在哪里啊.
沙发
芙蓉洞| | 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中运行,这样可以提高关键代码的运行速度。

使用特权

评论回复
5
史迪威将军| | 2015-9-6 13:40 | 只看该作者
怎么测试的啊,不可能慢那么多啊

使用特权

评论回复
6
houj_cn|  楼主 | 2015-9-6 16:14 | 只看该作者
多谢各位的回复,
我把程序放到RAM中, 速度就跟ICE-SPI一样快了,
但SPI比ICE-SPI慢100倍,确实与直觉不符, 待我搞清楚原因再结贴.

使用特权

评论回复
7
le062| | 2015-9-6 17:57 | 只看该作者
houj_cn 发表于 2015-9-6 16:14
多谢各位的回复,
我把程序放到RAM中, 速度就跟ICE-SPI一样快了,
但SPI比ICE-SPI慢100倍,确实与直觉不符,  ...

就是一百倍!!!
它的rom是四线SPI flash,这点和一般单片机不一样

使用特权

评论回复
9
huangcunxiake| | 2015-9-8 19:54 | 只看该作者
慢的很离谱吗?我觉得开机启动正常就OK了

使用特权

评论回复
10
稳稳の幸福| | 2015-9-8 20:28 | 只看该作者
存储介质不同吧,如果用铁电的,肯定很快了。

使用特权

评论回复
11
xinba0625| | 2015-10-29 14:49 | 只看该作者
点击链接加入群【Nuvoton NUC505】:http://jq.qq.com/?_wv=1027&k=dhxoLp

使用特权

评论回复
12
阮进0615| | 2017-8-5 22:49 | 只看该作者
我也遇到这个问题,请问楼主知道什么原因了吗

使用特权

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

本版积分规则

1

主题

3

帖子

0

粉丝