Jump to content

Compiling issues for hat-brick with PlatformIO and CLI


alexSch

Recommended Posts

We are trying to combine out of the box Tinkerforge bricks/bricklets with custom build bricklets (own specific PCBs with same architecture as Tinkerforge co-processor bricklets). Trying to replicate the Tinkerforge build environment with unmodified firmware code as a start, we ran into some road blocks. 

Setup

  • MacOS Sonoma 14.2.1 (Win 10.0.19045 also available)

What we have done already

  1. Checking to Tinkerforge "cookbook" at https://www.tinkerforge.com/en/doc/Tutorials/Tutorial_Build_Environment/Tutorial.html
  2. Installing docker and downloading the Tinkerforge image tinkerforge/build_environment_c:latest
  3. Cloning the relevant Tinkerforge gits into my custom development folder
    • hat-brick
    • bricklib2
    • bootstrapper_xmc
    • brickletboot_xmc
  1. Symlinking the brickletboot_xmc and bootstrapper_xmc into the bricklib2
  2. Symlinking the bricklib2 into hat-brick/software/src

A) Trying to build from the command line, only using make

  1. Going to hat-brick/software
  2. Executing make Returns error below
  3. Trying to change the the BRICKLIB2_PATH inside the Makefile does not do the trick or at least I do not understand to teach the Makefile the difference between your folder structure and my folder structure.
