Hello,
thank you really much for this forum/community! I'm trying to compile the following source code: https://github.com/j1nx/Amlogic-reff16-uboot
The reason why I'm compiling this sources are that I'm getting started with ARM devices. Especially I'm getting started with an Amlogic 8726-MX SoC which includes an ARM Cortex A9 with ARMv7 instruction set and a graphic chip ARM Mali 400-MP.
To compile the sources I did the following: 1. I changed into the directory with cd command from the sources /
2. I typed make m3_socket -> this command is going to compile the amlogic platform from board/amlogic the other board directories aren't needed.
The error I'm getting is the following: bin/sh: 1: arc-elf32-cpp: not found
I searched alot and can't find the arc-elf32-cpp compiler. I thought that I'm compiling software for ARM processors, but not for ARC processors. Is it true that ARC is also an processor architecture like ARM is an architecture? Or is it correct to compile for arc to get ARM binaries?
Regards,
Johannes
I would certainly have thought that arc- at the beginning meant it was compiling for the ARC processors from Synopsys. The U-Boot can be compiled for a number of different processors and it sounds like yours hasn't been configured to produce Arm code instead of ARC. Have you read the readfiles - what told you to use that make command?
@daith Thank you really much for your quick answer.
I'm following these instructions: http://www.cnx-software.com/2012/11/22/amlogic-releases-u-boot-and-updated-linux-kernel-source-code/
It's correct that I'm not using the u-boot-next source package, because in the github is the u-boot package where also my Amlogic SoC platform is supported.
I followed this guide from cnx-software.com but I don't know why ARC is needed.
I would be really happy for help.
Regards from Germany,
This topic is really important for me, because I need my own compiled bootloader for my tablet ARM Cortex A9 with Amlogic 8726-MX SoC, to enable alot of functionalities.
Oh I see the source is from five years ago and the directions too so they should probably work together. I would guess it requires the ARC toolchain to do some setup, the arc-elf32-cpp binary you are missing is a C preprocessor rather than the compiler. So basically you followed the instructions to make the ARC toolchain and iit didn't set up this very important binary? It should have been set up at the stage where the directions say "Build the ARC elf32 toolchain" and the next step listed there is to add its installation directory to your path so it can be used. If you made th ARC toolchain okay you probably have it but not got it on your path currently.
I understood now that cpp is not a compiler, it's a c preprocessor.
So I might be able to use arm-none-eabi-cpp instead of arc-elf32-cpp?? I think it wouldn't make any difference? I think in the makefile from board/amlogic/m3_socket need to be edited so that arm-none-eabi-cpp is used.
I'm having an ARM Cortex A9 processor inside my Amlogic 8726-MX SoC, so I need a c preprocessor from ARM and not for ARC processors, or?
@daith Thank you really much for your help so far.
Regards.
daith said:what told you to use that make command?
I'm trying to compile U-Boot for my Amlogic 8726-MX SoC which includes an ARM Cortex A9 processor. I've looked in the existing U-Boot bootloader binary, there I see that the Amlogic hardware platform is M3, even the software is using the string M3HHREV0, which aims to the m3_socket.
So that's the reason why it's "requiring" arc-elf32-cpp, that's now my question, would arm-none-eabi-cpp do it's job too?
Yep that should work fine. Preprocessors can have predefined constants for different targets but I would guess that is quite unlikely to be a problem here..
@daith Thanks for your answer. I'll start tomorrow to compile the old 2011 U-Boot for my Amlogic 8726-MX SoC which is on a M805NC-MB Yifang mainboard.
It's cool that the Makefile is controllin the build process, it would be wonderful to not need arc-elf32-cpp to have built, because it's an extra which i don't want. I want to keep it simple as possible, till the not simple section of programming and understanding and performance comes.
The important and neccessary sources will be ported to U-Boot 2017 and I hope to add great functions and unlock really nice features of my tablet. Like repartitioning the storage, two way boot: Linux Kernel from ext4 and ramdisk from ext4 too, and not out of the kernel image which is in the middle.
It's a cool project. Thanks so far. I just needed the start to get it rollin
Johannes <from Germany>
Hi Johannes,
I may will say a big mistake but it seems to me :elf32 is an old notation under Linux, associated to an 32bit Arch undefined, so it may be an x86...you can use it if you are in a full native mode only
One way to correct is to use a cross compile chain : arm-none-eabi clearly associated to an Arm 32bit
All depend on which arch you will work on in reality (native or not(QEMU for ex.))
Have some explains about on this linkhttp://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.subset.swdev.abi/index.htmlhttps://wiki.debian.org/X32Port
Thank you for your answer, I got now my U-Boot source code compiled, it's nearly 100% that inside my Amlogic 8726-MX SoC is also an ARC processor too.
I need now to focus on the mali drivers.