How to compile BigClown firmware on Raspberry Pi


#1

Hello there,

I have recently purchased and assembled some weather kits and more. I was successful in pairing devices and even with MQTT integration. Now I would like to move on and program my own code.

Problem:
When I first have tried some blank project. It created successfuly, but the make command does not work. It says:

pi@hub:~/mybigclownprojects/lcd-module-test $ make
Clean output …
Compiling: app/application.c
make[1]: arm-none-eabi-gcc: Command not found
sdk/Makefile.mk:340: recipe for target ‘obj/debug/app/application.o’ failed
make[1]: *** [obj/debug/app/application.o] Error 127
sdk/Makefile.mk:171: recipe for target ‘debug’ failed
make: *** [debug] Error 2

I am working on Raspberry Pi 3 with BigClown version of Raspbian.

Any help will be very appreciated.


#2

Hi,
How did you prepared “blank firmware”?


#3

What do you mean by prepared? I have used the bcf create command as the documentation said. Then cd to the project folder and make which thrown the error.


#4

Just tested and works for me. According to log, you have some issue with call arm-none-eabi-gcc command.

Did you installed toolchain?

[07:57:17 marian@worker test_abc (master)]$ type arm-none-eabi-
arm-none-eabi-addr2line   arm-none-eabi-c++filt     arm-none-eabi-gcc         arm-none-eabi-gcc-6.3.1   arm-none-eabi-gdb         arm-none-eabi-ld.bfd      arm-none-eabi-ranlib      arm-none-eabi-strip
arm-none-eabi-ar          arm-none-eabi-cpp         arm-none-eabi-gcc-ar      arm-none-eabi-gcov        arm-none-eabi-gdb-py      arm-none-eabi-nm          arm-none-eabi-readelf     
arm-none-eabi-as          arm-none-eabi-elfedit     arm-none-eabi-gcc-nm      arm-none-eabi-gcov-dump   arm-none-eabi-gprof       arm-none-eabi-objcopy     arm-none-eabi-size        
arm-none-eabi-c++         arm-none-eabi-g++         arm-none-eabi-gcc-ranlib  arm-none-eabi-gcov-tool   arm-none-eabi-ld          arm-none-eabi-objdump     arm-none-eabi-strings     
[07:57:17 marian@worker test_abc (master)]$ type arm-none-eabi-gcc
arm-none-eabi-gcc je /opt/gcc-arm-none-eabi-6/bin/arm-none-eabi-gcc

#5

I did not installed toolchain I have pressumed it is installed on the default raspbian image.


#6

Well, BC uses different CPU so needs special compiler, linker… All is in toolchain.


#7

OK, thank you for the information. Is there any manual how to install it on the raspberry or do I have to use the “Setup on Generic Linux” guide?

edit:
I have tried the Setup on Generic Linux and it says I have everything up to date. When I tried to make, the same problem as in first post appeared.


#8

It looks like the toolchain setup needs update. There is “gcc-arm-none-eabi-6” mentioned, but on page is “gcc-arm-none-eabi-7” already.

Please check all steps and replace “6” with “7”.


#9

Thank you very much, I will try it, but I am leaving internet connection now. I just installed the toolchain on my notebook and will use it instead of RPi.

Thank you again and have a nice weekend!


#10

Hello,

You have to install arm gcc on your Raspberry Pi, then compilation works

sudo apt install gcc-arm-none-eabi

we did not put arm-none-eabi-gcc package to the bc-raspbian on purpose. It would make the image much bigger and the most users do not compile on Rpi.
We have internally discussed that we could create two releases of bc-raspbian - the usual and bigger with arm GCC compiler. I think for now it would be fine to mention installation of this package somewhere in the documentation. I fix that soon.