I'm trying to get the FrameBuffer II to dump video data to an external RAM to be processed outside of the VIP Suite by setting it up in Writer Only mode. However, the frame buffer IP seems to only write to the base address. I'm trying to use the Frame Start Address register to tell me where the latest frame is located and it's always pointing to the next buffer location (base + inter-buffer offset) but I never see data written to that location.
Is there a proper order of processing that I'm missing? Currently:
- Wait for the IRQ
- Clear IRQ
- Read Frame Start Address
- Do my other processing (takes ~80% of the time of a single frame)
- Clear the Misc Register bit 0 to show the frame has been handled.
The user guide has not been very helpful in understanding what the frame buffer is actually doing or when it decides to use a dual or triple buffer based on the few settings in qsys.
Solved my own problem. I was clearing the Misc Register instead of setting bit 0 because of a typo in the constant I used to write to that register. The behavior of the frame start address just really didn't make sense with the other things happening but I have it working now.