Quantcast
Channel: EngineerZone: Message List
Viewing all articles
Browse latest Browse all 36216

Re: BF609 PIXC DMA LIST 读取错误。

$
0
0

链表部分拷贝错了。

应该是:

//输入的UYVY图像背景

          OSD_DMA35_DescriptorCopy[0].pNextDesc                     = &OSD_DMA35_DescriptorCopy[1];// 下一个描述符地址

          //OSD_DMA15_DescriptorCopy[0].Config                              = DMAEN | WDSIZE_32 | DMA2D | NDSIZE_9 | FLOW_LARGE;// DMA config

          OSD_DMA35_DescriptorCopy[0].Config                              = ENUM_DMA_CFG_READ    |

                                                                                                                          ENUM_DMA_CFG_EN             |

                                                                                                                          ENUM_DMA_CFG_MSIZE04 |

                                                                                                                          ENUM_DMA_CFG_PSIZE04 |

                                                                                                                          ENUM_DMA_CFG_ADDR2D  |

                                                                                                                          ENUM_DMA_CFG_FETCH07 |

                                                                                                                          ENUM_DMA_CFG_DSCLIST;

          OSD_DMA35_DescriptorCopy[0].XCount                              = 640*2/4;                              // X Count

          OSD_DMA35_DescriptorCopy[0].XModify                              = 4;                                        // X Mod

          OSD_DMA35_DescriptorCopy[0].YCount                              = (512-32)/2;                    // Y Count

          OSD_DMA35_DescriptorCopy[0].YModify                              = (720-640)*2+4;

 

 

          OSD_DMA35_DescriptorCopy[1].pNextDesc                     = &OSD_DMA35_DescriptorCopy[2];// 下一个描述符地址

          //OSD_DMA15_DescriptorCopy[1].Config                    = DMAEN | WDSIZE_32 | DMA2D | NDSIZE_9 | FLOW_LARGE;// DMA config

          OSD_DMA35_DescriptorCopy[1].Config                              = ENUM_DMA_CFG_READ    |

                                                                                                                          ENUM_DMA_CFG_EN             |

                                                                                                                          ENUM_DMA_CFG_MSIZE04 |

                                                                                                                          ENUM_DMA_CFG_PSIZE04 |

                                                                                                                          ENUM_DMA_CFG_ADDR2D  |

                                                                                                                          ENUM_DMA_CFG_FETCH07 |

                                                                                                                          ENUM_DMA_CFG_DSCLIST;

          OSD_DMA35_DescriptorCopy[1].XCount                              = ((640-32)/2)*2/4;          // X Count

          OSD_DMA35_DescriptorCopy[1].XModify                              = 4;                                        // X Mod

          OSD_DMA35_DescriptorCopy[1].YCount                              = 32;                                        // Y Count

          OSD_DMA35_DescriptorCopy[1].YModify                              = (720-((640-32)/2))*2+4;

 

 

          OSD_DMA35_DescriptorCopy[2].pNextDesc                     = &OSD_DMA35_DescriptorCopy[3];// 下一个描述符地址

          //OSD_DMA15_DescriptorCopy[2].Config                    = DMAEN | WDSIZE_32 | DMA2D | NDSIZE_9 | FLOW_LARGE;// DMA config

          OSD_DMA35_DescriptorCopy[2].Config                              = ENUM_DMA_CFG_READ    |

                                                                                                                          ENUM_DMA_CFG_EN             |

                                                                                                                          ENUM_DMA_CFG_MSIZE04 |

                                                                                                                          ENUM_DMA_CFG_PSIZE04 |

                                                                                                                          ENUM_DMA_CFG_ADDR2D  |

                                                                                                                          ENUM_DMA_CFG_FETCH07 |

                                                                                                                          ENUM_DMA_CFG_DSCLIST;

          OSD_DMA35_DescriptorCopy[2].XCount                              = ((640-32)/2)*2/4;          // X Count

          OSD_DMA35_DescriptorCopy[2].XModify                              = 4;                                        // X Mod

          OSD_DMA35_DescriptorCopy[2].YCount                              = 32;                                        // Y Count

          OSD_DMA35_DescriptorCopy[2].YModify                              = (720-((640-32)/2))*2+4;

 

 

          OSD_DMA35_DescriptorCopy[3].pNextDesc                     = &OSD_DMA35_DescriptorCopy[4];// 下一个描述符地址

