Page 1 of 1

Error while building uPython for STM32F407 discovery board

Posted: Mon Dec 01, 2014 11:32 am
by Domantas
Hi. I am trying to build uPython for STM32 discovery board. I work in debian. When I try this:

Code: Select all

root@debian:/home/siaubas/Downloads/micropython-master/micropython-master/stmhal# make BOARD=STM32F4DISC V=1
I get this output:

Code: Select all

mkdir -p build-STM32F4DISC/genhdr
Create build-STM32F4DISC/genhdr/pins.h
python boards/make-pins.py --board boards/STM32F4DISC/pins.csv --af boards/stm32f4xx_af.csv --prefix boards/stm32f4xx_prefix.c --hdr build-STM32F4DISC/genhdr/pins.h --qstr build-STM32F4DISC/pins_qstr.h --af-const build-STM32F4DISC/genhdr/pins_af_const.h --af-py build-STM32F4DISC/pins_af.py > build-STM32F4DISC/pins_STM32F4DISC.c
make: *** No rule to make target `qstrdefsport.h', needed by `build-STM32F4DISC/genhdr/qstrdefs.generated.h'.  Stop.
Any help appreciated

Re: Error while building uPython for STM32F407 discovery boa

Posted: Tue Dec 02, 2014 8:12 am
by dhylands
Which version of the git tree are you using?

Which version of make are you using?

I'm using ubuntu 14.04, running the latest master, and my make version is 3.81 (output of make --version).

Could you try:

Code: Select all

make BOARD=STM32F4DISC clean
and then do

Code: Select all

make BOARD=STM32F4DISC V=1
When I do:

Code: Select all

make BOARD=STM32F4DISC V=1
from a clean build then I get this output:

Code: Select all

mkdir -p build-STM32F4DISC/genhdr
Create build-STM32F4DISC/genhdr/pins.h
python boards/make-pins.py --board boards/STM32F4DISC/pins.csv --af boards/stm32f4xx_af.csv --prefix boards/stm32f4xx_prefix.c --hdr build-STM32F4DISC/genhdr/pins.h --qstr build-STM32F4DISC/pins_qstr.h --af-const build-STM32F4DISC/genhdr/pins_af_const.h --af-py build-STM32F4DISC/pins_af.py > build-STM32F4DISC/pins_STM32F4DISC.c
CPP ../py/qstrdefs.h
arm-none-eabi-gcc -E -I. -I../py -Ibuild-STM32F4DISC -Icmsis/inc -Icmsis/devinc -Ihal/inc -Iusbdev/core/inc -Iusbdev/class/cdc_msc_hid/inc -Ifatfs/src -Wall -Wpointer-arith -Werror -ansi -std=gnu99 -nostdlib  -mthumb -mtune=cortex-m4 -mabi=aapcs-linux -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -fsingle-precision-constant -Wdouble-promotion -Os -DNDEBUG -Iboards/STM32F4DISC -fdata-sections -ffunction-sections ../py/qstrdefs.h -o build-STM32F4DISC/genhdr/qstrdefs.preprocessed.h
makeqstrdata ../py/qstrdefs.h qstrdefsport.h build-STM32F4DISC/pins_qstr.h
python ../py/makeqstrdata.py build-STM32F4DISC/genhdr/qstrdefs.preprocessed.h qstrdefsport.h build-STM32F4DISC/pins_qstr.h > build-STM32F4DISC/genhdr/qstrdefs.generated.h
../py/py-version.sh > build-STM32F4DISC/genhdr/py-version.h.tmp
if [ -f "build-STM32F4DISC/genhdr/py-version.h" ] && cmp -s build-STM32F4DISC/genhdr/py-version.h build-STM32F4DISC/genhdr/py-version.h.tmp; then rm build-STM32F4DISC/genhdr/py-version.h.tmp; else echo "Generating build-STM32F4DISC/genhdr/py-version.h"; mv build-STM32F4DISC/genhdr/py-version.h.tmp build-STM32F4DISC/genhdr/py-version.h; fi
Generating build-STM32F4DISC/genhdr/py-version.h
mkdir -p build-STM32F4DISC/fatfs/src
mkdir -p build-STM32F4DISC/fatfs/src/option
mkdir -p build-STM32F4DISC/hal/src
mkdir -p build-STM32F4DISC/lib/libm
mkdir -p build-STM32F4DISC/py
mkdir -p build-STM32F4DISC/py/../extmod
mkdir -p build-STM32F4DISC/usbdev/class/cdc_msc_hid/src
mkdir -p build-STM32F4DISC/usbdev/core/src
CC ../py/nlrx86.S
arm-none-eabi-gcc -I. -I../py -Ibuild-STM32F4DISC -Icmsis/inc -Icmsis/devinc -Ihal/inc -Iusbdev/core/inc -Iusbdev/class/cdc_msc_hid/inc -Ifatfs/src -Wall -Wpointer-arith -Werror -ansi -std=gnu99 -nostdlib  -mthumb -mtune=cortex-m4 -mabi=aapcs-linux -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -fsingle-precision-constant -Wdouble-promotion -Os -DNDEBUG -Iboards/STM32F4DISC -fdata-sections -ffunction-sections -c -o build-STM32F4DISC/py/nlrx86.o ../py/nlrx86.S
...

