打印
[应用方案]

UC505上BOOT模式SPI比ICE-SPI慢100倍,这是为什么啊

[复制链接]
609|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
probedog|  楼主 | 2021-4-6 11:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教各位大神:
我在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;
}
哪位大神能帮我分析下问题可能出在哪里啊.

使用特权

评论回复
沙发
内政奇才| | 2021-4-6 14:58 | 只看该作者
應該是boot時code放的位置不同.
將code下載到flash再放到SRAM跑, 和直接初始到SRAM跑的速度差異.
可以參考NUC505的BSP \SampleCode\BootTemplate的範例.

使用特权

评论回复
板凳
麻花油条| | 2021-4-6 15:02 | 只看该作者
代码直接在SPI-FLash中执行确实非常慢(真得是慢100倍,这个与普通的单片机大不相同), 把代码复制到RAM中运行速度一下就提起来了;
好在新唐可以做到代码把自己复制到RAM中运行, 这点非常赞.

使用特权

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

本版积分规则

385

主题

2087

帖子

3

粉丝