Estoy tratando de adquirir video de un sensor de imagen usando un ZedBoard con Vivado 2014.2 y usé un proyecto de video pasante (operativo) existente y simplemente lo agregué en un debayer (interpolación de matriz de filtro de color) IP y reconfiguré algunos existentes bloques Aquí está el diagrama de bloques:
UsandounproyectoSDKmuysimple,elprocesadorseniegaainicializarlaconfiguracióndeldetectorVTC.Aquíestáelcuerpodemain.c:
init_platform();print("Hello World\n\r");
fflush(stdout);
XVtc vtc;
XVtc_Config *VtcCfgPtr = NULL;
int Status = 0;
VtcCfgPtr = XVtc_LookupConfig( XPAR_VTC_0_DEVICE_ID );
if(VtcCfgPtr == NULL) {
return 1;
}
Status = XVtc_CfgInitialize(&vtc, VtcCfgPtr, VtcCfgPtr->BaseAddress);
if(Status != XST_SUCCESS) {
return 1;
}
printf("success\n");
return 0;
Cuando enciendo la placa por primera vez, se llama a la función XVtc_CfgInitialize pero el procesador se congela internamente en la función XVtc_Reset dentro (xvtc.c línea 232). Tratar de pasar a través de esta función en el depurador también es muy difícil porque de alguna manera está saltando líneas aleatorias en la función y no las ejecuta secuencialmente (y la función XVtc_CfgInitialize parece ser llamada dos veces dentro del depurador también, y solo congela el segundo tiempo).