public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
* Trouble building spec. toolchain for ARM Hi3531
@ 2014-04-21 15:16 Nikita Orlov
  2014-04-21 15:28 ` Nikita Orlov
  0 siblings, 1 reply; 4+ messages in thread
From: Nikita Orlov @ 2014-04-21 15:16 UTC (permalink / raw)
  To: crossgcc

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Trouble building spec. toolchain for ARM Hi3531
  2014-04-21 15:16 Trouble building spec. toolchain for ARM Hi3531 Nikita Orlov
@ 2014-04-21 15:28 ` Nikita Orlov
  2014-04-22  2:56   ` Zhenqiang Chen
  0 siblings, 1 reply; 4+ messages in thread
From: Nikita Orlov @ 2014-04-21 15:28 UTC (permalink / raw)
  To: crossgcc

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Trouble building spec. toolchain for ARM Hi3531
  2014-04-21 15:28 ` Nikita Orlov
@ 2014-04-22  2:56   ` Zhenqiang Chen
  2014-04-22  4:28     ` Nikita Orlov
  0 siblings, 1 reply; 4+ messages in thread
From: Zhenqiang Chen @ 2014-04-22  2:56 UTC (permalink / raw)
  To: Nikita Orlov; +Cc: crossgcc

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
>

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Trouble building spec. toolchain for ARM Hi3531
  2014-04-22  2:56   ` Zhenqiang Chen
@ 2014-04-22  4:28     ` Nikita Orlov
  0 siblings, 0 replies; 4+ messages in thread
From: Nikita Orlov @ 2014-04-22  4:28 UTC (permalink / raw)
  To: Zhenqiang Chen; +Cc: crossgcc

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-04-22  4:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-21 15:16 Trouble building spec. toolchain for ARM Hi3531 Nikita Orlov
2014-04-21 15:28 ` Nikita Orlov
2014-04-22  2:56   ` Zhenqiang Chen
2014-04-22  4:28     ` Nikita Orlov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).