Other Parts Discussed in Thread: TFP410
主题中讨论的其他器件:TFP410
我正在尝试使用 PDK 中的 DssApp 示例
在此项目过程"Fvid2_create"中、尝试打开显示控制器的驱动程序:
///--------------------------------------------------------------
printf(“:系统初始化规范-> Fvid2创建...\r\n\r\n”);
//创建 DCTRL 句柄,用于通用驱动程序配置
appObj->dctrlHandle = Fvid2_create (
FVID2_VPS_DCTRL_DRV、
VPS_DCTRL_INST_0、
空、//对于 VPS_DCTRL_INST_0为 NULL
空、//对于 VPS_DCTRL_INST_0为 NULL
空);//对于 VPS_DCTRL_INST_0为 NULL
///--------------------------------------------------------------
但由于 Fvid2_create 过程中没有正确的 gFdmObj.fdmDriverObjects[...]元素、因此失败:
///--------------------------------------------------------------
Fvid2_handle Fvid2_create (uint32 drvId、
uint32 instanceId、
PTR CreateArgs、
PTR createStatusArgs、
const Fvid2_CbParams * cbParams)
{
FDM_Driver * drv =空;
uint32 cnt;
Fdrv_handle drvHandle = NULL;
FDM_Channel *通道=空;
Fvid2_DrvCbParams fdmCbParams、* tempCbParams;
gFdmObj.fdmDriverObjects[5].isused = 1;
gFdmObj.fdmDriverObjects[5].drvOps->drvId = drvId;
BspOsal_semWait (gFdmObj.lockSem、BSP_OSAL_WAIT_FOREVER);
printf("fvid2_create:正在从%d 获取匹配的驱动程序对象一个... \n\n",FVID2_CFG_FDM_NUM_DRV_OBJS );
for (cnt = 0U;cnt < FVID2_CFG_FDM_NUM_DRV_OBJS;cnt++)
{
printf ("否:%2D、已使用:%d、DriverID:0x%4X -"、cnt、gFdmObj.fdmDriverObjects[cnt].isused、 gFdmObj.fdmDriverObjects[cnt].drvOps->drvId );
if (true =gFdmObj.fdmDriverObjects[cnt].isused)
{
if (gFdmObj.fdmDriverObjects[cnt].drvOps == NULL) printf ("Fvid2_create:[%d].ddrvnt 为 NULL!!!!!\n",cnt);
if (drvId =gFdmObj.fdmDriverObjects[cnt].drvOps->drvId)
{
DRV =&gFdmObj.fdmDriverObjects[cnt];
//分配通道对象
printf ("ID 是正确的! 尝试 fdmAllocChannelObject");
CHANNEL = fdmAllocChannelObject();break;
}否则 printf (“错误 ID”);
}否则 printf ("不使用...");
printf ("\n");
}
///--------------------------------------------------------------
该程序将打印:
///--------------------------------------------------------------
构建时间:[2018年2月14日18:07:29日]
FVID2版本:[FVID_02_01_00_01]
BSP 版本:[pdk_01_08_00_xx]
:系统初始化完成。
:系统初始化标准-> Fvid2创建...
fvid2_create:正在从40个驱动程序对象中获取匹配的驱动程序对象...
否:0、已用:1、DriverID:0x 400 -错误 ID
否:1、已使用:1、DriverID:0x 100 -错误 ID
否:2、已使用:1、DriverID:0x 302 -错误 ID
否:3、已使用:1、DriverID:0x1300 -错误 ID
否:4、已使用:1、DriverID:0x1100 -错误 ID
否:5、已使用:0、DriverID:0x 0 -无使用...
否:6、已使用:0、DriverID:0x 0 -无使用...
否:7、已使用:0、DriverID:0x 0 -无使用...
否:8、已用:0、DriverID:0x 0 -不使用...
否:9、已使用:0、DriverID:0x 0 -无使用...
否:10、已用:0、DriverID:0x 0 -不使用...
否:11、已用:0、DriverID:0x 0 -不使用...
否:12、已用:0、DriverID:0x 0 -不使用...
否:13、已用:0、DriverID:0x 0 -不使用...
否:14、已用:0、DriverID:0x 0 -不使用...
否:15、已用:0、DriverID:0x 0 -无使用...
否:16、已用:0、DriverID:0x 0 -不使用...
否:17、已用:0、DriverID:0x 0 -不使用...
否:18、已用:0、DriverID:0x 0 -不使用...
否:19、已用:0、DriverID:0x 0 -不使用...
否:20、已用:0、DriverID:0x 0 -不使用...
否:21、已用:0、DriverID:0x 0 -不使用...
否:22、已用:0、DriverID:0x 0 -不使用...
否:23、已用:0、DriverID:0x 0 -不使用...
否:24、已用:0、DriverID:0x 0 -无使用...
否:25、已用:0、DriverID:0x 0 -无使用...
否:26、已用:0、DriverID:0x 0 -不使用...
否:27、已用:0、DriverID:0x 0 -无使用...
否:28、已用:0、DriverID:0x 0 -不使用...
否:29、已用:0、DriverID:0x 0 -不使用...
否:30、已用:0、DriverID:0x 0 -不使用...
否:31、已用:0、DriverID:0x 0 -不使用...
否:32、已用:0、DriverID:0x 0 -不使用...
否:33、已用:0、DriverID:0x 0 -不使用...
否:34、已用:0、DriverID:0x 0 -不使用...
否:35、已用:0、DriverID:0x 0 -不使用...
否:36、已用:0、DriverID:0x 0 -不使用...
否:37、已用:0、DriverID:0x 0 -不使用...
否:38、已用:0、DriverID:0x 0 -不使用...
否:39、已用:0、DriverID:0x 0 -不使用...
EALLOC:无效的驱动程序 ID!!
///--------------------------------------------------------------
因此、您无法看到用于 FVID2_VPS_DCTRL_DRV 的正确驱动程序、也无法为其创建新的驱动程序
///--------------------------------------------------------------
我有几个问题:
1) 1)如何解决此问题?
2) 2)全局值"gFdmObj"在哪里启动? 我搜索所有 PDK - PDK 中没有分配。
我将 CCS7项目附加到了 rewiev 代码。