Trouble building spec. toolchain for ARM Hi3531

Nikita Orlov nikitos1550@yandex.ru
Tue Apr 22 04:28:00 GMT 2014


Hello!

Using built-in specs.
Target: arm-hisiv200-linux-gnueabi
Configured with: ../gcc-4.4-2010q1/configure --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --target=arm-hisiv200-linux-gnueabi --prefix=/home/c00132816/toolchain_glibc/install/arm-hisiv200-linux --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-arch=armv5te --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-lto --enable-symvers=gnu --enable-__cxa_atexit --disable-nls --enable-extra-hisi-multilibs --with-sysroot=/home/c00132816/toolchain_glibc/install/arm-hisiv200-linux/target --with-build-sysroot=/home/c00132816/toolchain_glibc/install/arm-hisiv200-linux/target --with-gmp=/home/c00132816/toolchain_glibc/install/host_lib --with-mpfr=/home/c00132816/toolchain_glibc/install/host_lib --with-ppl=/home/c00132816/toolchain_glibc/install/host_lib --with-cloog=/home/c00132816/toolchain_glibc/install/host_lib --with-libelf=/home/c00132816/toolchain_glibc/install/host_lib --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bstatic -lm' --enable-libgomp --enable-poison-system-directories --with-libelf=/home/c00132816/toolchain_glibc/install/host_lib --with-pkgversion='Hisilicon_v200(gcc4.4-290+glibc-2.11+eabi+nptl)' --with-bugurl=http://www.hisilicon.com/cn/service/claim.html
Thread model: posix
gcc version 4.4.1 (Hisilicon_v200(gcc4.4-290+glibc-2.11+eabi+nptl)) 


