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