This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: TDA4V SOC shall communicate with Omni-vision camera sensor Ox02C1B

Part Number: TDA4VM

Hi,

Based on the provided existing driver model, ov2311, I am working to develop & add image sensor driver to driver framework as prepared driver for Ox02C1B (om.ni vision) sensor on MIPI CSI2 interface with 30 fps over GMSL2 link. However, following the instructions mentioned in below link, receiving build issues while registering iss sensor handle after filling the required info to it. Required support to move forward on below issues. Please let me know do you require any further info.

https://downloads.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/psdk_rtos/docs/user_guide/developer_notes_image_sensor.html

Required image sensor driver (ox02c1b) for below components to do their integration & configuration:

                                Image sensor    : Ox02c1b    

                                Serializer           : MAX96717

                                De-serializer    : MAX96724

                                SoC                  : TDA4V

                                Sensor output interface:  MIPI CSI2  

                                link:            GSML2  

      

Copying Prebuilt libs from prebuilt_libs to lib
[TIARM] Compiling C iss_sensor_ov2c1b.c
/Application/linux/bsp/rtos/imaging/sensor_drv/src/ov2c1b/iss_sensor_ov2c1b.c:91:14: error: implicit declaration of function 'IssSensor_Register' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
status = IssSensor_Register(&ov2c1b_SensorHandle);
^
/Application/linux/bsp/rtos/imaging/sensor_drv/src/ov2c1b/iss_sensor_ov2c1b.c:165:33: error: implicit declaration of function 'getMAX96724InstIdFromChId' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
int8_t max96724InstanceId = getMAX96724InstIdFromChId(chId);
^
/Application/linux/bsp/rtos/imaging/sensor_drv/src/ov2c1b/iss_sensor_ov2c1b.c:165:33: note: did you mean 'getUB960InstIdFromChId'?
/Application/linux/bsp/rtos/imaging/sensor_drv/include/iss_sensors.h:800:8: note: 'getUB960InstIdFromChId' declared here
int8_t getUB960InstIdFromChId(uint32_t chId);
^
/Application/linux/bsp/rtos/imaging/sensor_drv/src/ov2c1b/iss_sensor_ov2c1b.c:193:19: error: implicit declaration of function 'max96724_cfgScript' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
status |= max96724_cfgScript(deserCfg, max96724InstanceId);
^
/Application/linux/bsp/rtos/imaging/sensor_drv/src/ov2c1b/iss_sensor_ov2c1b.c:193:19: note: did you mean 'max96717_cfgScript'?
/Application/linux/bsp/rtos/imaging/sensor_drv/include/iss_sensors.h:774:9: note: 'max96717_cfgScript' declared here
int32_t max96717_cfgScript(uint8_t i2cInstId, uint8_t i2cAddr, I2cParams *script);
^
/Application/linux/bsp/rtos/imaging/sensor_drv/src/ov2c1b/iss_sensor_ov2c1b.c:243:33: error: implicit declaration of function 'getMAX96724InstIdFromChId' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
int8_t max96724InstanceId = getMAX96724InstIdFromChId(chId);
^
/Application/linux/bsp/rtos/imaging/sensor_drv/src/ov2c1b/iss_sensor_ov2c1b.c:259:15: error: implicit declaration of function 'max96724_cfgScript' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
status |= max96724_cfgScript(max96724OV2C1BDesCSI2Enable, max96724InstanceId);
^
/Application/linux/bsp/rtos/imaging/sensor_drv/src/ov2c1b/iss_sensor_ov2c1b.c:268:33: error: implicit declaration of function 'getMAX96724InstIdFromChId' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
int8_t max96724InstanceId = getMAX96724InstIdFromChId(chId);
^
/Application/linux/bsp/rtos/imaging/sensor_drv/src/ov2c1b/iss_sensor_ov2c1b.c:284:15: error: implicit declaration of function 'max96724_cfgScript' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
status |= max96724_cfgScript(max96724OV2C1BDesCSI2Disable, max96724InstanceId);
^
7 errors generated.
concerto/finale.mak:312: recipe for target '/Application/linux/bsp/rtos/imaging/out/J7/R5F/FREERTOS/release/module/sensor_drv.src/ov2c1b/iss_sensor_ov2c1b.obj' failed
make[1]: *** [/Application/linux/bsp/rtos/imaging/out/J7/R5F/FREERTOS/release/module/sensor_drv.src/ov2c1b/iss_sensor_ov2c1b.obj] Error 1
make[1]: Leaving directory '/Application/linux/bsp/rtos/imaging'
makerules/makefile_tiovx_ptk_imaging_remote_device.mak:97: recipe for target 'imaging' failed
make: *** [imaging] Error 2
build imaging fail

