Segmentation fault when using getSensorEepromData from LibArgus

Hi,

I’m using a custom MIPI CSI camera which work with GMSL2 protocol, i want to read EEPROM data, the EEPROM driver is enabled, and i’ve confirmed that by using the command below

jetson@xavier:/sys/bus/i2c/devices/30-0050$ sudo hexdump -C eeprom
I had the following output which corresponds exactly to the camera eeprom data

00000000  52 41 50 50 03 00 0d 20  01 00 10 f0 80 ff ff ff  |RAPP... ........|
00000010  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00000020  0e 20 00 01 41 32 43 37  37 37 31 38 38 30 32 30  |. ..XXXXXXXXXXXX|
00000030  30 30 30 32 32 31 42 31  37 30 30 31 37 30 47 1a  |XXXXXXXXXXXXXXX.|
00000040  01 2f 00 01 4d 55 49 31  36 37 34 34 33 00 00 00  |./..XXXXXXXXX...|
00000050  00 00 00 00 00 00 00 00  00 32 30 32 31 2d 31 32  |.........2021-12|
00000060  2d 31 37 00 30 37 3a 32  37 3a 31 34 00 a7 01 ff  |-17.07:27:14....|
00000070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00000080  1a 5a 00 01 08 0f 00 00  78 08 00 00 01 00 00 00  |.Z......x.......|
00000090  78 a8 47 45 45 a5 47 45  00 00 00 00 b7 f5 f0 44  |x.GEE.GE.......D|
000000a0  32 b4 85 44 05 00 00 00  00 00 80 3f 39 30 49 bd  |2..D.......?90I.|
000000b0  06 26 19 bd 6a 00 66 3d  a2 b3 7c 3d 00 00 00 00  |.&..j.f=..|=....|
000000c0  00 00 00 00 00 00 00 00  01 00 00 00 d4 85 c2 38  |...............8|
000000d0  09 0f 54 39 03 00 00 00  35 23 ff ff ff ff ff ff  |..T9....5#......|
000000e0  11 20 00 01 35 31 30 31  31 37 36 33 00 00 00 00  |. ..51011763....|
000000f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 1e 78  |...............x|
00000100  10 20 00 01 00 00 00 00  00 00 00 00 00 00 00 00  |. ..............|
00000110  00 00 00 00 00 00 00 00  00 00 00 00 00 00 a9 6b  |...............k|
00000120  09 0c 00 01 0c 00 00 00  00 00 9c 23 ff ff ff ff  |...........#....|
00000130  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00000140  06 1b 00 01 46 53 43 32  33 32 56 50 31 32 5f 42  |....XSSSSSSSSS_B|
00000150  31 00 00 00 00 00 00 00  00 ef 3b ff ff ff ff ff  |1.........;.....|
00000160  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
00001000

But when i wanted to use the LibArgus function to be able to read the EEPROM data, i had a segmentation fault, there is my code :

*/ Assume that the camera provider, camera device and the camera properties was created */
    void* buffer = (void*) malloc(100 *sizeof(int));
    Argus::Ext::ISensorEepromData *iSensorEepromData = Argus::interface_cast<Argus::Ext::ISensorEepromData>(cameraDevices[0]);
    iSensorEepromData->getSensorEepromData(buffer, iSensorEepromData->getSensorEepromDataSize());

I’m getting a segmentation fault, is there any something wrong with the code ?

Thank you

Did you implement the CID function in your sensor driver too? Have reference to ov5693 to implement the EEPROM CID function.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.