Trouble building spec. toolchain for ARM Hi3531

Nikita Orlov nikitos1550@yandex.ru
Mon Apr 21 15:28:00 GMT 2014


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



More information about the crossgcc mailing list