[En-Nut-Discussion] STM32 support

Uwe Bonnes bon at elektron.ikp.physik.tu-darmstadt.de
Sat Mar 4 12:16:02 CET 2023


>>>>> "Thiago" == Thiago A Corrêa <thiago.correa at gmail.com> writes:

    Thiago> Hi, How could I get stared with STM32? I'm trying to build
    Thiago> for STM32F407ZE but I'm usually met with an invalid nutbld
    Thiago> where make complains on arch about invalid path. It looks
    Thiago> like the generated makefile doesn't reference the the arch
    Thiago> c source files.  Trying to use the compiler from
    Thiago> STM32CubeIDE which is installed in a very awkward path
    Thiago> inside Eclipse plugins.

Dear Thiago,

a lot of my STM32 work has probably not yet got upstream. E.g. there
are python scripts that get pin mapping files from the STM data
base. In the end I use it like e.g.
...
#include PINMUXHEADER
...
#define TIM2_CH1_AF PINMUX(PA00, TIM2_CH1_FUNC)
#if TIM2_CH1_AF == AF_NO_SUCH_PINFUNC
# warning BAD TIM2_CH1_AF assignment
#endif

If you want, I can upload my git tree to my github account. Maybe we
should have a Zoom talk, solve problems when other people use that
tree.
You know my definition of program usability:
1. It should work
2. It worked for me
3. It works for me
4 It works

As I did other things the last time, I think the tree is at about
stage 2.5 :-)

Using a single pin designator as "PA00" against  the two
designators PortA and Pin 0 allowed a lot more header and configurator
magic.

As I work for several families I use different build approch, only in
user space.
<base firectory>: Containg all the projects and a common makefile to
build the libs 
<project directory>: Containing the user code and the application
Makefile
<target build directory>: Containing the Makefile
====
export BOARD ?= $(shell basename $(CURDIR))

include ../../Makefile.lib
====
and a local build of the directory. A simple make here will build the
application and the code

This results in a tree like
en_apps/Makefile.lib
en_apps/socketserver/
en_apps/socketserver/Makefile.app
en_apps/socketserver/socketserver.c
en_apps/socketserver/nucleo_f767zi/
en_apps/socketserver/nucleo_f767zi/Makefile

Compiling for another supported STM32 board would mean to only create
en_apps/socketserver/f4_discovery
and copy the makefile from en_apps/socketserver/nucleo_f767zi/Makefile

Feel free to ask more, but I am mostly on the road this weekend.

Anybody at embedded world in Nürnberg?

Bye

--
Uwe Bonnes                bon at elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 1623569 ------- Fax. 06151 1623305 ---------


More information about the En-Nut-Discussion mailing list