Linaro (version https://launchpad.net/linaro-toolchain-binaries/trunk/2012.04/+download/gcc-linaro-arm-linux-gnueabi-2012.04-20120426_linux.tar.bz2) don`t work

But, I have tested buildroot internal toolchain, it works! I don`t know why... It is very strange.

./arm-buildroot-linux-gnueabi-gcc -v
Using built-in specs.
COLLECT_GCC=./arm-buildroot-linux-gnueabi-gcc
COLLECT_LTO_WRAPPER=/home/nikita/Downloads/123/Hi3531/01.software/board/Hi3531_SDK_V2.0.8.0/MY/buildroot/output/host/usr/libexec/gcc/arm-buildroot-linux-gnueabi/4.8.2/lto-wrapper
Target: arm-buildroot-linux-gnueabi
Configured with: ./configure --prefix=/home/nikita/Downloads/123/Hi3531/01.software/board/Hi3531_SDK_V2.0.8.0/MY/buildroot/output/host/usr --sysconfdir=/home/nikita/Downloads/123/Hi3531/01.software/board/Hi3531_SDK_V2.0.8.0/MY/buildroot/output/host/etc --enable-shared --enable-static --target=arm-buildroot-linux-gnueabi --with-sysroot=/home/nikita/Downloads/123/Hi3531/01.software/board/Hi3531_SDK_V2.0.8.0/MY/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot --disable-__cxa_atexit --with-gnu-ld --disable-libssp --disable-multilib --with-gmp=/home/nikita/Downloads/123/Hi3531/01.software/board/Hi3531_SDK_V2.0.8.0/MY/buildroot/output/host/usr --with-mpfr=/home/nikita/Downloads/123/Hi3531/01.software/board/Hi3531_SDK_V2.0.8.0/MY/buildroot/output/host/usr --enable-target-optspace --disable-libquadmath --enable-tls --disable-libmudflap --enable-threads --with-mpc=/home/nikita/Downloads/123/Hi3531/01.software/board/Hi3531_SDK_V2.0.8.0/MY/buildroot/output/host/usr --disable-decimal-float --with-arch=armv7-a --with-abi=aapcs-linux --with-cpu=cortex-a9 --with-fpu=vfpv3-d16 --with-float=softfp --with-mode=arm --with-pkgversion='Buildroot 2014.05-git-00854-gdd61213' --with-bugurl=http://bugs.buildroot.net/ --enable-languages=c,c++ --with-build-time-tools=/home/nikita/Downloads/123/Hi3531/01.software/board/Hi3531_SDK_V2.0.8.0/MY/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/bin --disable-libgomp
Thread model: posix
gcc version 4.8.2 (Buildroot 2014.05-git-00854-gdd61213) 

Here is /proc/cpuinfo from original kernel, maybe it will be usefull

# cat /proc/cpuinfo 
Processor: ARMv7 Processor rev 0 (v7l)
processor: 0
BogoMIPS: 1849.75

processor: 1
BogoMIPS: 1856.30

Features: swp half thumb fastmult vfp edsp vfpv3 vfpv3d16 
CPU implementer: 0x41
CPU architecture: 7
CPU variant: 0x3
CPU part: 0xc09 
CPU revision: 0

Hardware: godnet
Revision: 0000
Serial: 0000000000000000

22.04.2014, 06:56, "Zhenqiang Chen" <zhenqiang.chen@linaro.org>:
> Can you show the default config for arm-hisiv200-linux-gcc?
>
> arm-hisiv200-linux-gcc -v
>
> Please try Linaro 4.7 release. If it works, you can use the same
> config for your build.
>
> https://launchpad.net/linaro-toolchain-binaries/trunk/2012.04/+download/gcc-linaro-arm-linux-gnueabi-2012.04-20120426_linux.tar.bz2
>
> On 21 April 2014 23:28, Nikita Orlov <nikitos1550@yandex.ru> wrote:
>
>>  P.S.
>>  Architecture level = armv7-a
>>
>>  21.04.2014, 19:16, "Nikita Orlov" <nikitos1550@yandex.ru>:
>>>  Hello!
>>>
>>>  I have maybe strange problem, my knowledge is not enough to solve it, so I`m try to find help here.
>>>
>>>  I have a board with ARM SoC Hi3531. Brief datasheet - http://www.hkvstar.com/pdf/Hi3531.pdf
>>>  Specs of processor is:
>>>  ARM Cortex A9 dual cores
>>>  - Up to 930 MHz
>>>  - 32 KB I-cache and 32 KB D-cache
>>>  - 256 KB L2 cache
>>>
>>>  I have an SDK for it. SDK contains linux kernel 3.0.8 with some editions for support this device (march-godnet dir in /arch/arm).
>>>  Toolchain is arm-hisiv200-linux-gcc (Hisilicon_v200(gcc4.4-290+glibc-2.11+eabi+nptl)) 4.4.1
>>>  There are some precompiled modules for this SoC. Note said that:
>>>
>>>  Hi3531 support hardware floating-point. And all libs in default file system are compiled to hardware floating-point. So it's strongly recommen$
>>>    CFLAGS += -march=armv7-a -mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16
>>>    CXXFlAGS +=-march=armv7-a -mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16
>>>
>>>  So, as I understand my ARM is
>>>  armv7-a, cortex-a9, softfp, vfpv3-d16
>>>
>>>  On the board there is installed U-boot to SPI slash memory chip. I can connect to board via serial port and get access to U-boot.
>>>  So, I can use my kernel via usb or TFTP and edit kernel boot params.
>>>
>>>  If I compile kernel with toolchain from SDK, everything is good, kernel loads.
>>>
>>>  I try to build my own toolchain for this SoC, with last gcc, binutils and glibc via crosstool-NG 1.9.0
>>>  I have a number of different configs for crosstool-NG, it builds toolchain with no errors, but when I compile kernel (it builds ok), after booting it
>>>  via U-boot nothing happens, no errors just a string
>>>  Uncopressed kernel ok, booting... (something like this words)
>>>  After it usually there is some boot log, but it seems something goes wrong.
>>>
>>>  I think my mistake is somewhere in configuring Target options menu (ct-ng menuconfig)
>>>  I choose:
>>>  Target Architecture - arm
>>>  Suffix to the arch-part - nothing
>>>  Build a multilib toolchain - NO
>>>  Use the MMU - Yes (SoC supports it)
>>>  Endianness: - Little endian
>>>  Bitness: - 32-bit
>>>  Architecture level
>>>  Emit assembly for CPU - cortex-a9
>>>  Tune for CPU - nothing
>>>  Use specific FPU vfpv3-d16
>>>  Floating point: softfp
>>>  Target CFLAGS - nothing
>>>  Target LDFLAGS - nothing
>>>  Default instruction set mode - arm
>>>  Use Thumb-interworking - no
>>>  Use EABI - YES
>>>
>>>  I use headers from my kernel tree.
>>>  gcc - 4.8.1
>>>
>>>  As I understand settings of binutls, glibc, and others don`t affects step of kernel building and booting, so I left them defaults.
>>>
>>>  So, I think I need to config Target options right to build and boot kernel.
>>>  I`m asking for advice or way to solve this.
>>>
>>>  Thanks!
>>>
>>>  --
>>>  Nikita Orlov
>>>  Skype: nik_stet
>>>  QQ: 2717846083
>>>
>>>  --
>>>  For unsubscribe information see http://sourceware.org/lists.html#faq
>>  --
>>  Nikita Orlov
>>  Skype: nik_stet
>>  QQ: 2717846083
>>
>>  --
>>  For unsubscribe information see http://sourceware.org/lists.html#faq

-- 
Nikita Orlov
Skype: nik_stet
QQ: 2717846083


More information about the crossgcc mailing list