# STM32-CAN library - error: core\_debug.h: No such file or directory

**URL:** <https://forum.arduino.cc/t/stm32-can-library-error-core-debug-h-no-such-file-or-directory/1390905>\
**Category:** GIGA R1 WiFi\
**Created:** [June 23, 2025, 8:04am UTC](https://forum.arduino.cc/t/stm32-can-library-error-core-debug-h-no-such-file-or-directory/1390905 "2025-06-23T08:04:35Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![horace](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/horace/32/1014299_2.png) [@horace](https://forum.arduino.cc/u/horace)\
**Post date:** [June 23, 2025, 8:04am UTC](https://forum.arduino.cc/t/stm32-can-library-error-core-debug-h-no-such-file-or-directory/1390905/1 "2025-06-23T08:04:35Z")

</div>

using IDE 2.3.5 tested STM32\_CAN library using [STM32F103 bluepill](https://forum.arduino.cc/t/compile-error-while-importing-mcp-can-h-for-arduino-giga/1388613/8) and [STM32F746ZG nucleo board](https://forum.arduino.cc/t/compile-error-while-importing-mcp-can-h-for-arduino-giga/1388613/9) OK

the [Arduino GIGA R1 WiFi Tech specs](https://store.arduino.cc/products/giga-r1-wifi) references the [STM32H747XI datasheet](https://content.arduino.cc/assets/Arduino-Portenta-H7_Datasheet_stm32h747xi.pdf) which lists under peripherals  
_2× CAN controllers: 2 with CAN FD, 1 with_  
_time-triggered CAN (TT-CAN)_

board selected Tools\>Board is Arduino Giga R1  
error when compiling example code File\>Examples\>STM32\_CAN/Read-Write\_with\_filters

```arduino
FQBN: arduino:mbed_giga:giga
Using board 'giga' from platform in folder: C:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1
Using core 'arduino' from platform in folder: C:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1

Detecting libraries used...
C:\Users\bb\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4/bin/arm-none-eabi-g++ -c -w -g3 -nostdlib @C:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\variants\GIGA/defines.txt @C:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\variants\GIGA/cxxflags.txt -mcpu=cortex-m7 -mfloat-abi=softfp -mfpu=fpv5-d16 -w -x c++ -E -CC -DARDUINO=10607 -DARDUINO_GIGA -DARDUINO_ARCH_MBED_GIGA -DARDUINO_ARCH_MBED -DARDUINO_LIBRARY_DISCOVERY_PHASE=1 -IC:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\cores\arduino -IC:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\variants\GIGA -DCM4_BINARY_START=0x60000000 -DCM4_BINARY_END=0x60040000 -DCM4_RAM_END=0x60080000 -IC:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\cores\arduino/api/deprecated -IC:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\cores\arduino/api/deprecated-avr-comp -iprefixC:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\cores\arduino @C:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\variants\GIGA/../GIGA/includes.txt C:\Users\bb\AppData\Local\arduino\sketches\FB7677EE3236A5680974D8F6FBDE5680\sketch\Read-Write_with_filters.ino.cpp -o nul
Alternatives for STM32_CAN.h: [STM32_CAN@1.2.2]
ResolveLibrary(STM32_CAN.h)
  -> candidates: [STM32_CAN@1.2.2]
C:\Users\bb\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4/bin/arm-none-eabi-g++ -c -w -g3 -nostdlib @C:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\variants\GIGA/defines.txt @C:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\variants\GIGA/cxxflags.txt -mcpu=cortex-m7 -mfloat-abi=softfp -mfpu=fpv5-d16 -w -x c++ -E -CC -DARDUINO=10607 -DARDUINO_GIGA -DARDUINO_ARCH_MBED_GIGA -DARDUINO_ARCH_MBED -DARDUINO_LIBRARY_DISCOVERY_PHASE=1 -IC:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\cores\arduino -IC:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\variants\GIGA -Ic:\Users\bb\Documents\Arduino\libraries\STM32_CAN\src -DCM4_BINARY_START=0x60000000 -DCM4_BINARY_END=0x60040000 -DCM4_RAM_END=0x60080000 -IC:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\cores\arduino/api/deprecated -IC:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\cores\arduino/api/deprecated-avr-comp -iprefixC:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\cores\arduino @C:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\variants\GIGA/../GIGA/includes.txt C:\Users\bb\AppData\Local\arduino\sketches\FB7677EE3236A5680974D8F6FBDE5680\sketch\Read-Write_with_filters.ino.cpp -o nul
C:\Users\bb\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4/bin/arm-none-eabi-g++ -c -w -g3 -nostdlib @C:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\variants\GIGA/defines.txt @C:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\variants\GIGA/cxxflags.txt -mcpu=cortex-m7 -mfloat-abi=softfp -mfpu=fpv5-d16 -w -x c++ -E -CC -DARDUINO=10607 -DARDUINO_GIGA -DARDUINO_ARCH_MBED_GIGA -DARDUINO_ARCH_MBED -DARDUINO_LIBRARY_DISCOVERY_PHASE=1 -IC:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\cores\arduino -IC:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\variants\GIGA -Ic:\Users\bb\Documents\Arduino\libraries\STM32_CAN\src -DCM4_BINARY_START=0x60000000 -DCM4_BINARY_END=0x60040000 -DCM4_RAM_END=0x60080000 -IC:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\cores\arduino/api/deprecated -IC:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\cores\arduino/api/deprecated-avr-comp -iprefixC:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\cores\arduino @C:\Users\bb\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.3.1\variants\GIGA/../GIGA/includes.txt c:\Users\bb\Documents\Arduino\libraries\STM32_CAN\src\STM32_CAN.cpp -o nul
Alternatives for core_debug.h: []
ResolveLibrary(core_debug.h)
  -> candidates: []
c:\Users\bb\Documents\Arduino\libraries\STM32_CAN\src\STM32_CAN.cpp:3:10: fatal error: core_debug.h: No such file or directory
 #include "core_debug.h"
          ^ ~~~~~~~~~~~~~
compilation terminated.
exit status 1

Compilation error: exit status 1

```

looks as though some STM32 header files are missing from the Giga support

---

<div class="post-metadata">

**Author:** ![Ivandro6000](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/ivandro6000/32/1223709_2.png) [@Ivandro6000](https://forum.arduino.cc/u/Ivandro6000)\
**Post date:** [June 23, 2025, 9:34pm UTC](https://forum.arduino.cc/t/stm32-can-library-error-core-debug-h-no-such-file-or-directory/1390905/2 "2025-06-23T21:34:53Z")

</div>

What version do you have of board ???

---

<div class="post-metadata">

**Author:** ![horace](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/horace/32/1014299_2.png) [@horace](https://forum.arduino.cc/u/horace)\
**Post date:** [June 24, 2025, 5:21am UTC](https://forum.arduino.cc/t/stm32-can-library-error-core-debug-h-no-such-file-or-directory/1390905/3 "2025-06-24T05:21:36Z")

</div>

board selected Tools\>Board is Arduino Giga R1

error when compiling the example code File\>Examples\>STM32\_CAN/Read-Write\_with\_filters

---

<div class="post-metadata">

**Author:** ![ptillisch](https://avatars.discourse-cdn.com/v4/letter/p/ad7895/32.png) [@ptillisch](https://forum.arduino.cc/u/ptillisch)\
**Post date:** [June 24, 2025, 7:15pm UTC](https://forum.arduino.cc/t/stm32-can-library-error-core-debug-h-no-such-file-or-directory/1390905/4 "2025-06-24T19:15:48Z")

</div>

Hi @horace. The `core_debug.h` file is specific to the core of the 3rd party [" **STM32 MCU based boards**" platform](https://github.com/stm32duino/Arduino_Core_STM32) (AKA "STM32duino"):

[https://github.com/stm32duino/Arduino\_Core\_STM32/blob/2.10.1/cores/arduino/core\_debug.h](https://github.com/stm32duino/Arduino_Core_STM32/blob/2.10.1/cores/arduino/core_debug.h)

The "STM32\_CAN" library is specifically written for use with that platform, and can not be used with the " **Arduino Mbed OS Giga Boards**" platform:

[https://github.com/pazi88/STM32\_CAN#can-bus-library-for-arduino-stm32](https://github.com/pazi88/STM32_CAN#can-bus-library-for-arduino-stm32)

> This library should support all STM32 MCUs that are also supported in stm32duino Arduino\_Core\_STM32

> [@horace](#):
>
> looks as though some STM32 header files are missing from the Giga support

"STM32 header files" implies a header file from a universal STM32 toolchain component. That is not the case here. This is an arbitrary non-standard file present in a 3rd party Arduino core. There is no reason to expect it to be present in the core of other platforms.

---

<div class="post-metadata">

**Author:** ![horace](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/horace/32/1014299_2.png) [@horace](https://forum.arduino.cc/u/horace)\
**Post date:** [June 26, 2025, 10:27am UTC](https://forum.arduino.cc/t/stm32-can-library-error-core-debug-h-no-such-file-or-directory/1390905/5 "2025-06-26T10:27:08Z")

</div>

thanks for the information!

looks as though there is no support for using the STM32 onboard CAN interface  
although the [Arduino GIGA R1 WiFi](https://store.arduino.cc/products/giga-r1-wifi) web page states

 ![image](https://europe1.discourse-cdn.com/arduino/original/4X/f/5/a/f5a647aaa91ae5207676f2a1480ac4fa772f72b3.png)

---

<div class="post-metadata">

**Author:** ![ptillisch](https://avatars.discourse-cdn.com/v4/letter/p/ad7895/32.png) [@ptillisch](https://forum.arduino.cc/u/ptillisch)\
**Post date:** [June 26, 2025, 10:50am UTC](https://forum.arduino.cc/t/stm32-can-library-error-core-debug-h-no-such-file-or-directory/1390905/6 "2025-06-26T10:50:39Z")

</div>

There are different levels of "support" for a capability. For example:

- The Arduino company provides an official actively maintained library with comprehensive documentation, making it easy to use the capability in Arduino sketches.
- There is a 3rd party Arduino library that facilitates the use of the capability in Arduino sketches.
- The hardware has the capability, but there isn't an Arduino library to facilitate its use, meaning you must use lower level code.
- The hardware does not have the capability.

When you see a capability listed in the specs of a hardware product, it should generally only be taken as a claim that the hardware has that capability, without implying any specific level of support by the libraries and documentation.