//          OSD_DMA15_DescriptorCopy[3].Config                              = DMAEN | WDSIZE_32 | DMA2D | NDSIZE_9 | FLOW_LARGE;// DMA config

          OSD_DMA35_DescriptorCopy[3].Config                              = ENUM_DMA_CFG_READ    |

                                                                                                                          ENUM_DMA_CFG_EN             |

                                                                                                                          ENUM_DMA_CFG_MSIZE04 |

                                                                                                                          ENUM_DMA_CFG_PSIZE04 |

                                                                                                                          ENUM_DMA_CFG_ADDR2D  |

                                                                                                                          ENUM_DMA_CFG_FETCH07 |

                                                                                                                          ENUM_DMA_CFG_DSCLIST;

          OSD_DMA35_DescriptorCopy[3].XCount                              = 640*2/4;                              // X Count

          OSD_DMA35_DescriptorCopy[3].XModify                              = 4;                                        // X Mod

          OSD_DMA35_DescriptorCopy[3].YCount                              = (512-32)/2-128;          // Y Count

          OSD_DMA35_DescriptorCopy[3].YModify                              = (720-640)*2+4;

 

 

          OSD_DMA35_DescriptorCopy[4].pNextDesc                     = &OSD_DMA35_DescriptorCopy[5];// 下一个描述符地址

//          OSD_DMA15_DescriptorCopy[4].Config                              = DMAEN | WDSIZE_32 | DMA2D | NDSIZE_9 | FLOW_LARGE;// DMA config

          OSD_DMA35_DescriptorCopy[4].Config                              = ENUM_DMA_CFG_READ    |

                                                                                                                          ENUM_DMA_CFG_EN             |

                                                                                                                          ENUM_DMA_CFG_MSIZE04 |

                                                                                                                          ENUM_DMA_CFG_PSIZE04 |

                                                                                                                          ENUM_DMA_CFG_ADDR2D  |

                                                                                                                          ENUM_DMA_CFG_FETCH07 |

                                                                                                                          ENUM_DMA_CFG_DSCLIST;

          OSD_DMA35_DescriptorCopy[4].XCount                              = (640-160)*2/4;          // X Count

          OSD_DMA35_DescriptorCopy[4].XModify                              = 4;                                        // X Mod

          OSD_DMA35_DescriptorCopy[4].YCount                              = 128;                                        // Y Count

          OSD_DMA35_DescriptorCopy[4].YModify                              = (720-(640-160))*2+4;

          //与开窗重合

          OSD_DMA35_DescriptorCopy[5].pNextDesc                     = &OSD_DMA35_DescriptorCopy[5];// 下一个描述符地址

//          OSD_DMA15_DescriptorCopy[5].Config                              = DMAEN | WDSIZE_32 | DMA2D | FLOW_STOP;// DMA config  结束

          OSD_DMA35_DescriptorCopy[5].Config                              = ENUM_DMA_CFG_READ    |

                                                                                                                          ENUM_DMA_CFG_EN             |

                                                                                                                          ENUM_DMA_CFG_MSIZE04 |

                                                                                                                          ENUM_DMA_CFG_PSIZE04 |

                                                                                                                          ENUM_DMA_CFG_ADDR2D  |

                                                                                                                          ENUM_DMA_CFG_STOP;

          OSD_DMA35_DescriptorCopy[5].XCount                              = 160*2/4;                              // X Count

          OSD_DMA35_DescriptorCopy[5].XModify                              = 4;                                        // X Mod

          OSD_DMA35_DescriptorCopy[5].YCount                              = 128;                                        // Y Count

          OSD_DMA35_DescriptorCopy[5].YModify                              = (720-160)*2+4;

 

 

 

 