Regards,

Madhusudhan

  • Hi Madhusudhan,

    The build errors are self-explanatory, there are missing definitions and declarations of all above functions and variable. Please include them in your sensor specific file. 

    Regards,

    Brijesh

  • The IssSensor_Register function prototype is not located in iss_sensors.h, and its definition is not located in the sensor_drv folder.

    If add IssSensor_Register function prototype to the iss_sensors.h file, then my build is successful.

    Where do I find function prototypes and its definitions in TI sensor folders for the following,

     IssSensor_Register

    ub960_cfgScript

    ub953_cfgScript

    getub960InstIdFromChId

    Referred API IssSensor_Register in below link and  mentioned it in iss_sensors.h file but same thing is not found in my folder when searched.

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/09_01_00_06/exports/docs/imaging/docs/user_guide/index.html

    user@ubuntu123:~/../../20_Construction/Application/linux/bsp$ grep -irn IssSensor_Register --include=*.c --include=*.h --include=*.cpp
    rtos/imaging/sensor_drv/src/gw_ar0233_yuv/iss_sensor_gw_ar0233.c:147: status = IssSensor_Register(&gw_ar0233SensorHandle);
    rtos/imaging/sensor_drv/src/imx390/iss_sensor_imx390.c:174: status = IssSensor_Register(&imx390SensorHandle);
    rtos/imaging/sensor_drv/src/ov2311-magna/iss_sensor_ov2311_magna.c:91: status = IssSensor_Register(&ov2311_Magna_SensorHandle);
    rtos/imaging/sensor_drv/src/ar0820/iss_sensor_ar0820.c:164: status = IssSensor_Register(&ar0820SensorHandle);
    rtos/imaging/sensor_drv/src/ar0233/iss_sensor_ar0233.c:174: status = IssSensor_Register(&ar0233SensorHandle);
    rtos/imaging/sensor_drv/src/ov2c1b/iss_sensor_ov2c1b.c:101: status = IssSensor_Register(&ov2c1b_SensorHandle);
    rtos/imaging/sensor_drv/src/ub9xx_raw_test_pattern/iss_sensor_raw_testpat.c:146: status = IssSensor_Register(&raw_testpat_SensorHandle);
    rtos/imaging/sensor_drv/src/dummy/iss_sensor_dummy.c:91: status = IssSensor_Register(&dummy_SensorHandle);
    rtos/imaging/sensor_drv/src/ub9xx_yuv_test_pattern/iss_sensor_testpat.c:87: status = IssSensor_Register(&testpatSensorHandle);
    rtos/imaging/sensor_drv/src/ov2311-li/iss_sensor_ov2311_li.c:91: status = IssSensor_Register(&ov2311_LI_SensorHandle);
    user@ubuntu123:

    How can I send screenshots and files to you in case I require to share them with you? The URL asks but where do save and share link.

  • Hi,

    The IssSensor_Register function prototype is not located in iss_sensors.h, and its definition is not located in the sensor_drv folder.

    This is already included in imaging\sensor_drv\include\iss_sensors.h at around line 725. 

    Where do I find function prototypes and its definitions in TI sensor folders for the following,

     IssSensor_Register

    ub960_cfgScript

    ub953_cfgScript

    getub960InstIdFromChId

    These are also available in the same file.

    How can I send screenshots and files to you in case I require to share them with you? The URL asks but where do save and share link.

    You can zip the file and attach it in the this ticket.

    Regards,

    Brijesh

  • Attached files what I have as there is no IssSensor_Register in iss_sensors.h file but added explicitly along with other serializer and de-serializer prototypes. Are definitions of getub960InstIdFromChId, ub953_cfgScript, and b960_cfgScript shared or not? I know that I have to work on serializer and de-serializer configuration script updates specific to them.

    ov2c1b_2.zip

  • Please check attached this file from SDK9.1. It has the declarations for these functions.

    /cfs-file/__key/communityserver-discussions-components-files/791/iss_5F00_sensors.h

    Regards,

    Brijesh

  • I encountered build issues and fixed them my own because of missing variables, function prototypes, or different numbers of arguments in the functions as found a lot of differences from your shared file with the file available in our code base. should I utilize a specific version of the file or I can go ahead by adding/removing them from our code base, will it cause issues later point of time if fix issues my own.

  • Hi,

    No, please use the header files from the release that you are using. I gave you the header file from SDK9.1 and SDK9.1 is building fine with this release. 

    I am not sure why this code is not present in your code base, and if you can modify this code, please check internally with your team. 

    Regards,

    Brijesh