Re: Error while building uPython for STM32F407 discovery boa

Posted: Tue Dec 02, 2014 10:34 am
by Domantas
I am using Debian wheezy

Code: Select all

Linux version 3.2.0-4-686-pae (debian-kernel@lists.debian.org) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Debian 3.2.63-2+deb7u1
make version is 3.81

I downloaded git zip from this url:

https://github.com/micropython/micropython

I assume, the issue must be related to some libs or something, as every example I found was on ubuntu. I managed to download debian package for arm-none-eabi-gcc from here:

https://packages.debian.org/sid/libs/li ... -none-eabi

Thanks for your quick response

Re: Error while building uPython for STM32F407 discovery boa

Posted: Wed Dec 10, 2014 12:13 am
by Damien
Downloading the latest micropython-master.zip file from micropython.org/download, and running make BOARD=STM32F4DISC in the stmhal directory works fine for me.

I suspect that your build process can't find arm-none-eabi-gcc. Is it in your path? Can you execute arm-none-eabi-gcc on the command line?

Re: Error while building uPython for STM32F407 discovery boa

Posted: Thu Dec 11, 2014 9:36 am
by Domantas
Got fed up with dealing with debian, setted up VM for ubuntu 14 and now I have everything working. The problem was (I guess) with toolchain and path, but when I repeated same steps for ubuntu, everything worked instantly.

Anyway, thank you guys for quick response and your help

Re: Error while building uPython for STM32F407 discovery board

Posted: Mon May 25, 2015 10:13 am
by rmq
Hello

I am trying to compile the sources for STM32F4 discovery kit on Fedora machine bit I get a compilation error . The path of the tool chain seems to be correct . The logs are as below :

[root@zinga stmhal]# make BOARD=STM32F4DISC V=1
CPP ../py/qstrdefs.h
arm-none-eabi-gcc -E -I. -I.. -Ibuild-STM32F4DISC -Icmsis/inc -Icmsis/devinc -Ihal/inc -Iusbdev/core/inc -Iusbdev/class/inc -I../lib/mp-readline -I../lib/netutils -I../lib/timeutils -Wall -Wpointer-arith -Werror -ansi -std=gnu99 -nostdlib -mthumb -mtune=cortex-m4 -mabi=aapcs-linux -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -fsingle-precision-constant -Wdouble-promotion -Os -DNDEBUG -Iboards/STM32F4DISC -fdata-sections -ffunction-sections ../py/qstrdefs.h -o build-STM32F4DISC/genhdr/qstrdefs.preprocessed.h
In file included from cmsis/inc/core_cm4.h:168:0,
from cmsis/devinc/stm32f407xx.h:184,
from cmsis/devinc/stm32f4xx.h:126,
from hal/inc/stm32f4xx_hal_def.h:48,
from hal/inc/stm32f4xx_hal_rcc.h:47,
from boards/STM32F4DISC/stm32f4xx_hal_conf.h:236,
from hal/inc/stm32f4xx_hal.h:48,
from ./mpconfigport.h:199,
from ../py/mpconfig.h:45,
from ../py/qstrdefs.h:27:
/usr/lib64/gcc/arm-none-eabi/4.7.3/include/stdint.h:3:26: fatal error: stdint.h: No such file or directory

I tried to find the path for stdint.h with the following command and I see it is present as below log.
[root@zinga include]# find $(dirname $(type -p arm-none-eabi-gcc))/.. -name stdint.h
/usr/bin/../lib64/gcc/arm-none-eabi/4.7.3/include/stdint.h
/usr/bin/../include/stdint.h
/usr/bin/../include/c++/4.8.2/tr1/stdint.h
/usr/bin/../lib/gcc/x86_64-redhat-linux/4.8.2/include/stdint.h

Can you please point out my mistake ? The version of arm-none-eabi is

arm-none-eabi-gcc --version
arm-none-eabi-gcc (Fedora 2013.05.23-1.fc20) 4.7.3
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

The version of Fedora machine is

uname -a
Linux zinga.dlh.com 3.11.10-301.fc20.x86_64 #1 SMP Thu Dec 5 14:01:17 UTC 2013 x86_64 x86_64 x86_64 GNU/Linu

Your support would be appreciated

Regards
RMQ

Re: Error while building uPython for STM32F407 discovery board

Posted: Mon May 25, 2015 4:45 pm
by dhylands
Sometimes installing the corresponding libc sorts this out.

Perhaps try install libnewlib-arm-none-eabi

If that fails, you should be able to install the linaro toolchain (which is what I've been using). It's self contained and all of the required bits and pieces.

https://launchpad.net/gcc-arm-embedded

It comes as a tarball which you unpack and then add the appropriate thing to your PATH. For me, I decided to put it into ~/stm

So I created ~/stm, and untarred the tarball while inside that directory and then added /home/dhylands/stm/gcc-arm-none-eabi-4_9-2014q4/bin to my PATH. The 4_(_2014q4 portion changes every quarter), so use the part that matches what you actually downloaded.

Re: Error while building uPython for STM32F407 discovery board

Posted: Thu May 28, 2015 4:02 am
by rmq
Thanks for the precious inputs . Your second advise worked out (https://launchpad.net/gcc-arm-embedded). I am able to compile the sources now.

Regards
RMQ