将 MCSPI 与带有上述版本的 DMA 和 LLD 配合使用时、 gMcspiDmaUdmaFxns 结构会从多个链接的预编译库中多次定义、 mcu_plus_sdk_am64x_09_01_00_41\source\drivers\mcspi\v0\lld\dma\mcspi_dma.h、 例如 drivers.am64x.r5f.gcc-armv7.debug.lib 。 原因是、上述头文件中省略了"extern"关键字:
- 版本的 LaunchPad。 09.00.00.30( mcu_plus_sdk_am64x_09_00_00_31\source\drivers\mcspi\v0\dma\mcspi_dma.h ):
#if defined (DMA_VERSION_MCSPI_UDMA) extern MCSPI_DmaFxns gMcspiDmaUdmaFxns; #endif #if defined (DMA_VERSION_MCSPI_EDMA) extern MCSPI_DmaFxns gMcspiDmaEdmaFxns; #endif
- 在版本09.01.00.41中( mcu_plus_sdk_am64x_09_01_00_41\source\drivers\mcspi\v0\lld\dma\mcspi_dma.h ):
#if defined (DMA_VERSION_MCSPI_UDMA) MCSPI_DmaFxns gMcspiDmaUdmaFxns; #endif #if defined (DMA_VERSION_MCSPI_EDMA) MCSPI_DmaFxns gMcspiDmaEdmaFxns; #endif
使用09.00.00.30开始的文件内容修补09.01.00.41后 、程序成功构建。 但是、我尚未对其正确功能进行测试。
非常感谢您的评论。 谢谢、此致!
天使