2019-10-07 05:15 PM
Specifically, I am trying to compile the STM32WB Dongle Thread General CoAP example.
Although this isn't a problem specific to STM32 but more with the IDE, I was hoping somebody might have a hint on how to solve the issue. Also, all of the files exist within the scope of the workspace.
Error:
Info: Internal Builder is used for build
arm-atollic-eabi-gcc -c ..\..\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_cortex.c -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -std=gnu11 -DCORE_CM4 -DUSE_HAL_DRIVER -DUSE_STM32WBXX_USB_DONGLE -DTHREAD_WB -DSTM32WB55xx -DST_OT_DEBUG -DOPENTHREAD_CONFIG_FILE=<openthread_api_config_ftd.h> -I../../../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc -I../../../../../../../../Drivers/CMSIS/Include -I../../../../../../../../Drivers/CMSIS/Device/ST/STM32WBxx/Include -I../../../../../../../../Drivers/BSP/P-NUCLEO-WB55.USBDongle/ -I../../../Core/Inc -I../../../STM32_WPAN/App -I../../../STM32_WPAN/Target -I../../../../../../../../Middlewares/ST/STM32_WPAN/thread/openthread/stack/include -I../../../../../../../../Middlewares/ST/STM32_WPAN/thread/openthread/stack/include/openthread -I../../../../../../../../Middlewares/ST/STM32_WPAN/thread/openthread/core/openthread_api -I../../../../../../../../Middlewares/ST/STM32_WPAN/thread/openthread -I../../../../../../../../Middlewares/ST/STM32_WPAN/utilities -I../../../../../../../../Utilities/lpm/tiny_lpm -I../../../../../../../../Utilities/sequencer -I../../../../../../../../Middlewares/ST/STM32_WPAN -I../../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread -I../../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl -I../../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci -I../../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/vcp -I../../../../../../../../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -I../../../../../../../../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -Os -ffunction-sections -g3 -fstack-usage -Wall -fmessage-length=0 -specs=nano.specs -o Drivers\STM32WBxx_HAL_Driver\stm32wbxx_hal_cortex.o
arm-atollic-eabi-gcc -c ..\..\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\thread\openthread\core\openthread_api\diag.c -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -std=gnu11 -DCORE_CM4 -DUSE_HAL_DRIVER -DUSE_STM32WBXX_USB_DONGLE -DTHREAD_WB -DSTM32WB55xx -DST_OT_DEBUG -DOPENTHREAD_CONFIG_FILE=<openthread_api_config_ftd.h> -I../../../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc -I../../../../../../../../Drivers/CMSIS/Include -I../../../../../../../../Drivers/CMSIS/Device/ST/STM32WBxx/Include -I../../../../../../../../Drivers/BSP/P-NUCLEO-WB55.USBDongle/ -I../../../Core/Inc -I../../../STM32_WPAN/App -I../../../STM32_WPAN/Target -I../../../../../../../../Middlewares/ST/STM32_WPAN/thread/openthread/stack/include -I../../../../../../../../Middlewares/ST/STM32_WPAN/thread/openthread/stack/include/openthread -I../../../../../../../../Middlewares/ST/STM32_WPAN/thread/openthread/core/openthread_api -I../../../../../../../../Middlewares/ST/STM32_WPAN/thread/openthread -I../../../../../../../../Middlewares/ST/STM32_WPAN/utilities -I../../../../../../../../Utilities/lpm/tiny_lpm -I../../../../../../../../Utilities/sequencer -I../../../../../../../../Middlewares/ST/STM32_WPAN -I../../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread -I../../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl -I../../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci -I../../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/vcp -I../../../../../../../../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -I../../../../../../../../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -Os -ffunction-sections -g3 -fstack-usage -Wall -fmessage-length=0 -specs=nano.specs -o Middlewares\STM32_WPAN\thread\openthread\core\openthread_api\diag.o
..\..\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\thread\openthread\core\openthread_api\diag.c:25:42: fatal error: stm32wbxx_core_interface_def.h: No such file or directory
#include "stm32wbxx_core_interface_def.h"
EDIT:
I swapped out all relative paths to include paths, thinking that may have messed something up. Still getting the same error.
2019-10-07 10:41 PM
The problem arises when making changes to the hal files, apparently while they somehow fall off the compiler. It is solved by manually setting the paths. Project -> Settings -> Tool settings -> GCC compiler -> include paths.
2019-10-08 06:53 AM
Thanks for the reply.
I had edited those paths to absolute paths and I still get an error. But its a bit more interesting now. Even though all the paths are absolute in the GCC compiler include paths, it is still be referenced via a relative path when compiling (see call immediately after "arm-atollic-eabi-gcc -c" below). I'm not sure why there is a relative reference when the absolute references are also being called after all the flags.
Error:
arm-atollic-eabi-gcc -c ..\..\..\Core\Src\main.c -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -std=gnu11 -DCORE_CM4 -DUSE_HAL_DRIVER -DUSE_STM32WBXX_USB_DONGLE -DTHREAD_WB -DSTM32WB55xx -DST_OT_DEBUG -DOPENTHREAD_CONFIG_FILE=<openthread_api_config_ftd.h> -IC:\dev\stm32\WB_V1.2.0\Drivers\STM32WBxx_HAL_Driver\Inc -IC:\dev\stm32\WB_V1.2.0\Drivers\CMSIS\Include -IC:\dev\stm32\WB_V1.2.0\Drivers\CMSIS\Device\ST\STM32WBxx\Include -IC:\dev\stm32\WB_V1.2.0\Drivers\BSP\P-NUCLEO-WB55.USBDongle/ -IC:\dev\stm32\WB_V1.2.0\dongle\Core\Inc -IC:\dev\stm32\WB_V1.2.0\dongle\STM32_WPAN\App -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN\thread\openthread\stack\include -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN\thread\openthread\stack\include\openthread -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN\thread\openthread\core\openthread_api -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN\thread\openthread -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN\utilities -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\shci -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\vcp -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_USB_Device_Library\Class\CDC\Inc -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_USB_Device_Library\Core\Inc -IC:\dev\stm32\WB_V1.2.0\Utilities\lpm\tiny_lpm -IC:\dev\stm32\WB_V1.2.0\Utilities\sequencer -IC:\dev\stm32\WB_V1.2.0\dongle\STM32_WPAN\Target -Os -ffunction-sections -g3 -fstack-usage -Wall -fmessage-length=0 -o Application\User\Core\src\main.o
arm-atollic-eabi-gcc -c C:\Middlewares\ST\STM32_WPAN\utilities\stm_list.c -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -std=gnu11 -DCORE_CM4 -DUSE_HAL_DRIVER -DUSE_STM32WBXX_USB_DONGLE -DTHREAD_WB -DSTM32WB55xx -DST_OT_DEBUG -DOPENTHREAD_CONFIG_FILE=<openthread_api_config_ftd.h> -IC:\dev\stm32\WB_V1.2.0\Drivers\STM32WBxx_HAL_Driver\Inc -IC:\dev\stm32\WB_V1.2.0\Drivers\CMSIS\Include -IC:\dev\stm32\WB_V1.2.0\Drivers\CMSIS\Device\ST\STM32WBxx\Include -IC:\dev\stm32\WB_V1.2.0\Drivers\BSP\P-NUCLEO-WB55.USBDongle/ -IC:\dev\stm32\WB_V1.2.0\dongle\Core\Inc -IC:\dev\stm32\WB_V1.2.0\dongle\STM32_WPAN\App -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN\thread\openthread\stack\include -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN\thread\openthread\stack\include\openthread -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN\thread\openthread\core\openthread_api -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN\thread\openthread -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN\utilities -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\shci -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\vcp -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_USB_Device_Library\Class\CDC\Inc -IC:\dev\stm32\WB_V1.2.0\Middlewares\ST\STM32_USB_Device_Library\Core\Inc -IC:\dev\stm32\WB_V1.2.0\Utilities\lpm\tiny_lpm -IC:\dev\stm32\WB_V1.2.0\Utilities\sequencer -IC:\dev\stm32\WB_V1.2.0\dongle\STM32_WPAN\Target -Os -ffunction-sections -g3 -fstack-usage -Wall -fmessage-length=0 -o Middlewares\STM32_WPAN\utilities\stm_list.o
arm-atollic-eabi-gcc.exe: error: C:\Middlewares\ST\STM32_WPAN\utilities\stm_list.c: No such file or directory
arm-atollic-eabi-gcc.exe: fatal error: no input files
compilation terminated.
2019-10-08 07:23 AM
Another way is to regenerate the code from the cube, this corrects the paths to the included files, but erases the code that is not in user sectors. In this case, the generator adds the same paths, but in a relative format. And everything works. Today I suffered with similar.
2019-10-08 07:26 AM
But for the example files given (i.e. Thread CoAP General implementation for Dongle), those aren't created with Cube. Regular Cube generated projects work without issue its just the given example files are giving me some trouble.
2019-10-08 08:18 AM
In order not to deal with the glitches of various IDEs, I studied the software model through assembler. And then it was necessary to very quickly figure out the algorithm and had to fight with cubeIDE