Hi,
I am a beginner who would like to program the STM32F072 Discovery Board.
My platform.ini
is:
[env:disco_f072rb]
platform = ststm32
board = disco_f072rb
framework = libopencm3
When I platformio run
I get:
Processing disco_f072rb (platform: ststm32; board: disco_f072rb; framework: libopencm3)
-----------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/disco_f072rb.html
PLATFORM: ST STM32 6.1.0 > ST Discovery F072RB
HARDWARE: STM32F072RBT6 48MHz, 16KB RAM, 128KB Flash
DEBUG: Current (stlink) On-board (stlink) External (blackmagic, jlink)
PACKAGES:
- framework-libopencm3 1.1.0
- toolchain-gccarmnoneeabi 1.70201.0 (7.2.1)
Error: This board doesn't support libopencm3 framework!
I don’t understand why my board is not supported by the libopencm3 framework. There are several issues in the libopencm3 repository that indicate that libopencm3 should on STM32F072 discovery board.
Is it possible to make platformio run
build successfully an executable or is there indeed an incompatibility of the STM32F072 with libopencm3?
Update:
I added libopencm3
to the frameworks
array in platforms/ststm32/boards/disco_f072rb.json
. If I now run platformio run
I get:
KeyError: "Invalid board option 'build.core'":
File "/Users/bodokaiser/.pyenv/versions/3.8.1/Python.framework/Versions/3.8/lib/python3.8/site-packages/platformio/builder/main.py", line 156:
env.SConscript("$BUILD_SCRIPT")
File "/Users/bodokaiser/.platformio/packages/tool-scons/script/../engine/SCons/Script/SConscript.py", line 597:
return _SConscript(self.fs, *files, **subst_kw)
File "/Users/bodokaiser/.platformio/packages/tool-scons/script/../engine/SCons/Script/SConscript.py", line 286:
exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
File "/Users/bodokaiser/.platformio/platforms/ststm32/builder/main.py", line 98:
target_elf = env.BuildProgram()
File "/Users/bodokaiser/.platformio/packages/tool-scons/script/../engine/SCons/Environment.py", line 219:
return self.method(*nargs, **kwargs)
File "/Users/bodokaiser/.pyenv/versions/3.8.1/Python.framework/Versions/3.8/lib/python3.8/site-packages/platformio/builder/tools/platformio.py", line 61:
env.ProcessProgramDeps()
File "/Users/bodokaiser/.platformio/packages/tool-scons/script/../engine/SCons/Environment.py", line 219:
return self.method(*nargs, **kwargs)
File "/Users/bodokaiser/.pyenv/versions/3.8.1/Python.framework/Versions/3.8/lib/python3.8/site-packages/platformio/builder/tools/platformio.py", line 118:
env.BuildFrameworks(env.get("PIOFRAMEWORK"))
File "/Users/bodokaiser/.platformio/packages/tool-scons/script/../engine/SCons/Environment.py", line 219:
return self.method(*nargs, **kwargs)
File "/Users/bodokaiser/.pyenv/versions/3.8.1/Python.framework/Versions/3.8/lib/python3.8/site-packages/platformio/builder/tools/platformio.py", line 330:
SConscript(env.GetFrameworkScript(f), exports="env")
File "/Users/bodokaiser/.platformio/packages/tool-scons/script/../engine/SCons/Script/SConscript.py", line 660:
return method(*args, **kw)
File "/Users/bodokaiser/.platformio/packages/tool-scons/script/../engine/SCons/Script/SConscript.py", line 597:
return _SConscript(self.fs, *files, **subst_kw)
File "/Users/bodokaiser/.platformio/packages/tool-scons/script/../engine/SCons/Script/SConscript.py", line 286:
exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
File "/Users/bodokaiser/.platformio/platforms/ststm32/builder/frameworks/libopencm3/libopencm3.py", line 147:
if board.get("build.core") == "tivac":
File "/Users/bodokaiser/.pyenv/versions/3.8.1/Python.framework/Versions/3.8/lib/python3.8/site-packages/platformio/managers/platform.py", line 795:
raise KeyError("Invalid board option '%s'" % path)