Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 5224

Interfacing (DSI, CSI, I2C, etc.) • RPI4 VideoCore stops responding to MMAL messages

$
0
0
Hello experts,

I am very close to getting the MMAL + VCHIQ + CSI2 drivers done for the QNX 8.0 operating system.

I conneted a Camera Module 3 to an RPI4, and I was able to debayer the RAW10 camera data to NV12 and display it on the screen on QNX for about 5 seconds at 30 FPS. I am hoping to open source my work after I'm done.

I am stuck on this strange problem of VideoCore not responding to my MMAL messages after the VideoCore's TX position goes over half of the slots allocated to VideoCore. For example, let's say there are 3 slots allocated to VideoCore through VCHIQ. If VideoCore's TX position is at 4080 bytes, and I send it an MMAL message that would require the VideoCore to reply to me with a message of 40 bytes, it would not reply to me. Each slot if 4096 bytes. The symptom is that VideoCore would not write to the 2nd slot and not send me an interrupt. I can see that VideoCore successfully parsed my MMAL message by reading the VideoCore debug field in zero slot.

I would then send it a non-MMAL message of opening and closing a service, and VideoCore would correctly send me an interrupt with a reply. However, when I send it an MMAL message again, it would not respond. It's as if the MMAL functionality is dead.

When the TX position is at 4080 bytes and I send it a non-MMAL message like opening + closing a service, VideoCore successfully sends an interrupt with a reply. I know that non-MMAL messages are not affected by this issue because I wrote an infinite loop of opening + closing a service, and it was able to run indefinitely with VideoCores sending an interrupt correctly each time.

Any help would be appreciated.

Thanks.

Statistics: Posted by kfcgoose — Thu Oct 03, 2024 11:43 pm



Viewing all articles
Browse latest Browse all 5224

Trending Articles