Loading...
 

Zephyr project on STM32

   Zephyr Workbench, a VSCode extension to manage Zephyr on STM32.
It enables users to easily create, develop, and debug Zephyr applications.
Main features:
  • Install host dependencies.
  • Import toolchain and SDK.
  • Create, configure, build and manage apps.
  • Debug STM32.
You can directly download it from the VSCode marketplace
For more details, visit the Zephyr Workbench

System Workbench for STM32


What file is this error in?

This is compiling one of the examples. The error message is:

Description	Resource	Path	Location	Type
fatal error: ..\Components\ili9341\ili9341.h: No such file or directory	STM32F429I-Discovery		line 44	C/C++ Problem


I’n building on Linux so the back slashes are the issue. I cannot find where to fix this. The “resource” is “STM32F429I-Discovery” and the path is blank. But there is a line number so I suppose there must be file.

A search finds ili9341.h included from ili9341.c b ut with no path.

What causes this and how can I fix it?

Thanks!

France

Hi Hank,

The problem seems to be in Drivers/BSP/STM32F429I-Discovery/stm32f429i_discovery_lcd.h, where the includes are done using -separated relative paths...

There is regretfully quite a few includes using backslashes in the HAL libraries (36 includes in 22 files in HAL-v1.5.0); that is in fact the only reason why the Linux version is still in beta status, waiting for ST to correct its firmwares...

Bernard


Hi Bernard,
Thank you for your help with this.

I’m trying to build an example from the 1.6.0 HAL libraries. At least the BSP files have been fixed

/* Includes ------------------------------------------------------------------*/
#include "stm32f429i_discovery.h"
/* Include SDRAM Driver */
#include "stm32f429i_discovery_sdram.h"
#include "../../../Utilities/Fonts/fonts.h"
/* Include LCD component driver */
#include "../Components/ili9341/ili9341.h"

hbarta@yggdrasil ~/STM32Cube/Repository/STM32Cube_FW_F4_V1.6.0/Drivers/BSP/STM32F429I-Discovery $ grep \#include * |grep '\\'
hbarta@yggdrasil ~/STM32Cube/Repository/STM32Cube_FW_F4_V1.6.0/Drivers/BSP/STM32F429I-Discovery $ 
hbarta@yggdrasil ~/STM32Cube/Repository/STM32Cube_FW_F4_V1.6.0/Drivers/BSP/STM32F429I-Discovery $ grep \#include *|grep /
stm32f429i_discovery_gyroscope.h:#include "../Components/l3gd20/l3gd20.h"
stm32f429i_discovery_io.h:#include "../Components/stmpe811/stmpe811.h"   
stm32f429i_discovery_lcd.c:#include "../../../Utilities/Fonts/fonts.h"
stm32f429i_discovery_lcd.c:#include "../../../Utilities/Fonts/font24.c"
stm32f429i_discovery_lcd.c:#include "../../../Utilities/Fonts/font20.c"
stm32f429i_discovery_lcd.c:#include "../../../Utilities/Fonts/font16.c"
stm32f429i_discovery_lcd.c:#include "../../../Utilities/Fonts/font12.c"
stm32f429i_discovery_lcd.c:#include "../../../Utilities/Fonts/font8.c"
stm32f429i_discovery_lcd.h:#include "../../../Utilities/Fonts/fonts.h"
stm32f429i_discovery_lcd.h:#include "../Components/ili9341/ili9341.h"   
stm32f429i_discovery_ts.h:#include "../Components/stmpe811/stmpe811.h"


I wonder if the build is using the previuos version of the libraries even though I imported the project from a newer repository.

However even the version installed with openSTM32 has this fixed.

hbarta@yggdrasil ~/.ac6/SW4STM32/firmwares/STM32Cube_FW_F4_V1.4.0/Drivers/BSP/STM32F429I-Discovery $ grep \#include *|grep /
stm32f429i_discovery_gyroscope.h:#include "../Components/l3gd20/l3gd20.h"
stm32f429i_discovery_io.h:#include "../Components/stmpe811/stmpe811.h"   
stm32f429i_discovery_lcd.c:#include "../../../Utilities/Fonts/fonts.h"
stm32f429i_discovery_lcd.c:#include "../../../Utilities/Fonts/font24.c"
stm32f429i_discovery_lcd.c:#include "../../../Utilities/Fonts/font20.c"
stm32f429i_discovery_lcd.c:#include "../../../Utilities/Fonts/font16.c"
stm32f429i_discovery_lcd.c:#include "../../../Utilities/Fonts/font12.c"
stm32f429i_discovery_lcd.c:#include "../../../Utilities/Fonts/font8.c"
stm32f429i_discovery_lcd.h:#include "../../../Utilities/Fonts/fonts.h"
stm32f429i_discovery_lcd.h:#include "../Components/ili9341/ili9341.h"   
stm32f429i_discovery_ts.h:#include "../Components/stmpe811/stmpe811.h"

The BSP release notes claim this was fixed as of 10 December 2014.

Incidentaly I built a different package (PWR) with only one change to replace the backslash in the loader file path! The HAL version 1.6.0 libraries now include support for SW4STM32 projects.

Thanks,
hank

Edit: I tracked it down and learned a little more about eclipse. The next error message seemed to indicate that the problem was compiling main.c. I went to that tab and noticed that the includes were listed in the Outline tab in the window in the upper right corner. I double clicked on the headers and found that the problem was in main.h.

Now I need to deal with a bazillioin undefined identifiers. (OK, only 401. wink ) It looks like the HAL includes are not being pulled in with identifiers like LTDC_HandleTypeDef not resolved. Include paths are all listed with backslashes and that looks highly suspect, but I do not see errors indicating that include files cannot be found.


 

Newest Forum Posts

  1. Монтаж камина с грилем в Москве - установка и барбекю by KpddomErorb, 2025-05-10 18:28
  2. SPI on Nucleo_STMH533RE by royjamil, 2025-05-04 20:13
  3. SPI on Nucleo_STMH533RE by higginsa1, 2025-03-25 07:37
  4. SPI on Nucleo_STMH533RE by royjamil, 2025-03-23 11:31
  5. SPI on Nucleo_STMH533RE by higginsa1, 2025-03-23 09:33
  6. Configuring DMA for ADC in SW? by sam.hodgson, 2025-03-04 12:58
  7. Build a project in "release" mode by info@creosrl.it, 2025-02-20 18:12
  8. Build a project in "release" mode by info@creosrl.it, 2025-02-20 17:05
  9. Build a project in "release" mode by tang, 2025-02-20 10:36
  10. Build a project in "release" mode by info@creosrl.it, 2025-02-19 17:35

Last-Modified Blogs