有没有例程可以参考一下,
一,在DSP核心下,是不是只有一个EDMA,有几个channel呢
EDMA controller is based on two major principal blocks:
• EDMA third-party channel controller (EDMA_TPCC)
• EDMA third-party transfer controller (EDMA_TPTC)
二、EDMA手动进行触发,但也还是要用中断,怎么配置。
三、
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
有没有例程可以参考一下,
一,在DSP核心下,是不是只有一个EDMA,有几个channel呢
EDMA controller is based on two major principal blocks:
• EDMA third-party channel controller (EDMA_TPCC)
• EDMA third-party transfer controller (EDMA_TPTC)
二、EDMA手动进行触发,但也还是要用中断,怎么配置。
三、
请参考 TRM 5.3.7 DSP Integrated EDMA Subsystem的详细描述
https://www.ti.com.cn/cn/lit/ug/spruhz7j/spruhz7j.pdf
EDMA手动进行触发,但也还是要用中断,
请阅读:
5.3.5 DSP DMA Requests
EDMA driver:
ti-processor-sdk-rtos-am57xx-evm-06.00.00.07-Windows\edma3_lld_2_12_05_30E
EDMAsetRegion函数的功能是什么,,region0到region3,是可以随意指定的么,有没有什么限制,与DMA的通道有没有关系
EDMAsetRegion是哪个文件中的函数?请详细列出。
pdk_am57xx_1_0_10\packages\ti\csl\src\ip\edma\V1\priv/edma.c
EDMA3CC将其地址空间划分为8个区域(Regions),从每个Region的地址空间都可以访问EDMA3CC的寄存器。即尽管物理上这些寄存器只有一份,但可以通过8个shadow region空间来访问,用户可以根据自己的需要来配置,不同的region互不影响。
请阅读 TRM 16.2.4.7.1 Region Overview
根据 Table 17-3 中DSP中断的说明 ,19对应的是region2 interrupt,在设置时,要先通过EDMAsetRegion函数设置一下EDMAsetRegion(2);,是这样的么?
在edma.c中,gEdmaRegionId一旦配置后,这个文件中的所有的初始化相关的函数,都是根据gEdmaRegionId的值来配置的么?
如果同时配置region2 interrupt,与region3 interrupt那需要重新配置EDMAsetRegion(3);么?
代码不太熟悉,中断部分结合 16.2.4.9.1.1 Enabling Transfer Completion Interrupts 看一下。
ti-processor-sdk-rtos-am57xx-evm-06.00.00.07-Windows/pdk_am57xx_1_0_15/packages/ti/csl/docs/doxygen/html/edma_8h.html#a9e54ca8515c51741de7e835f5b7222e4
对于omapl138中,edma.c有这样的说明
#ifdef _TMS320C6X
/* For DSP, regionId is assigned here and used globally in the driver */
#define regionId (unsigned int)1u
#else
/* FOR ARM, regionId is assigned here and used globally in the driver */
#define regionId (unsigned int)0u
#endif
而对于am5708,是不是每个内核对应一个regionId 号?
哪个regionId 对应哪个内核,在哪里有说明 呢?
我看到创龙的例程,DSP用的regionId 是2
我搜了一些代码看到有相关定义,SDK中还没有找到,你可以先对着创龙的例程调试看看。
#define EDMA3_CC_REGION_A8 (0U)
#define EDMA3_CC_REGION_M3VPSS (5U)
#define EDMA3_CC_REGION_M3VIDEO (4U)
#define EDMA3_CC_REGION_A15 (0U)
#define EDMA3_CC_REGION_M4 (1U)
#define EDMA3_CC_REGION_DSP (2U)
stash.phytec.com/.../fc4395d7700470f5d561b81deee02499afbbc788