5 years, 9 months ago.

stm32l1xx_dma.h not found

Hi Peter, all,

I'm quite new to this so maybe this is obvious, but I get the following error when I try to compile:

Error: Cannot open source input file "stm32l1xx_dma.h": No such file or directory in "SPI_TFT_ILI9341/SPI_TFT_ILI9341_NUCLEO.cpp", Line: 24, Col: 27

Am I failing to include something? I can't find this file in the mbed library.

Thanks for your help.

Question relating to:

1 Answer

5 years, 9 months ago.

ST switched to their new STM32Cube library at mbed rev90, see http://developer.mbed.org/teams/ST/wiki/SDK-changes-log, so that file is no longer present (now "stm32l1xx_hal_dma.h").

So, without going to the trouble of rewriting the whole DMA code, if you really must have the DMA accelerated version import an old example program which uses the TFT lib, but decline to update libraries when importing. If using latest mbed, you can modify the TFT lib so that is uses the non-DMA code (simplest way would be to delete the two TARGET_NUCLEO_L152RE #if defined's).

Accepted Answer

Hi David, thanks for the fast response! I got this working now. I had tried using using "stm32l1xx_hal_dma.h" but now it's clear that wasn't the way to go. I had to chase down all the ifdefs (there are more in other files) and redefine the pins, But now works great. Thanks for your pointer about the DMA code, that sorted it out for me.

Just as a comment: it was actually the 'updated' code that wanted the stm32l1xx_dma.h. The un-updated code had other problems.

posted by John Sainsbury 11 Jan 2015