I'm compiling for target Arduino Zero (Native USB Port) (ARDUINO_ARCH_SAMD). If I uncomment #define ENABLEZERODMA (in SPIMemory.h), and I try to compile TestFlash example, I receive error messages about multiple definition of DMAC_Handler.
The last lines tell which libraries are involved (I've replaced long paths with "<...>"):
Using library SPIMemory at version 3.4.0 in folder: <...>\Arduino\libraries\SPIMemory
Using library SPI at version 1.0 in folder: <...>\Arduino15\packages\arduino\hardware\samd\1.8.11\libraries\SPI
exit status 1
Error compiling for board Arduino Zero (Native USB Port).
How can I solve this?
Full output:
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlash.cpp.o: In function `DMAC_Handler':
<...>\Arduino15\packages\arduino\tools\CMSIS\4.5.0/CMSIS/Include/cmsis_gcc.h:71: multiple definition of `DMAC_Handler'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino15\packages\arduino\tools\CMSIS\4.5.0/CMSIS/Include/cmsis_gcc.h:71: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlash.cpp.o: In function `dma_init()':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:58: multiple definition of `dma_init()'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:58: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlash.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:32: multiple definition of `descriptor_section'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:32: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlash.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:31: multiple definition of `wrb'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:31: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlash.cpp.o: In function `spi_xfr(void*, void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:70: multiple definition of `spi_xfr(void*, void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:70: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlash.cpp.o: In function `spi_write(void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:128: multiple definition of `spi_write(void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:128: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlash.cpp.o: In function `spi_read(void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:132: multiple definition of `spi_read(void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:132: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlash.cpp.o: In function `spi_transfer(void*, void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:136: multiple definition of `spi_transfer(void*, void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:136: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlash.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:68: multiple definition of `sercom'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:68: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlash.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:39: multiple definition of `dmadone'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:39: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlash.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:33: multiple definition of `descriptor'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:33: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlash.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: multiple definition of `rxbuf'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlash.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: multiple definition of `txbuf'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashIO.cpp.o: In function `DMAC_Handler':
<...>\Arduino15\packages\arduino\tools\CMSIS\4.5.0/CMSIS/Include/cmsis_gcc.h:71: multiple definition of `DMAC_Handler'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino15\packages\arduino\tools\CMSIS\4.5.0/CMSIS/Include/cmsis_gcc.h:71: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashIO.cpp.o: In function `dma_init()':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:58: multiple definition of `dma_init()'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:58: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashIO.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:32: multiple definition of `descriptor_section'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:32: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashIO.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:31: multiple definition of `wrb'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:31: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashIO.cpp.o: In function `spi_xfr(void*, void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:70: multiple definition of `spi_xfr(void*, void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:70: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashIO.cpp.o: In function `spi_write(void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:128: multiple definition of `spi_write(void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:128: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashIO.cpp.o: In function `spi_read(void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:132: multiple definition of `spi_read(void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:132: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashIO.cpp.o: In function `spi_transfer(void*, void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:136: multiple definition of `spi_transfer(void*, void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:136: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashIO.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:68: multiple definition of `sercom'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:68: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashIO.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:39: multiple definition of `dmadone'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:39: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashIO.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:33: multiple definition of `descriptor'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:33: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashIO.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: multiple definition of `rxbuf'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashIO.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: multiple definition of `txbuf'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashSFDP.cpp.o: In function `DMAC_Handler':
<...>\Arduino15\packages\arduino\tools\CMSIS\4.5.0/CMSIS/Include/cmsis_gcc.h:71: multiple definition of `DMAC_Handler'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino15\packages\arduino\tools\CMSIS\4.5.0/CMSIS/Include/cmsis_gcc.h:71: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashSFDP.cpp.o: In function `dma_init()':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:58: multiple definition of `dma_init()'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:58: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashSFDP.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:32: multiple definition of `descriptor_section'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:32: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashSFDP.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:31: multiple definition of `wrb'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:31: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashSFDP.cpp.o: In function `spi_xfr(void*, void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:70: multiple definition of `spi_xfr(void*, void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:70: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashSFDP.cpp.o: In function `spi_write(void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:128: multiple definition of `spi_write(void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:128: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashSFDP.cpp.o: In function `spi_read(void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:132: multiple definition of `spi_read(void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:132: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashSFDP.cpp.o: In function `spi_transfer(void*, void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:136: multiple definition of `spi_transfer(void*, void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:136: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashSFDP.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:68: multiple definition of `sercom'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:68: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashSFDP.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:39: multiple definition of `dmadone'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:39: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashSFDP.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:33: multiple definition of `descriptor'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:33: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashSFDP.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: multiple definition of `rxbuf'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFlashSFDP.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: multiple definition of `txbuf'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFram.cpp.o: In function `DMAC_Handler':
<...>\Arduino15\packages\arduino\tools\CMSIS\4.5.0/CMSIS/Include/cmsis_gcc.h:71: multiple definition of `DMAC_Handler'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino15\packages\arduino\tools\CMSIS\4.5.0/CMSIS/Include/cmsis_gcc.h:71: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFram.cpp.o: In function `dma_init()':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:58: multiple definition of `dma_init()'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:58: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFram.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:32: multiple definition of `descriptor_section'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:32: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFram.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:31: multiple definition of `wrb'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:31: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFram.cpp.o: In function `spi_xfr(void*, void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:70: multiple definition of `spi_xfr(void*, void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:70: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFram.cpp.o: In function `spi_write(void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:128: multiple definition of `spi_write(void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:128: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFram.cpp.o: In function `spi_read(void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:132: multiple definition of `spi_read(void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:132: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFram.cpp.o: In function `spi_transfer(void*, void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:136: multiple definition of `spi_transfer(void*, void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:136: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFram.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:68: multiple definition of `sercom'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:68: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFram.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:39: multiple definition of `dmadone'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:39: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFram.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:33: multiple definition of `descriptor'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:33: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFram.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: multiple definition of `rxbuf'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFram.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: multiple definition of `txbuf'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFramIO.cpp.o: In function `DMAC_Handler':
<...>\Arduino15\packages\arduino\tools\CMSIS\4.5.0/CMSIS/Include/cmsis_gcc.h:71: multiple definition of `DMAC_Handler'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino15\packages\arduino\tools\CMSIS\4.5.0/CMSIS/Include/cmsis_gcc.h:71: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFramIO.cpp.o: In function `dma_init()':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:58: multiple definition of `dma_init()'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:58: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFramIO.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:32: multiple definition of `descriptor_section'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:32: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFramIO.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:31: multiple definition of `wrb'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:31: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFramIO.cpp.o: In function `spi_xfr(void*, void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:70: multiple definition of `spi_xfr(void*, void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:70: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFramIO.cpp.o: In function `spi_write(void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:128: multiple definition of `spi_write(void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:128: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFramIO.cpp.o: In function `spi_read(void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:132: multiple definition of `spi_read(void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:132: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFramIO.cpp.o: In function `spi_transfer(void*, void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:136: multiple definition of `spi_transfer(void*, void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:136: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFramIO.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:68: multiple definition of `sercom'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:68: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFramIO.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:39: multiple definition of `dmadone'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:39: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFramIO.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:33: multiple definition of `descriptor'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:33: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFramIO.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: multiple definition of `rxbuf'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIFramIO.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: multiple definition of `txbuf'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIMemory.cpp.o: In function `DMAC_Handler':
<...>\Arduino15\packages\arduino\tools\CMSIS\4.5.0/CMSIS/Include/cmsis_gcc.h:71: multiple definition of `DMAC_Handler'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino15\packages\arduino\tools\CMSIS\4.5.0/CMSIS/Include/cmsis_gcc.h:71: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIMemory.cpp.o: In function `dma_init()':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:58: multiple definition of `dma_init()'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:58: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIMemory.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:32: multiple definition of `descriptor_section'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:32: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIMemory.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:31: multiple definition of `wrb'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:31: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIMemory.cpp.o: In function `spi_xfr(void*, void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:70: multiple definition of `spi_xfr(void*, void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:70: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIMemory.cpp.o: In function `spi_write(void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:128: multiple definition of `spi_write(void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:128: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIMemory.cpp.o: In function `spi_read(void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:132: multiple definition of `spi_read(void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:132: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIMemory.cpp.o: In function `spi_transfer(void*, void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:136: multiple definition of `spi_transfer(void*, void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:136: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIMemory.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:68: multiple definition of `sercom'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:68: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIMemory.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:39: multiple definition of `dmadone'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:39: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIMemory.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:33: multiple definition of `descriptor'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:33: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIMemory.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: multiple definition of `rxbuf'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\SPIMemory.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: multiple definition of `txbuf'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\diagnostics.cpp.o: In function `DMAC_Handler':
<...>\Arduino15\packages\arduino\tools\CMSIS\4.5.0/CMSIS/Include/cmsis_gcc.h:71: multiple definition of `DMAC_Handler'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino15\packages\arduino\tools\CMSIS\4.5.0/CMSIS/Include/cmsis_gcc.h:71: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\diagnostics.cpp.o: In function `dma_init()':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:58: multiple definition of `dma_init()'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:58: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\diagnostics.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:32: multiple definition of `descriptor_section'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:32: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\diagnostics.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:31: multiple definition of `wrb'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:31: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\diagnostics.cpp.o: In function `spi_xfr(void*, void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:70: multiple definition of `spi_xfr(void*, void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:70: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\diagnostics.cpp.o: In function `spi_write(void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:128: multiple definition of `spi_write(void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:128: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\diagnostics.cpp.o: In function `spi_read(void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:132: multiple definition of `spi_read(void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:132: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\diagnostics.cpp.o: In function `spi_transfer(void*, void*, unsigned int)':
<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:136: multiple definition of `spi_transfer(void*, void*, unsigned int)'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:136: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\diagnostics.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:68: multiple definition of `sercom'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:68: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\diagnostics.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:39: multiple definition of `dmadone'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:39: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\diagnostics.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:33: multiple definition of `descriptor'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:33: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\diagnostics.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: multiple definition of `rxbuf'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: first defined here
<...>\Temp\arduino_build_407138\libraries\SPIMemory\diagnostics.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: multiple definition of `txbuf'
<...>\Temp\arduino_build_407138\sketch\TestFlash.ino.cpp.o:<...>\Arduino\libraries\SPIMemory\src/DMASAMD.h:14: first defined here
collect2.exe: error: ld returned 1 exit status
Using library SPIMemory at version 3.4.0 in folder: <...>\Arduino\libraries\SPIMemory
Using library SPI at version 1.0 in folder: <...>\Arduino15\packages\arduino\hardware\samd\1.8.11\libraries\SPI
exit status 1
Error compiling for board Arduino Zero (Native USB Port).
DO NOT DELETE OR EDIT anything below this
Note 1: Make sure to add all the information needed to understand the bug so that someone can help. If any essential information is missing we'll add the 'Needs more information' label and close the issue until there is enough information.
Note 2: For support questions (for example, tutorials on how to use the library), please use the Arduino Forums. This repository's issues are reserved for feature requests and bug reports.
I'm compiling for target Arduino Zero (Native USB Port) (
ARDUINO_ARCH_SAMD
). If I uncomment#define ENABLEZERODMA
(in SPIMemory.h), and I try to compile TestFlash example, I receive error messages aboutmultiple definition of DMAC_Handler
.The last lines tell which libraries are involved (I've replaced long paths with "<...>"):
How can I solve this? Full output:
DO NOT DELETE OR EDIT anything below this
Note 1: Make sure to add all the information needed to understand the bug so that someone can help. If any essential information is missing we'll add the 'Needs more information' label and close the issue until there is enough information.
Note 2: For support questions (for example, tutorials on how to use the library), please use the Arduino Forums. This repository's issues are reserved for feature requests and bug reports.