Hi,
I am using i.MX353 processor WITHOUT Linux. My purpose is to rotate an image (the data had stored in an one dimensional array) for 90 degree.
I have done some necessary steps as the user's manual asks, which are as following:
[1] Referred 31.4.2.5 Rotation Section;
[2] Referred 31.4.8.2 Frame Synchronization Unit (FSU), The “MEM --> IC (ROT ENC) --> MEM” task chain in “Table 31-166. Programming IPU Flows and Tasks (Continued) ”, and followed with the “Manual on input, manual on output” config method;
[3] In register IDMAC_CHA_EN, enabled DMAIC8 and DMAIC10;
[4] In register IPU_CONF, enabled rotation unit, IC interface, CSI interface;
[5] In register IC_CONF, disabled PRPENC_EN, RWS_EN, CSI_MEM_WR_EN;
[6] In register IPU_FS_PROC_FLOW, disabled PRPENC_ROT_SRC_SEL;
[7] In register IC_CONF, enabled PRPENC_ROT;
[8] Trigger the IC encoding rotation task by setting '1' on DMAIC_8_BUF0_RDY and DMAIC_10_BUF0_RDY.
In the program, I created two one dimensional arrays(type: unsigned char, size: 1280*960), one for DMAIC8 and another for DMAIC10. After the rotation task has been triggered, the IPU_TASKS_STAT register shows that ENC_ROT_TSTAT was ACTIVE. However, I waited very long but ENC_ROT_TSTAT was still ACTIVE, no data received in the DMAIC10 array.
Could anyone tell me how to make this rotation 90 degree work? Thank you!
Rui
oh, btw, my image type is grayscale image with a byte per pixel.
Hello,
I think you are doing the steps fine, let me share with you an example of an i.MX31 which has the same IPU.
Have a great day,
Jaime
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------