boot程序里面将主程序由flash搬移到SDRAM后(搬移的起始地址为_RAM_STARTADDRESS),调用函数指针Run();的方式运行,函数指针定义如下:void (*Run)(void) = (void (*)(void))_RAM_STARTADDRESS;
按照该方式将boot程序和主程序烧写到flash后,主程序运行起来的时间非常长,约1~2分钟。通过点灯的方式跟踪,发现主要是调用Run()函数到实际到SDRAM运行的时间长导致的。请问这种现象是什么原因造成的?
注意:已经关闭所有中断 |