Re: STM32 support

Uwe Bonnes <bon-1JbLm1bU5j5ZIx36JBfelj3+ndqKAYMe9FMPySWZwLkb1SvskN2V4Q@public.gmane.org> Sat, 4 Mar 2023 12:16:02 +0100
Newsgroups gmane.comp.hardware.microcontrollers.ethernut
Message-ID <[email protected]>
>>>>> "Thiago" =3D=3D Thiago A Corr=EAa <[email protected]> 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 =3D=3D 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
=3D=3D=3D=3D
export BOARD ?=3D $(shell basename $(CURDIR))

include ../../Makefile.lib
=3D=3D=3D=3D
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=FCrnberg?

Bye

--
Uwe Bonnes                bon-1JbLm1bU5j5ZIx36JBfelj3+ndqKAYMe9FMPySWZwLkb1SvskN2V4Q@public.gmane.org

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 1623569 ------- Fax. 06151 1623305 ---------
_______________________________________________
http://lists.egnite.de/mailman/listinfo/en-nut-discussion