本帖最后由 鸡蛋饭 于 2017-7-23 02:39 编辑
测试结果:
keil打开代码优化的情况下,放在ram和ccm中速度是一样的,耗时=1000
关闭优化,ram耗时=1000,ccm耗时=1125
根据手册上的数据,ccm比ram快20%,可是测试结果ccm反而慢了10%
求高手解答
测试方法就是让一个4k的数组++,分别放到ram和ccm中,1000次以后用flash记录下时间
(定时器ARR和PSC都是0xFFFF)
/*
vu8 cc[4096] ={0};
vu8 cc2[4096] ={0};
vu32 cCnt =0;
vu32 tCnt[1]={0};
vu32 i=0;
*/
vu8 cc[4096] __attribute__((at(0x10000000))) ={0};
vu32 cCnt __attribute__((at(0x10001000))) =0;
vu32 tCnt[1] __attribute__((at(0x10001004))) ={0};
vu8 cc2[4096] __attribute__((at(0x10001008))) ={0};
vu32 __attribute__((at(0x10002008))) i=0;
while(1)
{
++cCnt;
for(i=0; i<4096;++i)
{
++cc【i】;
cc2=TIM3->CNT;
}
if(cCnt==1000)
{
tCnt[0]=TIM3->CNT;
STMFLASH_Write(0X0800C008,(u32*)tCnt,1);
GPIOD->ODR^=0x1000;
while(1);
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>