=============DMA37

//输出的UYVY图像

          OSD_DMA37_DescriptorCopy[0].pNextDesc                     = &OSD_DMA37_DescriptorCopy[1];// 下一个描述符地址

          //OSD_DMA17_DescriptorCopy[0].Config                    = DMAEN | WNR | WDSIZE_32 | DMA2D | NDSIZE_9 | FLOW_LARGE;// DMA config

          OSD_DMA37_DescriptorCopy[0].Config                              = ENUM_DMA_CFG_WRITE    |

                                                                                                                          ENUM_DMA_CFG_EN             |

                                                                                                                          ENUM_DMA_CFG_MSIZE04 |

                                                                                                                          ENUM_DMA_CFG_PSIZE04 |

                                                                                                                          ENUM_DMA_CFG_ADDR2D  |

                                                                                                                          ENUM_DMA_CFG_FETCH07 |

                                                                                                                          ENUM_DMA_CFG_DSCLIST;

          OSD_DMA37_DescriptorCopy[0].XCount                              = 640*2/4;                              // X Count

          OSD_DMA37_DescriptorCopy[0].XModify                              = 4;                                        // X Mod

          OSD_DMA37_DescriptorCopy[0].YCount                              = (512-32)/2;                    // Y Count

          OSD_DMA37_DescriptorCopy[0].YModify                              = (720-640)*2+4;

 

 

          OSD_DMA37_DescriptorCopy[1].pNextDesc                     = &OSD_DMA37_DescriptorCopy[2];// 下一个描述符地址

          //OSD_DMA17_DescriptorCopy[1].Config                    = DMAEN | WNR | WDSIZE_32 | DMA2D | NDSIZE_9 | FLOW_LARGE;// DMA config

          OSD_DMA37_DescriptorCopy[1].Config                              = ENUM_DMA_CFG_WRITE    |

                                                                                                                          ENUM_DMA_CFG_EN             |

                                                                                                                          ENUM_DMA_CFG_MSIZE04 |

                                                                                                                          ENUM_DMA_CFG_PSIZE04 |

                                                                                                                          ENUM_DMA_CFG_ADDR2D  |

                                                                                                                          ENUM_DMA_CFG_FETCH07 |

                                                                                                                          ENUM_DMA_CFG_DSCLIST;

          OSD_DMA37_DescriptorCopy[1].XCount                              = ((640-32)/2)*2/4;          // X Count

          OSD_DMA37_DescriptorCopy[1].XModify                              = 4;                                        // X Mod

          OSD_DMA37_DescriptorCopy[1].YCount                              = 32;                                        // Y Count

          OSD_DMA37_DescriptorCopy[1].YModify                              = (720-((640-32)/2))*2+4;

 

 

          OSD_DMA37_DescriptorCopy[2].pNextDesc                     = &OSD_DMA37_DescriptorCopy[3];// 下一个描述符地址

          //OSD_DMA17_DescriptorCopy[2].Config                    = DMAEN | WNR | WDSIZE_32 | DMA2D | NDSIZE_9 | FLOW_LARGE;// DMA config

          OSD_DMA37_DescriptorCopy[2].Config                              = ENUM_DMA_CFG_WRITE    |

                                                                                                                          ENUM_DMA_CFG_EN             |

                                                                                                                          ENUM_DMA_CFG_MSIZE04 |

                                                                                                                          ENUM_DMA_CFG_PSIZE04 |

                                                                                                                          ENUM_DMA_CFG_ADDR2D  |

                                                                                                                          ENUM_DMA_CFG_FETCH07 |

                                                                                                                          ENUM_DMA_CFG_DSCLIST;

          OSD_DMA37_DescriptorCopy[2].XCount                              = ((640-32)/2)*2/4;          // X Count

          OSD_DMA37_DescriptorCopy[2].XModify                              = 4;                                        // X Mod

          OSD_DMA37_DescriptorCopy[2].YCount                              = 32;                                        // Y Count

          OSD_DMA37_DescriptorCopy[2].YModify                              = (720-((640-32)/2))*2+4;

 

 

          OSD_DMA37_DescriptorCopy[3].pNextDesc                     = &OSD_DMA37_DescriptorCopy[4];// 下一个描述符地址

