主题中讨论的其他器件:SYSBIOS
工具/软件:
AM5616、sdk6.3
具有以下配置的客户
/*================= 驱动程序配置================ */
Var EDMA = xdc.loadPackage(“ti.sdo.EDMA3.drv.sample")“);
var drv = xdc.loadPackage(“ti.sdo.EDMA3.drv")“);
var rm = xdc.loadPackage(“ti.sdo.EDMA3.rm")“);
/*加载 SPI 软件包*/
var SPI = xdc.loadPackage ('ti.drv.spi');//实际上有问题、这里应该使用 ti.drv.spi.dma、对吧?
spi.Settings.enableProfiling = true;
spi.Settings.socType = socType;
Spi.Settings.useDma =“true";“;
Var Hwi= xdc.useModule('ti.sysbios.family.c64p.Hwi');
Var ECM= xdc.useModule('ti.sysbios.family.c64p.EventCombiner');
/*
*在此处启用事件组,并完成特定 GEM INTC 的 ISR 注册
*使用 EventCombiner_DispatchPlug () 和 Hwi_EventMap () API
*总共 128 个事件可以绑定到 4 组、每个组 32 个事件。在这里设置每个组连接的 DSP 矢量
*/
ECM.eventGroupHwiNum[0]= 7;//event:0-31
ECM.eventGroupHwiNum[1]= 8;//event:32-63
ECM.eventGroupHwiNum[2]= 9;//event:64-95
ECM.eventGroupHwiNum[3]= 10;//event:96-127
2 makefile:
CFLAGS +=-D DISPLAY -D LINKSTATE -D SPI_DMA_ENABLE
3 rtos\dsp1\bin\release\configuro\linker.cmd
-l“a /root/ti/pdk_am57xx_1_0_17/packages/ti/drv/spi/lib/am571x/c66/release/ti.drv.spi.ae66 //相同、在这里可以使用 ti.drv.spi.dma.ae66?
-l“/root/ti/edma3_lld_2_12_05_30E/packages/ti/sdo/edma3/drv/sample/lib/tda2xx-evm/66/release/edma3_lld_drv_sample.ae66
-l“/root/ti/edma3_lld_2_12_05_30E/packages/ti/sdo/edma3/drv/lib/66/release/edma3_lld_drv.ae66
-l“/root/ti/edma3_lld_2_12_05_30E/packages/ti/sdo/edma3/rm/lib/tda2xx-evm/66/release/edma3_lld_rm.ae66
----------------------------------------
在 Makefile 中 、如果注释掉了“-D SPI_DMA_ENABLE“、SPI 读取/写入正常、但如果打开此宏、TX 正常、而 RX 全部为“0",“,则、则可能的原因是什么?
另一方面、PDK 驱动程序中还有另一个关键问题、库 ti.drv.spi.dma、如果要使用 DMA 函数、是否需要连接 DMA 库?、但当我尝试链接 spi.dma 库 、在调用 spi_transfer 后找到时、它永远不会返回、可能是由 DMA 引起或没有触发 SPI 中断、如何使其在此处工作?
请帮助检查随附的文件并给出您的建议!
谢谢
Semon
----------------------------------------