我手里有一个Spartan6的开发板,里面有Microblaze的例程。用的是EDK13.1,在EDK里有硬件端口的配置,然后Export Hardware Design to SDK...,进入SDK,SDK中的程序为买开发板时带的程序。目前想测试一下点灯(hello_led.c)的程序,程序内容如下:
/***************************** Include Files *********************************/
#include "xparameters.h"
#include "xgpio.h"
/************************** Variable Defintions ******************************/
/* Instance For GPIO */
XGpio GpioOutput;
int main(void)
{
volatile int Delay;
Xuint32 Ledwidth;
XGpio_Initialize(&GpioOutput, XPAR_LEDS_4BIT_DEVICE_ID);
XGpio_SetDataDirection(&GpioOutput, 1, 0x0);
XGpio_DiscreteWrite(&GpioOutput, 1, 0x0);
while (1)
{
for (Ledwidth = 0x0; Ledwidth < 4; Ledwidth++)
{
XGpio_DiscreteWrite(&GpioOutput, 1, 1 << Ledwidth);
for (Delay = 0; Delay < 200000; Delay++);
XGpio_DiscreteClear(&GpioOutput, 1, 1 << Ledwidth);
}
}
}
我修改Delay 由200000改为100000,或更小值,LED闪烁时间间隔不变。我怀疑是否是程序没有下载成功。
程序编译没问题后,我下载是通过SDK的Program FPGA下载的。下载前Hardware conficationg 和Software Configuration均已选择正确路径,点击Program时,第一次会出现Program failed Reason:FPGA configuration encoutered errors,第二次点击Program,则能够下载成功。但指示灯闪烁间隔不对。
请教各位!
|