STM32 cross compilation #3

Closed
opened 2022-05-02 21:33:57 +02:00 by robben · 5 comments
robben commented 2022-05-02 21:33:57 +02:00 (Migrated from engi.evolpe.it)

Należy sprawdzić czy chociaż częściowa kompilacja projektu działa na target naszego urządzenia. Jak na razie cały projekt powinien móc się skompilować na stma, jak wejdzie ALSA to trzeba będzie zdefiniować osobny target.

@matdra potrzebujemy wiedzieć jakiego GCC potrzebujemy

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.2.0-7ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-ZPT0kp/gcc-11-11.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-ZPT0kp/gcc-11-11.2.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.2.0 (Ubuntu 11.2.0-7ubuntu2) 

Dla mojego kompilatora systemowego mamy target x86_64-linux-gnu. Musisz podobne polecenie zrobić ale dla binarki która kompiluje twój kod na STMa.

$ /ścieżka/do/gcc -v

@matpia chciałbyś może się podjąć postawienia tego kompilatora na kontenerze? Co jak co, ale ty kompilować gcc potrafisz najlepiej

Należy sprawdzić czy chociaż częściowa kompilacja projektu działa na target naszego urządzenia. Jak na razie cały projekt powinien móc się skompilować na stma, jak wejdzie ALSA to trzeba będzie zdefiniować osobny target. @matdra potrzebujemy wiedzieć jakiego GCC potrzebujemy ``` $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.2.0-7ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-ZPT0kp/gcc-11-11.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-ZPT0kp/gcc-11-11.2.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 11.2.0 (Ubuntu 11.2.0-7ubuntu2) ``` Dla mojego kompilatora systemowego mamy target `x86_64-linux-gnu`. Musisz podobne polecenie zrobić ale dla binarki która kompiluje twój kod na STMa. ``` $ /ścieżka/do/gcc -v ``` @matpia chciałbyś może się podjąć postawienia tego kompilatora na kontenerze? Co jak co, ale ty kompilować gcc potrafisz najlepiej
robben commented 2022-05-02 21:35:00 +02:00 (Migrated from engi.evolpe.it)

W sumie to powinniśmy zrekonstruować cały proces budowania, ale na razie sam cross compiler wystarczy IMO

W sumie to powinniśmy zrekonstruować cały proces budowania, ale na razie sam cross compiler wystarczy IMO
matpia commented 2022-05-07 13:10:18 +02:00 (Migrated from engi.evolpe.it)

Podejmę się przez weekend, znalazłem jakiś obraz, zobaczę jak wygląda Dockerfile i zbuduję kontener. Optymistycznie wygląda

Podejmę się przez weekend, znalazłem [jakiś obraz](https://github.com/mariobarbareschi/stm32-compiler-docker), zobaczę jak wygląda Dockerfile i zbuduję kontener. Optymistycznie wygląda
robben commented 2022-05-28 22:55:39 +02:00 (Migrated from engi.evolpe.it)

assigned to @matpia

assigned to @matpia
matpia commented 2022-06-04 14:18:40 +02:00 (Migrated from engi.evolpe.it)

Tak jak pokazywałem wcześniej, stoi kontener który kompilował pod ARM, natomiast kompilował C, nie C++.

Tak jak pokazywałem wcześniej, stoi kontener który kompilował pod ARM, natomiast kompilował C, nie C++.
matpia commented 2022-06-17 23:05:11 +02:00 (Migrated from engi.evolpe.it)

@matdra potrzebna byłaby informacja która wersja kompilatora jest potrzebna w kontekście kompilacji na STM32, którego używamy w projekcie.

@matdra potrzebna byłaby informacja która wersja kompilatora jest potrzebna w kontekście kompilacji na STM32, którego używamy w projekcie.
Sign in to join this conversation.
No Label
bug
enhancement
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: s416496/musique#3
No description provided.