//          OSD_DMA17_DescriptorCopy[3].Config                              = DMAEN | WNR | WDSIZE_32 | DMA2D | NDSIZE_9 | FLOW_LARGE;// DMA config

          OSD_DMA37_DescriptorCopy[3].Config                              = ENUM_DMA_CFG_WRITE    |

                                                                                                                          ENUM_DMA_CFG_EN             |

                                                                                                                          ENUM_DMA_CFG_MSIZE04 |

                                                                                                                          ENUM_DMA_CFG_PSIZE04 |

                                                                                                                          ENUM_DMA_CFG_ADDR2D  |

                                                                                                                          ENUM_DMA_CFG_FETCH07 |

                                                                                                                          ENUM_DMA_CFG_DSCLIST;

          OSD_DMA37_DescriptorCopy[3].XCount                              = 640*2/4;                              // X Count

          OSD_DMA37_DescriptorCopy[3].XModify                              = 4;                                        // X Mod

          OSD_DMA37_DescriptorCopy[3].YCount                              = (512-32)/2-128;          // Y Count

          OSD_DMA37_DescriptorCopy[3].YModify                              = (720-640)*2+4;

 

 

          OSD_DMA37_DescriptorCopy[4].pNextDesc                     = &OSD_DMA37_DescriptorCopy[5];// 下一个描述符地址

//          OSD_DMA17_DescriptorCopy[4].Config                              = DMAEN | WNR | WDSIZE_32 | DMA2D | NDSIZE_9 | FLOW_LARGE;// DMA config

          OSD_DMA37_DescriptorCopy[4].Config                              = ENUM_DMA_CFG_WRITE    |

                                                                                                                          ENUM_DMA_CFG_EN             |

                                                                                                                          ENUM_DMA_CFG_MSIZE04 |

                                                                                                                          ENUM_DMA_CFG_PSIZE04 |

                                                                                                                          ENUM_DMA_CFG_ADDR2D  |

                                                                                                                          ENUM_DMA_CFG_FETCH07 |

                                                                                                                          ENUM_DMA_CFG_DSCLIST;

          OSD_DMA37_DescriptorCopy[4].XCount                              = (640-160)*2/4;          // X Count

          OSD_DMA37_DescriptorCopy[4].XModify                              = 4;                                        // X Mod

          OSD_DMA37_DescriptorCopy[4].YCount                              = 128;                                        // Y Count

          OSD_DMA37_DescriptorCopy[4].YModify                              = (720-(640-160))*2+4;

 

 

          OSD_DMA37_DescriptorCopy[5].pNextDesc                     = &OSD_DMA37_DescriptorCopy[5];// 下一个描述符地址

//          OSD_DMA17_DescriptorCopy[5].Config                              = DMAEN | WNR | WDSIZE_32 | DMA2D | DI_EN | FLOW_STOP;// DMA config  结束 中断

          OSD_DMA37_DescriptorCopy[5].Config                              = ENUM_DMA_CFG_WRITE    |

                                                                                                                          ENUM_DMA_CFG_EN             |

                                                                                                                          ENUM_DMA_CFG_MSIZE04 |

                                                                                                                          ENUM_DMA_CFG_PSIZE04 |

                                                                                                                          ENUM_DMA_CFG_ADDR2D  |

                                                                                                                          ENUM_DMA_CFG_YCNT_INT |

                                                                                                                          ENUM_DMA_CFG_STOP;

          OSD_DMA37_DescriptorCopy[5].XCount                              = 160*2/4;                              // X Count

          OSD_DMA37_DescriptorCopy[5].XModify                              = 4;                                        // X Mod

          OSD_DMA37_DescriptorCopy[5].YCount                              = 128;                                        // Y Count

          OSD_DMA37_DescriptorCopy[5].YModify                              = (720-160)*2+4;


Viewing all articles
Browse latest Browse all 36216

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>