11-14-2018 03:49 PM
When I try to configure the xvprocss driver, instance (XVprocSs *) , the call to GetIncludeSubcores fails, within the call an entry is present (The IsPresent comes back true) but when I try to get the pointer back from subcoreRepo[...] there is no entry. I cannot find anywhere how this table is filled. Any help is greatly appreciated.
11-15-2018 03:59 AM
Make sure you are following the exact same steps as the VPSS example design (in the same order):
Also, did you fix the issue mentioned below?
The VPSS should be included directly in the BD. You will face too many issue by packaging it into a custom IP.
If you import the drivers manually you still do not have the xparameter.h not populated correctly
11-15-2018 09:54 AM
Thanks for your response. I should have been more explicit. I have 2 scalers, in the xparameters.h the addresses that were assigned to the scalers is backwards. Meaning in the design Scaler is assigned address 44a80000 and scaler1 is assigned 44cc0000 but in xparameters.h I see the opposite assignment. When the code gets to the point of the subcore table getting loaded it crashes.
11-16-2018 12:12 AM
I am not sure the name in xparameter always match what you have in HW. The tool might check assign the ID 0 to the first vpss it can find. So I don't think this is an issue.
Can you try read in the first address for each VPSS in xsct (using mrd) to make sure you can access them.
Also, I just check: are you know using the VPSS directly in the BD or are you still using the VPSS in a packaged IP. If you are using them in a package IP, please try to use them directly.
11-16-2018 09:09 AM - edited 11-16-2018 09:21 AM
Thanks for your response.
I am now using them in a single BD.
I do the following...
1. In xhdmi_example.c main
pVpssPtr = &pVprocInst:
memset(pVprocss, 0, sizeof(XVprocSs)); //Does this belong here?
VprocSsConfigPtr = XVprocSs_LookupConfig(XPAR_SCALER_V_PROC_SS_0_DEVICE_ID);
status = XVprocSs_CfgInitialize(pVprocss,VprocSsConfigPtr,VprocSsConfigPtr->BaseAddress);
// Set VPSS Video Output AXI Stream
// Note that output video is always progressive
Seems to die in last call.
Do I need the memset? or is there another way to load?
Should the XVprocSs_SetSubsystemConfig(pVpssPtr); come before XSys_SetStreamParam?