delay()函数延迟分别在stareware和sysbios下,使用CCS烧录到nandflash中(block1开始),实际延迟时间不一致,差异较大。
同样的延迟函数代码:
void delay(n)
{
while(n – – > 0u);
}
同样的aisgen配置文件: 期望CPU 是456M
1. 在stareware下
uartinit();
delay(7654321); // 实际延迟时间为1,812ms
*******
2. 在sysbios下
uartinit();
delay(7654321); // 实际延迟时间为0.846ms
*******
从现象上看,在sysbios下延迟时间是对的,在stareware下延迟时间是错的,似乎不是 CPU 为 456M;
Shine:
在starterware下可以用仿真器去跟一下PLL寄存器是否设置成功来确定是不是“似乎不是CPU 为 456M”。
user4838224:
回复 Shine:
使用的外部晶振为24M,倍频系数为19(18+1),预分频与后分频皆为1;
寄存器的数值如图,感觉没有异常。
user4838224:
回复 Shine:
用仿真器跟PLL寄存器如图所示,Shine Zhang 能对该问题分析一下吗?