Makefile:5: /Users/alex/Library/cmake/makefiles/Makefile_Bricklet_CoMCU.mk: No such file or directory
make: *** No rule to make target `/Users/alex/Library/cmake/makefiles/Makefile_Bricklet_CoMCU.mk'.  Stop.

B) Trying to build the official Tinkerforge firmware for the brick-hat with PlatformIO

  1. Trying to build returns a couple of missing C header files (see errors below)
  2. Trying to add the indeed missing header files within the src/bricklib2 folder from internet sources does mostly solve one issue but creates successive errors
 *  Task wird im Ordner Custom tfHAT XMC1100 ausgeführt: platformio run 

Processing xmc1100_boot_kit (platform: infineonxmc; board: xmc1100_boot_kit; framework: arduino)
-------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/infineonxmc/xmc1100_boot_kit.html
PLATFORM: Infineon XMC (1.2.0) > XMC1100 Boot Kit
HARDWARE: XMC1100 32MHz, 16KB RAM, 64KB Flash
DEBUG: Current (jlink) On-board (jlink)
PACKAGES: 
 - framework-arduinoxmc @ 1.4.0 
 - toolchain-gccarmnoneeabi @ 1.70201.0 (7.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ off, Compatibility ~ soft
Found 15 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Compiling .pio/build/xmc1100_boot_kit/src/bricklib2/asf/common/components/memory/sd_mmc/sd_mmc.c.o
Compiling .pio/build/xmc1100_boot_kit/src/bricklib2/asf/common/utils/interrupt/interrupt_sam_nvic.c.o
Compiling .pio/build/xmc1100_boot_kit/src/bricklib2/asf/common/utils/stdio/stdio_usb/stdio_usb.c.o
Compiling .pio/build/xmc1100_boot_kit/src/bricklib2/asf/sam/components/ethernet_phy/ksz8081mnx/ethernet_phy.c.o
Compiling .pio/build/xmc1100_boot_kit/src/bricklib2/asf/sam/drivers/twi/twi.c.o
Compiling .pio/build/xmc1100_boot_kit/src/bricklib2/asf/sam0/drivers/sercom/sercom.c.o
Compiling .pio/build/xmc1100_boot_kit/src/bricklib2/asf/sam0/drivers/system/clock/clock_samd09_d10_d11/clock.c.o
Compiling .pio/build/xmc1100_boot_kit/src/bricklib2/asf/thirdparty/fatfs/fatfs-r0.12c/src/ff.c.o
src/bricklib2/asf/sam/components/ethernet_phy/ksz8081mnx/ethernet_phy.c:47:10: fatal error: ethernet_phy.h: No such file or directory

**********************************************************************
* Looking for ethernet_phy.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:ethernet_phy.h"
* Web  > https://registry.platformio.org/search?q=header:ethernet_phy.h
*
**********************************************************************

 #include "ethernet_phy.h"
          ^~~~~~~~~~~~~~~~
src/bricklib2/asf/sam/drivers/twi/twi.c:47:10: fatal error: twi.h: No such file or directory

*************************************************************
* Looking for twi.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:twi.h"
* Web  > https://registry.platformio.org/search?q=header:twi.h
*
*************************************************************

 #include "twi.h"
          ^~~~~~~
src/bricklib2/asf/common/utils/stdio/stdio_usb/stdio_usb.c:51:10: fatal error: stdio_usb.h: No such file or directory

*******************************************************************
* Looking for stdio_usb.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:stdio_usb.h"
* Web  > https://registry.platformio.org/search?q=header:stdio_usb.h
*
*******************************************************************

 #include "stdio_usb.h"
          ^~~~~~~~~~~~~
src/bricklib2/asf/sam0/drivers/sercom/sercom.c:46:10: fatal error: sercom.h: No such file or directory

****************************************************************
* Looking for sercom.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:sercom.h"
* Web  > https://registry.platformio.org/search?q=header:sercom.h
*
****************************************************************

 #include "sercom.h"
          ^~~~~~~~~~
In file included from src/bricklib2/asf/common/utils/interrupt/interrupt_sam_nvic.c:47:0:
src/bricklib2/asf/common/utils/interrupt/interrupt_sam_nvic.h:50:10: fatal error: compiler.h: No such file or directory

******************************************************************
* Looking for compiler.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:compiler.h"
* Web  > https://registry.platformio.org/search?q=header:compiler.h
*
******************************************************************

 #include <compiler.h>
          ^~~~~~~~~~~~
src/bricklib2/asf/sam0/drivers/system/clock/clock_samd09_d10_d11/clock.c:46:10: fatal error: clock.h: No such file or directory

***************************************************************
* Looking for clock.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:clock.h"
* Web  > https://registry.platformio.org/search?q=header:clock.h
*
***************************************************************

 #include <clock.h>
          ^~~~~~~~~
compilation terminated.
compilation terminated.
compilation terminated.
compilation terminated.
compilation terminated.
compilation terminated.
In file included from src/bricklib2/asf/thirdparty/fatfs/fatfs-r0.12c/src/ff.h:29:0,
                 from src/bricklib2/asf/thirdparty/fatfs/fatfs-r0.12c/src/ff.c:21:
src/bricklib2/asf/thirdparty/fatfs/fatfs-r0.12c/src/ffconf.h:5:10: fatal error: conf_fatfs.h: No such file or directory

********************************************************************
* Looking for conf_fatfs.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:conf_fatfs.h"
* Web  > https://registry.platformio.org/search?q=header:conf_fatfs.h
*
********************************************************************

 #include "conf_fatfs.h"
          ^~~~~~~~~~~~~~
compilation terminated.
*** [.pio/build/xmc1100_boot_kit/src/bricklib2/asf/sam/drivers/twi/twi.c.o] Error 1
*** [.pio/build/xmc1100_boot_kit/src/bricklib2/asf/thirdparty/fatfs/fatfs-r0.12c/src/ff.c.o] Error 1
*** [.pio/build/xmc1100_boot_kit/src/bricklib2/asf/common/utils/interrupt/interrupt_sam_nvic.c.o] Error 1
*** [.pio/build/xmc1100_boot_kit/src/bricklib2/asf/sam0/drivers/sercom/sercom.c.o] Error 1
*** [.pio/build/xmc1100_boot_kit/src/bricklib2/asf/sam/components/ethernet_phy/ksz8081mnx/ethernet_phy.c.o] Error 1
*** [.pio/build/xmc1100_boot_kit/src/bricklib2/asf/common/utils/stdio/stdio_usb/stdio_usb.c.o] Error 1
*** [.pio/build/xmc1100_boot_kit/src/bricklib2/asf/sam0/drivers/system/clock/clock_samd09_d10_d11/clock.c.o] Error 1
src/bricklib2/asf/common/components/memory/sd_mmc/sd_mmc.c:48:10: fatal error: conf_board.h: No such file or directory

********************************************************************
* Looking for conf_board.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:conf_board.h"
* Web  > https://registry.platformio.org/search?q=header:conf_board.h
*
********************************************************************

 #include "conf_board.h"
          ^~~~~~~~~~~~~~
compilation terminated.
*** [.pio/build/xmc1100_boot_kit/src/bricklib2/asf/common/components/memory/sd_mmc/sd_mmc.c.o] Error 1
========================================================== [FAILED] Took 2.24 seconds ==========================================================

 *  Der Terminalprozess "platformio 'run'" wurde mit folgendem Exitcode beendet: 1. 
 *  Das Terminal wird von Aufgaben wiederverwendet, drücken Sie zum Schließen eine beliebige Taste. 

 

Anyone to help with A) or B)?

Best regards

Alex

 

Edited by alexSch
Link to comment
Share on other sites

  • alexSch changed the title to Compiling issues for hat-brick with PlatformIO and CLI

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...