I don't manage to build barebox for STM32 microcontroller

92 views Asked by At

I've been carefully following this tutorial : https://www.barebox.org/doc/latest/boards/stm32mp.html to flash Barebox on a STM32 MCU but I'm stuck at the "Building barebox" step.

When I type make ARCH=arm stm32mp_defconfig I see the makefile executes without any error. Here are the logs :

  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
  YACC    scripts/kconfig/parser.tab.[ch]
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/menu.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/util.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#

but at the end I don't have any image in the images/ folder.

I tried to proceed in the tutorial but I clearly see in the next step that I need .img files in the images/ folder...

I feel totally lost since I followed the tutorial very carefully and nothing indicates me when I could have done an error...

Otherwise, if someone knows a more simple way to flash Barebox in a STM32 MCU hmu. I've already spent hours on this and this tutorial makes me feel lost af.

1

There are 1 answers

0
a3f On

barebox uses Kbuild, the Linux kernel build system. make ARCH=arm stm32mp_defconfig will configure barebox appropriately for the STM32MP by creating a new .config file with all the settings. Afterwards you need to just call make to actually build this configuration:

make ARCH=arm

And then you will have the images built. This is described in detail in the barebox documentation. The board documentation you looked at is like a quick start which assumes familiarity with the main documentation, but I have nevertheless just sent a patch amending it.


With this one extra `make call, you should now have images for a couple of STM32MP boards, but these are application processors (with MMU, no built-in flash, some with GPU, ... etc.) and not microcontrollers. There is no mainline support for STM32 MCUs. I have hacked together some support for the STM32F429I-DISCO, but I have yet to upstream it. What board do you want to run barebox on?