我的开发板输入时钟由100MHz调至62.5MHz之后,修改了mainpll和ddrpll配置
板子在用JTAG时一切正常工作
但是自启动时,发现main函数可以正常运行,但是BIOS起不来
(采用GPIO口不断翻转电平进行的测试)
主函数中的内容为:
EVM_init();
nand6657 = (PLATFORM_DEVICE_info*)malloc(sizeof(int)*50);
if(nand6657)
printf("that is ok");
else
printf("not enough memory");
if(!(nandInit()))
{
printf("init failed");
}
nand6657->width = 8;
nand6657->spare_size = 64;
nand6657->column = 2048;
NandGetDetails(nand6657);
gpioInit();
emifinit();
Hwi_disable();
hwiCreate();
Hwi_enable();
BIOS_start();
还请各位指教
Shine:
请问是运行不到BIOS_start();这里?程序运行到哪里了?
user5059741:
回复 Shine:
不太清楚呀,我在startup绑定的函数里gpio进行翻转,但是观察不到这个现象,我只看到了运行到bisostart之前
Shine:
回复 user5059741:
这个问题是在输入时钟由100MHz调至62.5MHz之后才有的吗?之前100MHz的时候有问题吗?
user5059741:
回复 Shine:
100MHz的时候没有
user5059741:
回复 Shine:
但是我看62.5MHz是在允许的输入范围之内的
因为自启动的时候无法启动,也就是板子根本上电起不来,只有点一次硬复位才行,后来才更改了时钟,现在可以自启了,也就是main函数可以自行启动,但是bios却起不来了
Shine:
回复 user5059741:
检查 一下复位信号是否足够长。