Loading...
 

SW4STM32 and SW4Linux fully supports the STM32MP1 asymmetric multicore Cortex/A7+M4 MPUs

   With System Workbench for Linux, Embedded Linux on the STM32MP1 family of MPUs from ST was never as simple to build and maintain, even for newcomers in the Linux world. And, if you install System Workbench for Linux in System Workbench for STM32 you can seamlessly develop and debug asymmetric applications running partly on Linux, partly on the Cortex-M4.
You can get more information from the ac6-tools website and download (registration required) various documents highlighting:

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.