Re: [gentoo-user] crossdev arm-unknown-linux-gnu failed
On 05/28 12:11, Raffaele Belardi wrote: > Jeremi Piotrowski wrote: > > On Sun, May 27, 2018 at 05:06:43AM +0200, tu...@posteo.de wrote: > >> Hi, > >> > >> too feed a STM32F103C8T6 MCU (Core-M3) with some code to execute, > >> I want a compiler. For that I did a > >> > >> crossdev arm-unknown-linux-gnu > >> > >> . That one failed to build (gcc, binytils seem to be ok). > >> > > That triplet is not going to work for that hardware for two reasons: > > > > - bare-metal implies no kernel so 'linux' is wrong > > - gnu (== glibc) is not going to work on bare-metal > > > > What you're looking for is 'arm-none-eabi', that's what all the vendor > > supplied prebuilt toolchains use. That triplet will use 'newlib' as the > > libc, which is the correct choice for bare-metal. > > > > I wouldv'e said 'arm-unknown-linux-eabi' or the gentoo specific > > 'armv7m-softfloat-none-eabi' but for some reasons the binutils > > build chokes on that. However compared to arm-none-eabi the only thing > > these triplets do is change some of the configured defaults (arch/fpu/..., > > see /usr/portage/eclass/toolchain.eclass), so you should be fine with > > 'arm-none-eabi'. > > > > arm-none-eabi is also what I'm using here on a similar platform. > > To the OP, if you only need to build some program for ARM and not install a > gentoo system > on the target then you could download the pre-built cross-compiler toolchain > from the ARM > site (https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads). > > raffaele > Hi Raffaele, your suggestion put a friendly smile onto my face: No, I dont want compile a Gentoo System... :) I want to compile a FORTH (Mecrisp Stellaris by Matthias Koch) for an STM32F103C8T6 (72Mhz, one core, 128Kb Flash 20kb RAM). This is jut 0.23 nm above "pure assembler". So your suggestion is very welcome and exactlu what I need after quite a few failed iterations about the name of that game. Thanks a lot, Raffaele! This day has been rescued! :) ;) Cheers! Meino For those, who may like a quirky yet genious programming language and who are not frightened by its age or by being responsible for the stack themselves: https://en.wikipedia.org/wiki/Forth_(programming_language) Still a good thing for microcontrollers due to its compact size, small footprint and excellent exection speed due to the fact, that Mecrisp Stellaris compiles to native assembler right on the board. This language is compiler and interpreter at the same time. http://hightechdoc.net/mecrisp-stellaris/_build/html/ http://mecrisp.sourceforge.net/ https://sourceforge.net/projects/mecrisp/files/ The STM32F103C8T6 minimum dev board aka "blue pill" can be bought online for under 2 $. No...this is not meant aa an advertisement...I am only a nerd... ;) And the above is all OpenSource! Cheers again! Meino
Re: [gentoo-user] crossdev arm-unknown-linux-gnu failed
Jeremi Piotrowski wrote: > On Sun, May 27, 2018 at 05:06:43AM +0200, tu...@posteo.de wrote: >> Hi, >> >> too feed a STM32F103C8T6 MCU (Core-M3) with some code to execute, >> I want a compiler. For that I did a >> >> crossdev arm-unknown-linux-gnu >> >> . That one failed to build (gcc, binytils seem to be ok). >> > That triplet is not going to work for that hardware for two reasons: > > - bare-metal implies no kernel so 'linux' is wrong > - gnu (== glibc) is not going to work on bare-metal > > What you're looking for is 'arm-none-eabi', that's what all the vendor > supplied prebuilt toolchains use. That triplet will use 'newlib' as the > libc, which is the correct choice for bare-metal. > > I wouldv'e said 'arm-unknown-linux-eabi' or the gentoo specific > 'armv7m-softfloat-none-eabi' but for some reasons the binutils > build chokes on that. However compared to arm-none-eabi the only thing > these triplets do is change some of the configured defaults (arch/fpu/..., > see /usr/portage/eclass/toolchain.eclass), so you should be fine with > 'arm-none-eabi'. > arm-none-eabi is also what I'm using here on a similar platform. To the OP, if you only need to build some program for ARM and not install a gentoo system on the target then you could download the pre-built cross-compiler toolchain from the ARM site (https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads). raffaele
Re: [gentoo-user] crossdev arm-unknown-linux-gnu failed
On Sun, May 27, 2018 at 05:06:43AM +0200, tu...@posteo.de wrote: > Hi, > > too feed a STM32F103C8T6 MCU (Core-M3) with some code to execute, > I want a compiler. For that I did a > > crossdev arm-unknown-linux-gnu > > . That one failed to build (gcc, binytils seem to be ok). > That triplet is not going to work for that hardware for two reasons: - bare-metal implies no kernel so 'linux' is wrong - gnu (== glibc) is not going to work on bare-metal What you're looking for is 'arm-none-eabi', that's what all the vendor supplied prebuilt toolchains use. That triplet will use 'newlib' as the libc, which is the correct choice for bare-metal. I wouldv'e said 'arm-unknown-linux-eabi' or the gentoo specific 'armv7m-softfloat-none-eabi' but for some reasons the binutils build chokes on that. However compared to arm-none-eabi the only thing these triplets do is change some of the configured defaults (arch/fpu/..., see /usr/portage/eclass/toolchain.eclass), so you should be fine with 'arm-none-eabi'.
Re: [gentoo-user] crossdev arm-unknown-linux-gnu failed
On 05/26 11:00, R0b0t1 wrote: > On Sat, May 26, 2018 at 10:35 PM, Andrew Udvarewrote: > > > > > >> On 2018-05-26, at 23:32, Andrew Udvare wrote: > >> > >> You probably mean to use another triple name. The last part is the C > >> library, so you probably mean: > >> > >> arm-unknown-Linux-glibc > > > > That is: > > > > arm-unknown-linux-glic > > > > It is case-sensitive. > > > > You may need to fix the profile yourself, but the typical triplet is > now "arm-linux-gnueabihf." There is a tracker issue on this. Most > things compile for me, some breakage in @system. > > Cheers, > R0b0t1 > Hi, the target is a STM32F03C8T6 (the typical "Blue Pill" dev board), this MCU has no FPU so "hf" (hardfloat) seems to be wrong to me... And maybe a noob-question: What profile do you mean? Cheers Meino
Re: [gentoo-user] crossdev arm-unknown-linux-gnu failed
On Sat, May 26, 2018 at 10:35 PM, Andrew Udvarewrote: > > >> On 2018-05-26, at 23:32, Andrew Udvare wrote: >> >> You probably mean to use another triple name. The last part is the C >> library, so you probably mean: >> >> arm-unknown-Linux-glibc > > That is: > > arm-unknown-linux-glic > > It is case-sensitive. > You may need to fix the profile yourself, but the typical triplet is now "arm-linux-gnueabihf." There is a tracker issue on this. Most things compile for me, some breakage in @system. Cheers, R0b0t1
Re: [gentoo-user] crossdev arm-unknown-linux-gnu failed
> On 2018-05-26, at 23:32, Andrew Udvarewrote: > > You probably mean to use another triple name. The last part is the C library, > so you probably mean: > > arm-unknown-Linux-glibc That is: arm-unknown-linux-glic It is case-sensitive. --- Andrew
Re: [gentoo-user] crossdev arm-unknown-linux-gnu failed
> On 2018-05-26, at 23:06, tu...@posteo.de wrote: > > Hi, > > too feed a STM32F103C8T6 MCU (Core-M3) with some code to execute, > I want a compiler. For that I did a > >crossdev arm-unknown-linux-gnu > > . That one failed to build (gcc, binytils seem to be ok). > > Unfortunately I did not really understand, what the great concerto > of logfiles (attached) are want to tell me. On the internet I found > an older thread of a person who seems (?) to have similiar problems > with the same target compiler, but no solution there was. > > I am running Gentoo linux on a AMD Phenom(tm) II X6 1090T Processor. > This is a 64 bit system. The system is updated regularly. > > I would be very happy, if someone, who better understand the topic, > could help me to get this thing running -- thank you very much in > advance for any help! I see in your log: Configuration arm-unknown-linux-gnu not supported You probably mean to use another triple name. The last part is the C library, so you probably mean: arm-unknown-Linux-glibc --- Andrew
[gentoo-user] crossdev arm-unknown-linux-gnu failed
Hi, too feed a STM32F103C8T6 MCU (Core-M3) with some code to execute, I want a compiler. For that I did a crossdev arm-unknown-linux-gnu . That one failed to build (gcc, binytils seem to be ok). Unfortunately I did not really understand, what the great concerto of logfiles (attached) are want to tell me. On the internet I found an older thread of a person who seems (?) to have similiar problems with the same target compiler, but no solution there was. I am running Gentoo linux on a AMD Phenom(tm) II X6 1090T Processor. This is a 64 bit system. The system is updated regularly. I would be very happy, if someone, who better understand the topic, could help me to get this thing running -- thank you very much in advance for any help! Cheers! Meino PS: Logfiles are attached as mentioned in the below outout: Last output of the process to console was: - * crossdev version: 20180508 * Host Portage ARCH: amd64 * Target Portage ARCH: arm * Target System: arm-unknown-linux-gnu * Stage: 4 (C/C++ compiler) * USE=multilib: no * ABIs: default * binutils: binutils-[latest] * gcc: gcc-[latest] * headers: linux-headers-[latest] * libc: glibc-[latest] * CROSSDEV_OVERLAY: /usr/local/portage * PORT_LOGDIR: /var/log/portage * PORTAGE_CONFIGROOT:/ * Portage flags: * leaving sys-devel/binutils in /usr/local/portage * leaving sys-devel/gcc in /usr/local/portage * leaving sys-kernel/linux-headers in /usr/local/portage * leaving sys-libs/glibc in /usr/local/portage * leaving sys-devel/gdb in /usr/local/portage * leaving metadata/layout.conf alone in /usr/local/portage * Log: /var/log/portage/cross-arm-unknown-linux-gnu-binutils.log * Emerging cross-binutils ... [ ok ] * Log: /var/log/portage/cross-arm-unknown-linux-gnu-linux-headers-quick.log * Emerging cross-linux-headers-quick ... [ ok ] * Log: /var/log/portage/cross-arm-unknown-linux-gnu-glibc-headers.log * Emerging cross-glibc-headers ... [ ok ] * Log: /var/log/portage/cross-arm-unknown-linux-gnu-gcc-stage1.log * Emerging cross-gcc-stage1 ... * error: gcc failed :( * * If you file a bug, please attach the following logfiles: * /var/log/portage/cross-arm-unknown-linux-gnu-info.log * /var/log/portage/cross-arm-unknown-linux-gnu-gcc-stage1.log.xz * /var/tmp/portage/cross-arm-unknown-linux-gnu/gcc*/temp/gcc-config.logs.tar.xz [1]18278 exit 1 crossdev arm-unknown-linux-gnu - [m[1m[32m*(B[m crossdev version: 20180508 (B[m[1m[32m*(B[m Host Portage ARCH: amd64 [m[1m[32m*(B[m Target Portage ARCH: arm [m[1m[32m*(B[m Target System: arm-unknown-linux-gnu [m[1m[32m*(B[m Stage: 4 (C/C++ compiler) [m[1m[32m*(B[m USE=multilib: no [m[1m[32m*(B[m ABIs: default [m[1m[32m*(B[m binutils: binutils-[latest] (B[m[1m[32m*(B[m gcc: gcc-[latest] (B[m[1m[32m*(B[m headers: linux-headers-[latest] (B[m[1m[32m*(B[m libc: glibc-[latest] (B[m[1m[32m*(B[m CROSSDEV_OVERLAY: /usr/local/portage [m[1m[32m*(B[m PORT_LOGDIR: /var/log/portage [m[1m[32m*(B[m PORTAGE_CONFIGROOT:/ [m[1m[32m*(B[m Portage flags: Portage 2.3.40 (python 2.7.14-final-0, default/linux/amd64/17.0/no-multilib, gcc-7.3.0, glibc-, 4.16.12-RT x86_64) = System uname: Linux-4.16.12-RT-x86_64-AMD_Phenom-tm-_II_X6_1090T_Processor-with-gentoo-2.5 KiB Mem: 8222068 total, 5037600 free KiB Swap:6291452 total, 6291452 free Timestamp of repository gentoo: Sun, 27 May 2018 02:30:01 + Head commit of repository gentoo: 090b200fa862768e5db2ad569d32fa42f495408b sh bash 4.4_p19 ld GNU ld (Gentoo 2.30 p2) 2.30.0 app-shells/bash: 4.4_p19::gentoo dev-java/java-config: 2.2.0-r4::gentoo dev-lang/perl:5.26.2::gentoo dev-lang/python: 2.7.14-r2::gentoo, 3.5.5-r1::gentoo, 3.6.5-r1::gentoo dev-util/cmake: 3.11.2::gentoo