All of lore.kernel.org
 help / color / mirror / Atom feed
* any success with spartan6-lx9mb?
@ 2012-09-04  2:25 Trevor Woerner
  2012-09-06 15:19 ` Elvis Dowson
  0 siblings, 1 reply; 23+ messages in thread
From: Trevor Woerner @ 2012-09-04  2:25 UTC (permalink / raw)
  To: yocto

Hi,

I was playing around with the meta-xilinx layer and tried to build
"core-image-minimal" for the spartan6 without success. I was wondering
if anyone has tried this lately and/or if anyone has any tips to
suggest?

configuration:

I'm using the latest HEAD:
    BB_VERSION        = "1.15.3"
    TARGET_ARCH       = "microblaze"
    TARGET_OS         = "linux"
    MACHINE           = "spartan6-lx9mb"
    DISTRO            = "poky"
    DISTRO_VERSION    = "1.2+snapshot-20120904"
    TUNE_FEATURES     = "m32 microblazeel"
    TARGET_FPU        = "soft"
    meta
    meta-yocto        = "master:37c8597e7600385367257e8a513e003947ebef5b"
    meta-xilinx       = "master:d196fa93c7ff5e080d4c44e2b83aed472f32b2c7"

conf/local.conf:
    BB_NUMBER_THREADS = "4"
    PARALLEL_MAKE = "-j 4"
    MACHINE ??= "spartan6-lx9mb"
    DL_DIR = "/home/trevor/devel/Downloads"
    DISTRO ?= "poky"
    PACKAGE_CLASSES ?= "package_rpm"
    EXTRA_IMAGE_FEATURES = "debug-tweaks"
    USER_CLASSES ?= "buildstats image-mklibs image-prelink"
    PATCHRESOLVE = "noop"
    CONF_VERSION = "1"

conf/bblayers.conf:
    LCONF_VERSION = "5"
    BBPATH = "${TOPDIR}"
    BBFILES ?= ""
    BBLAYERS ?= " \
      /home/trevor/devel/yocto/git-method/poky/meta \
      /home/trevor/devel/yocto/git-method/poky/meta-yocto \
      /home/trevor/devel/yocto/git-method/poky/meta-xilinx \
      "

issues:

The first problem I encountered was trying to build gcc-cross-initial:
    This target does not support --with-float.

I was able to get around this with the following (very silly) patch:
diff --git a/meta/recipes-devtools/gcc/gcc-common.inc
b/meta/recipes-devtools/gcc/gcc-common.inc
index 72180db..cb3a8cf 100644
--- a/meta/recipes-devtools/gcc/gcc-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-common.inc
@@ -12,8 +12,6 @@ FILESDIR = "${@os.path.dirname(d.getVar('FILE',1))}/gcc-${PV}"
 def get_gcc_fpu_setting(bb, d):
     if d.getVar('ARMPKGSFX_EABI', True) == "hf" and
d.getVar('TRANSLATED_TARGET_ARCH', True) == "arm":
         return "--with-float=hard"
-    if d.getVar('TARGET_FPU', True) in [ 'soft' ]:
-        return "--with-float=soft"
     if d.getVar('TARGET_FPU', True) in [ 'ppc-efd' ]:
         return "--enable-e500_double"
     return ""
-- 


Although I could get past this point, bitbaking again led to the
following problem with the same, gcc-cross-initial, recipe:

opening microblaze-c.o: No such file or directory
make[1]: *** [cc1-checksum.c] Error 1
rm cpp.pod gcov.pod gfdl.pod gcc.pod fsf-funding.pod
make[1]: Leaving directory
`/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/work/microblazeel-poky-linux/gcc-cross-initial-4.7.1.0+git1+d07e24f4ab59f264d68d21838795349faab5dede-r11/gcc-4_7-branch/build.x86_64-linux.microblaze-poky-linux/gcc'
make: *** [all-gcc] Error 2
ERROR: oe_runmake failed
ERROR: Function failed: do_compile


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

* Re: any success with spartan6-lx9mb?
  2012-09-04  2:25 any success with spartan6-lx9mb? Trevor Woerner
@ 2012-09-06 15:19 ` Elvis Dowson
  2012-09-06 20:11   ` Trevor Woerner
  2012-09-07  3:21   ` Elvis Dowson
  0 siblings, 2 replies; 23+ messages in thread
From: Elvis Dowson @ 2012-09-06 15:19 UTC (permalink / raw)
  To: Trevor Woerner; +Cc: Yocto Discussion Mailing List

Hi,
        
On Sep 4, 2012, at 6:25 AM, Trevor Woerner wrote:

> I was playing around with the meta-xilinx layer and tried to build
> "core-image-minimal" for the spartan6 without success. I was wondering
> if anyone has tried this lately and/or if anyone has any tips to
> suggest?

Can you please list which version of the Xilinx ISE tools you are using? e.g. 12.4, 14.1, 14.2 ?

Could you also please list the Xilinx development board that you are using? e.g. SP601 (Spartan6) ?

> 
> configuration:
> 
> I'm using the latest HEAD:
>    BB_VERSION        = "1.15.3"
>    TARGET_ARCH       = "microblaze"
>    TARGET_OS         = "linux"
>    MACHINE           = "spartan6-lx9mb"
>    DISTRO            = "poky"
>    DISTRO_VERSION    = "1.2+snapshot-20120904"
>    TUNE_FEATURES     = "m32 microblazeel"
>    TARGET_FPU        = "soft"
>    meta
>    meta-yocto        = "master:37c8597e7600385367257e8a513e003947ebef5b"
>    meta-xilinx       = "master:d196fa93c7ff5e080d4c44e2b83aed472f32b2c7"
> 
> conf/local.conf:
>    BB_NUMBER_THREADS = "4"
>    PARALLEL_MAKE = "-j 4"
>    MACHINE ??= "spartan6-lx9mb"
>    DL_DIR = "/home/trevor/devel/Downloads"
>    DISTRO ?= "poky"
>    PACKAGE_CLASSES ?= "package_rpm"
>    EXTRA_IMAGE_FEATURES = "debug-tweaks"
>    USER_CLASSES ?= "buildstats image-mklibs image-prelink"
>    PATCHRESOLVE = "noop"
>    CONF_VERSION = "1"
> 
> conf/bblayers.conf:
>    LCONF_VERSION = "5"
>    BBPATH = "${TOPDIR}"
>    BBFILES ?= ""
>    BBLAYERS ?= " \
>      /home/trevor/devel/yocto/git-method/poky/meta \
>      /home/trevor/devel/yocto/git-method/poky/meta-yocto \
>      /home/trevor/devel/yocto/git-method/poky/meta-xilinx \
>      "
> 
> issues:
> 
> The first problem I encountered was trying to build gcc-cross-initial:
>    This target does not support --with-float.
> 

If you look at the tune file, it says TARGET_FPU = "soft", which means
software floating point emulation.

However, the gcc toolchain recipes are trying to build with hardware floating
point support, from the error message.

Let me know what you ISE development tool configuration and development
board is, and I'll see if I can divert a bit from target platform, and try to 
explore getting the toolchain to build for the Microblaze processor.

I've got the following boards with me:
- Xilinx ML507 (Virtex 5 FX70T with PowerPC 440)
- Xilinx SP601 (Spartan 6)
- Xilinx Zynq (ARM Cortex A-9)

Best regards,

Elvis Dowson



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

* Re: any success with spartan6-lx9mb?
  2012-09-06 15:19 ` Elvis Dowson
@ 2012-09-06 20:11   ` Trevor Woerner
  2012-09-06 21:06     ` Philip Balister
  2012-09-07  3:21   ` Elvis Dowson
  1 sibling, 1 reply; 23+ messages in thread
From: Trevor Woerner @ 2012-09-06 20:11 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

Hi Elvis,

Thanks so much for taking a look at my email! I've read through lots
of this mailing list's history and noticed all your meta-xilinx work
in the past and was hoping I could pique your interest :-)

On Thu, Sep 6, 2012 at 11:19 AM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
> Can you please list which version of the Xilinx ISE tools you are using? e.g. 12.4, 14.1, 14.2 ?

I have 14.2 installed on my Linux machine at home.

> Could you also please list the Xilinx development board that you are using? e.g. SP601 (Spartan6) ?

I have been (slowly) teaching myself VHDL and working with a Papilio
board from Gadget Factory. Are you familiar with them? They have a
Spartan 3E on them.

    http://papilio.cc/

> Let me know what you ISE development tool configuration and development
> board is, and I'll see if I can divert a bit from target platform, and try to
> explore getting the toolchain to build for the Microblaze processor.

It is my understanding that Microblaze won't fit or work with the
Spartan 3E (?). However, the guy who makes the Papilio board, Jack
Gassett, is currently working on his latest board called the "Papilio
Plus". The Plus is not yet out, although prototypes are available:

    http://forum.gadgetfactory.net/index.php?/topic/1280-papilio-plus-prototypes-available-for-8499-in-the-store/

The Plus will feature a Spartan 6 LX9, which, I believe, can support
the Microblaze.

In a comment on the All Programmable Planet blog about a month ago,
Jack bemoans how easy it used to be to get Linux up and running on a
Spartan 3E devel board using what has now become PetaLinux. The
problem is that PetaLinux is now a commercial product and not readily
available to the DIY market:

    http://www.programmableplanet.com/messages.asp?piddl_msgthreadid=252509&piddl_msgid=717514#msg_717514

When I noticed the meta-xilinx layer had support for the Spartan 6 LX9
I was really hoping to surprise Jack by testing it out and providing
instructions for creating a filesystem he could use as part of his
work on the Plus. Unfortunately my attempts fell flat. I even tried
using denzil-7.0.1 but encountered the same problems.

Seeing how soft processors within programmable logic seems to be
gaining in popularity, I thought it would be a great niche to get
into. If the Yocto Project could be used to create images for the
Microblaze or even the Picoblaze processors I think it would help fill
a void which is quickly expanding. Also, if support could be added to
meta-xilinx to support Jack's Papilio boards it would help introduce
the DIY community to the Yocto Project.

> I've got the following boards with me:
> - Xilinx ML507 (Virtex 5 FX70T with PowerPC 440)
> - Xilinx SP601 (Spartan 6)
> - Xilinx Zynq (ARM Cortex A-9)

Once I get more into the VHDL I'll probably end up getting a Zynq
myself too; talk about combining the best of both worlds :-)

Best regards,
    Trevor


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

* Re: any success with spartan6-lx9mb?
  2012-09-06 20:11   ` Trevor Woerner
@ 2012-09-06 21:06     ` Philip Balister
  2012-09-06 21:41       ` Trevor Woerner
  2012-09-06 22:19       ` Bruce Ashfield
  0 siblings, 2 replies; 23+ messages in thread
From: Philip Balister @ 2012-09-06 21:06 UTC (permalink / raw)
  To: Trevor Woerner; +Cc: Yocto Discussion Mailing List

On 09/06/2012 04:11 PM, Trevor Woerner wrote:
> Hi Elvis,
>
> Thanks so much for taking a look at my email! I've read through lots
> of this mailing list's history and noticed all your meta-xilinx work
> in the past and was hoping I could pique your interest :-)
>
> On Thu, Sep 6, 2012 at 11:19 AM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
>> Can you please list which version of the Xilinx ISE tools you are using? e.g. 12.4, 14.1, 14.2 ?
>
> I have 14.2 installed on my Linux machine at home.
>
>> Could you also please list the Xilinx development board that you are using? e.g. SP601 (Spartan6) ?
>
> I have been (slowly) teaching myself VHDL and working with a Papilio
> board from Gadget Factory. Are you familiar with them? They have a
> Spartan 3E on them.
>
>      http://papilio.cc/
>
>> Let me know what you ISE development tool configuration and development
>> board is, and I'll see if I can divert a bit from target platform, and try to
>> explore getting the toolchain to build for the Microblaze processor.
>
> It is my understanding that Microblaze won't fit or work with the
> Spartan 3E (?). However, the guy who makes the Papilio board, Jack
> Gassett, is currently working on his latest board called the "Papilio
> Plus". The Plus is not yet out, although prototypes are available:
>
>      http://forum.gadgetfactory.net/index.php?/topic/1280-papilio-plus-prototypes-available-for-8499-in-the-store/
>
> The Plus will feature a Spartan 6 LX9, which, I believe, can support
> the Microblaze.
>
> In a comment on the All Programmable Planet blog about a month ago,
> Jack bemoans how easy it used to be to get Linux up and running on a
> Spartan 3E devel board using what has now become PetaLinux. The
> problem is that PetaLinux is now a commercial product and not readily
> available to the DIY market:
>
>      http://www.programmableplanet.com/messages.asp?piddl_msgthreadid=252509&piddl_msgid=717514#msg_717514
>
> When I noticed the meta-xilinx layer had support for the Spartan 6 LX9
> I was really hoping to surprise Jack by testing it out and providing
> instructions for creating a filesystem he could use as part of his
> work on the Plus. Unfortunately my attempts fell flat. I even tried
> using denzil-7.0.1 but encountered the same problems.
>
> Seeing how soft processors within programmable logic seems to be
> gaining in popularity, I thought it would be a great niche to get
> into. If the Yocto Project could be used to create images for the
> Microblaze or even the Picoblaze processors I think it would help fill
> a void which is quickly expanding. Also, if support could be added to
> meta-xilinx to support Jack's Papilio boards it would help introduce
> the DIY community to the Yocto Project.
>
>> I've got the following boards with me:
>> - Xilinx ML507 (Virtex 5 FX70T with PowerPC 440)
>> - Xilinx SP601 (Spartan 6)
>> - Xilinx Zynq (ARM Cortex A-9)
>
> Once I get more into the VHDL I'll probably end up getting a Zynq
> myself too; talk about combining the best of both worlds :-)

Speaking of zynq, I have a simple BSP here for the zc702 board:

https://github.com/balister/meta-zynq

Philip


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

* Re: any success with spartan6-lx9mb?
  2012-09-06 21:06     ` Philip Balister
@ 2012-09-06 21:41       ` Trevor Woerner
  2012-09-06 22:19       ` Bruce Ashfield
  1 sibling, 0 replies; 23+ messages in thread
From: Trevor Woerner @ 2012-09-06 21:41 UTC (permalink / raw)
  To: Philip Balister; +Cc: Yocto Discussion Mailing List

Hi Philip,

On Thu, Sep 6, 2012 at 5:06 PM, Philip Balister <philip@balister.org> wrote:
> Speaking of zynq, I have a simple BSP here for the zc702 board:
> https://github.com/balister/meta-zynq

Thanks. I found your layer from the layer index page:
http://www.openembedded.org/wiki/LayerIndex

although I haven't tried it yet. It's good that the layer page is
updated regularly.


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

* Re: any success with spartan6-lx9mb?
  2012-09-06 21:06     ` Philip Balister
  2012-09-06 21:41       ` Trevor Woerner
@ 2012-09-06 22:19       ` Bruce Ashfield
  2012-09-07 11:22         ` Philip Balister
  1 sibling, 1 reply; 23+ messages in thread
From: Bruce Ashfield @ 2012-09-06 22:19 UTC (permalink / raw)
  To: Philip Balister; +Cc: Yocto Discussion Mailing List

On 12-09-06 5:06 PM, Philip Balister wrote:
> On 09/06/2012 04:11 PM, Trevor Woerner wrote:
>> Hi Elvis,
>>
>> Thanks so much for taking a look at my email! I've read through lots
>> of this mailing list's history and noticed all your meta-xilinx work
>> in the past and was hoping I could pique your interest :-)
>>
>> On Thu, Sep 6, 2012 at 11:19 AM, Elvis Dowson <elvis.dowson@gmail.com>
>> wrote:
>>> Can you please list which version of the Xilinx ISE tools you are
>>> using? e.g. 12.4, 14.1, 14.2 ?
>>
>> I have 14.2 installed on my Linux machine at home.
>>
>>> Could you also please list the Xilinx development board that you are
>>> using? e.g. SP601 (Spartan6) ?
>>
>> I have been (slowly) teaching myself VHDL and working with a Papilio
>> board from Gadget Factory. Are you familiar with them? They have a
>> Spartan 3E on them.
>>
>> http://papilio.cc/
>>
>>> Let me know what you ISE development tool configuration and development
>>> board is, and I'll see if I can divert a bit from target platform,
>>> and try to
>>> explore getting the toolchain to build for the Microblaze processor.
>>
>> It is my understanding that Microblaze won't fit or work with the
>> Spartan 3E (?). However, the guy who makes the Papilio board, Jack
>> Gassett, is currently working on his latest board called the "Papilio
>> Plus". The Plus is not yet out, although prototypes are available:
>>
>> http://forum.gadgetfactory.net/index.php?/topic/1280-papilio-plus-prototypes-available-for-8499-in-the-store/
>>
>>
>> The Plus will feature a Spartan 6 LX9, which, I believe, can support
>> the Microblaze.
>>
>> In a comment on the All Programmable Planet blog about a month ago,
>> Jack bemoans how easy it used to be to get Linux up and running on a
>> Spartan 3E devel board using what has now become PetaLinux. The
>> problem is that PetaLinux is now a commercial product and not readily
>> available to the DIY market:
>>
>> http://www.programmableplanet.com/messages.asp?piddl_msgthreadid=252509&piddl_msgid=717514#msg_717514
>>
>>
>> When I noticed the meta-xilinx layer had support for the Spartan 6 LX9
>> I was really hoping to surprise Jack by testing it out and providing
>> instructions for creating a filesystem he could use as part of his
>> work on the Plus. Unfortunately my attempts fell flat. I even tried
>> using denzil-7.0.1 but encountered the same problems.
>>
>> Seeing how soft processors within programmable logic seems to be
>> gaining in popularity, I thought it would be a great niche to get
>> into. If the Yocto Project could be used to create images for the
>> Microblaze or even the Picoblaze processors I think it would help fill
>> a void which is quickly expanding. Also, if support could be added to
>> meta-xilinx to support Jack's Papilio boards it would help introduce
>> the DIY community to the Yocto Project.
>>
>>> I've got the following boards with me:
>>> - Xilinx ML507 (Virtex 5 FX70T with PowerPC 440)
>>> - Xilinx SP601 (Spartan 6)
>>> - Xilinx Zynq (ARM Cortex A-9)
>>
>> Once I get more into the VHDL I'll probably end up getting a Zynq
>> myself too; talk about combining the best of both worlds :-)
>
> Speaking of zynq, I have a simple BSP here for the zc702 board:
>
> https://github.com/balister/meta-zynq

We have a namespace collision, there is also:

   http://git.yoctoproject.org/cgit/cgit.cgi/meta-zynq/

Cheers,

Bruce

>
> Philip
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto



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

* Re: any success with spartan6-lx9mb?
  2012-09-06 15:19 ` Elvis Dowson
  2012-09-06 20:11   ` Trevor Woerner
@ 2012-09-07  3:21   ` Elvis Dowson
  2012-09-08 17:04     ` Trevor Woerner
  1 sibling, 1 reply; 23+ messages in thread
From: Elvis Dowson @ 2012-09-07  3:21 UTC (permalink / raw)
  To: Trevor Woerner; +Cc: Yocto Discussion Mailing List

[-- Attachment #1: Type: text/plain, Size: 7708 bytes --]

Hi,

On Sep 6, 2012, at 7:19 PM, Elvis Dowson wrote:

>> 
>> issues:
>> 
>> The first problem I encountered was trying to build gcc-cross-initial:
>>   This target does not support --with-float.
>> 
> 
> If you look at the tune file, it says TARGET_FPU = "soft", which means
> software floating point emulation.
> 
> However, the gcc toolchain recipes are trying to build with hardware floating
> point support, from the error message.

My bad, the error was because the --with-float option does not exist for the
microblaze processor

Looking at the gcc options for microblaze from 

http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html

MicroBlaze Options

          -msoft-float -mhard-float -msmall-divides -mcpu=cpu 
          -mmemcpy -mxl-soft-mul -mxl-soft-div -mxl-barrel-shift 
          -mxl-pattern-compare -mxl-stack-check -mxl-gp-opt -mno-clearbss 
          -mxl-multiply-high -mxl-float-convert -mxl-float-sqrt 
          -mxl-mode-app-model

So, the next step is to try and modify the tune files, slightly. I recall someone from
windriver mentioned that TARGET_FPU is to be explicitly set specified only if a 
special hardware FPU was used. When it is blank, it means default, which is
hardware floating point. Software floating point gets set automatically from
other settings in the tune file.

So the first thing to try is to remove any entry for TARGET_FPU = "soft" from
any tune file that you are referencing. It will get set automatically at build time,
as far as I know from the other options in the tune file.



> opening microblaze-c.o: No such file or directory
> make[1]: *** [cc1-checksum.c] Error 1
> rm cpp.pod gcov.pod gfdl.pod gcc.pod fsf-funding.pod
> make[1]: Leaving directory
> `/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/work/microblazeel-poky-linux/gcc-cross-initial-4.7.1.0+git1+d07e24f4ab59f264d68d21838795349faab5dede-r11/gcc-4_7-branch/build.x86_64-linux.microblaze-poky-linux/gcc'
> make: *** [all-gcc] Error 2
> ERROR: oe_runmake failed
> ERROR: Function failed: do_compile

The second thing to look at is the above error that you got. 

Perhaps the reason why it couldn't find the microblaze-c.o output file was because in the gcc sources, there is no cpu=microblazeel, but only cpu=microblaze

http://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/config/microblaze/microblaze-c.c;h=32c38da311b12b07cc1ed9fbf13f7946291f2857;hb=refs/heads/gcc-4_7-branch

void 
microblaze_cpp_define (cpp_reader *pfile)
{
  builtin_assert ("cpu=microblaze");
  builtin_assert ("machine=microblaze");
  builtin_define ("__MICROBLAZE__");
  if (!TARGET_SOFT_MUL) 
    {
      if (!flag_iso)
        builtin_define ("HAVE_HW_MUL");
      builtin_define ("__HAVE_HW_MUL__");
    }

So, we will need to examine the tune files that you are using for your particular machine configuration, and ensure that it is setting the correct cpu type

What you could start off, as a quick test would be to replace the selected tune file in spartan6-lx9mb.conf and change it to use tune-microblaze.inc instead of tune-microblazeel.inc, because the latter appears to incorrectly set the cpu to microblazeel, I think.

File: meta-xilinx/tree/conf/machine/spartan6-lx9mb.conf
# Copyright (C) 2011, SecretLab Technologies Ltd.
# Adrian Alonso <aalonso@secretlab.ca>
# Released under the MIT license (see packages/COPYING)
#@TYPE: Machine
#@Name: Xilinx generic microblaze target support
#@DESCRIPTION: Machine configuration for Xilinx Microblaze
# Supported target: spartan6-lx9mb
#
# Xilinx EDK override hardware  definitions for xilinx-bsp
# Include in your local.conf
# XILINX_BSP_PATH = "complete path for Xilinx XPS project"

TARGET_CPU = "microblaze"
# tune for the microblaze little endian cpu
-require conf/machine/include/tune-microblazeel.inc
+require conf/machine/include/tune-microblaze.inc

PREFERRED_PROVIDER_virtual/kernel = "linux-xilinx"
PREFERRED_VERSION_u-boot = "uboot-xilinx"
# Add uboot to rootfs
EXTRA_IMAGEDEPENDS += "u-boot-xilinx"
XILINX_BOARD = "microblaze-generic"

KERNEL_IMAGETYPE = "simpleImage.system"

MACHINE_FEATURES = "kernel26 apm ext2 vfat ethernet"
MACHINE_EXTRA_RECOMMENDS = "kernel-modules"

UBOOT_ENTRYPOINT ?= "0xBC000000"
UBOOT_LOADADDRESS ?= "0xBC000000"
UBOOT_MACHINE ?= "microblaze-generic_config"

# Don't use tty1
USE_VT = "0"
SERIAL_CONSOLE = "115200 ttyUL0"

# Device nodes add xsa for (system ace)
IMAGE_DEVICE_TABLES = "files/device_table-minimal.txt \
                       files/device_table_add-xsa.txt"

Perhaps if you could try the above two changes, i.e. remove the TARGET_FPU = "soft" from the tune file, and switch tune files so that the correct cpu type is set, and see if the gcc-initial compilation progresses?

File: meta-xilinx/plain/conf/machine/include/tune-microblaze.inc
# Tune options for microblaze

require conf/machine/include/microblaze/arch-microblaze.inc

-TARGET_FPU = "soft"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "microblaze", "-mcpu=v8.10a", "", d)}"

#MACHINEOVERRIDES .= "microblaze"

If that works, then maybe we could update the tune-microblaze.inc files, so that it uses the variables defined in the following file, which I updated recently for powerpc440 soft float

File: meta-xilinx/tree/conf/machine/include/tune-ppc440.inc

DEFAULTTUNE ?= "ppc440"

require conf/machine/include/powerpc/arch-powerpc.inc

TUNEVALID[ppc440] = "Enable ppc440 specific processor optimizations"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppc440", "-mcpu=440", "", d)}"

AVAILTUNES += "ppc440"
TUNE_FEATURES_tune-ppc440 = "m32 fpu-soft ppc440"
TUNE_PKGARCH_tune-ppc440 = "ppc440"
PACKAGE_EXTRA_ARCHS_tune-ppc440 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc-nf} ppc440"

# glibc configure options to get ppc440 specific library (for sqrt)
GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppc440", "-with-cpu=440", "", d)}"

I don't see the need for tune-microblazeel.inc, and you could merge the contents of tune-microblazeel.inc, taking care not to define cpu = "microblazeel", as highlighed in red below. that should only be microblaze. 

meta-xilinx/conf.machine/include/tune-microblazeel.inc

# Tune options for microblaze endian little
DEFAULTTUNE ?= "microblazeel"

require conf/machine/include/microblaze/arch-microblaze.inc

TUNEVALID[microblazeel] = "Enable microblaze endian little optimizations"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "microblazeel", "-mcpu=v8.10a", "", d)}"
TUNE_PKGARCH = "${@bb.utils.contains("TUNE_FEATURES", "microblazeel", "microblazeel", "microblazeel", d)}"

TARGET_FPU = "soft"

AVAILTUNES += "microblazeel"
TUNE_FEATURES_tune-microblazeel = "m32 microblazeel"
PACKAGE_EXTRA_ARCHS_tune-microblazeel = "microblazeel"

#MACHINEOVERRIDES .= "microblaze"


Summary

01. Remove the TARGET_FPU = "soft" specification

02. Quickly test the machine/spartan6-lx9mb.conf by temporarily changing the tune file to include/tune-microblaze.inc, and see if the toolchain gets built using gcc-4.7 recipes.

03. If that works, then update the include/tune-microblaze.inc, to make it more current by looking at include/tune-ppc440.inc. We could potentially delete include/tune-microblazeel.inc, since after including same variables from include/tune-ppc440.inc, into 
include/tune-microblaze.inc, it would end up nearly looking like include/tune-microblazeel.inc, without the erroneous cpu=microblazeel spec in TUNE_CCARGS.

04. Later on create a include/tune-microblazee.inc file, for hardware floating point support.

Do let me know how it goes!

Best regards,

Elvis Dowson

[-- Attachment #2: Type: text/html, Size: 14332 bytes --]

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

* Re: any success with spartan6-lx9mb?
  2012-09-06 22:19       ` Bruce Ashfield
@ 2012-09-07 11:22         ` Philip Balister
  2012-09-07 12:27           ` Bruce Ashfield
  0 siblings, 1 reply; 23+ messages in thread
From: Philip Balister @ 2012-09-07 11:22 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: Yocto Discussion Mailing List

On 09/06/2012 06:19 PM, Bruce Ashfield wrote:
> On 12-09-06 5:06 PM, Philip Balister wrote:
>> On 09/06/2012 04:11 PM, Trevor Woerner wrote:
>>> Hi Elvis,
>>>
>>> Thanks so much for taking a look at my email! I've read through lots
>>> of this mailing list's history and noticed all your meta-xilinx work
>>> in the past and was hoping I could pique your interest :-)
>>>
>>> On Thu, Sep 6, 2012 at 11:19 AM, Elvis Dowson <elvis.dowson@gmail.com>
>>> wrote:
>>>> Can you please list which version of the Xilinx ISE tools you are
>>>> using? e.g. 12.4, 14.1, 14.2 ?
>>>
>>> I have 14.2 installed on my Linux machine at home.
>>>
>>>> Could you also please list the Xilinx development board that you are
>>>> using? e.g. SP601 (Spartan6) ?
>>>
>>> I have been (slowly) teaching myself VHDL and working with a Papilio
>>> board from Gadget Factory. Are you familiar with them? They have a
>>> Spartan 3E on them.
>>>
>>> http://papilio.cc/
>>>
>>>> Let me know what you ISE development tool configuration and development
>>>> board is, and I'll see if I can divert a bit from target platform,
>>>> and try to
>>>> explore getting the toolchain to build for the Microblaze processor.
>>>
>>> It is my understanding that Microblaze won't fit or work with the
>>> Spartan 3E (?). However, the guy who makes the Papilio board, Jack
>>> Gassett, is currently working on his latest board called the "Papilio
>>> Plus". The Plus is not yet out, although prototypes are available:
>>>
>>> http://forum.gadgetfactory.net/index.php?/topic/1280-papilio-plus-prototypes-available-for-8499-in-the-store/
>>>
>>>
>>>
>>> The Plus will feature a Spartan 6 LX9, which, I believe, can support
>>> the Microblaze.
>>>
>>> In a comment on the All Programmable Planet blog about a month ago,
>>> Jack bemoans how easy it used to be to get Linux up and running on a
>>> Spartan 3E devel board using what has now become PetaLinux. The
>>> problem is that PetaLinux is now a commercial product and not readily
>>> available to the DIY market:
>>>
>>> http://www.programmableplanet.com/messages.asp?piddl_msgthreadid=252509&piddl_msgid=717514#msg_717514
>>>
>>>
>>>
>>> When I noticed the meta-xilinx layer had support for the Spartan 6 LX9
>>> I was really hoping to surprise Jack by testing it out and providing
>>> instructions for creating a filesystem he could use as part of his
>>> work on the Plus. Unfortunately my attempts fell flat. I even tried
>>> using denzil-7.0.1 but encountered the same problems.
>>>
>>> Seeing how soft processors within programmable logic seems to be
>>> gaining in popularity, I thought it would be a great niche to get
>>> into. If the Yocto Project could be used to create images for the
>>> Microblaze or even the Picoblaze processors I think it would help fill
>>> a void which is quickly expanding. Also, if support could be added to
>>> meta-xilinx to support Jack's Papilio boards it would help introduce
>>> the DIY community to the Yocto Project.
>>>
>>>> I've got the following boards with me:
>>>> - Xilinx ML507 (Virtex 5 FX70T with PowerPC 440)
>>>> - Xilinx SP601 (Spartan 6)
>>>> - Xilinx Zynq (ARM Cortex A-9)
>>>
>>> Once I get more into the VHDL I'll probably end up getting a Zynq
>>> myself too; talk about combining the best of both worlds :-)
>>
>> Speaking of zynq, I have a simple BSP here for the zc702 board:
>>
>> https://github.com/balister/meta-zynq
>
> We have a namespace collision, there is also:
>
>    http://git.yoctoproject.org/cgit/cgit.cgi/meta-zynq/

Before creating the layer I checked:

http://www.openembedded.org/wiki/LayerIndex

This is where layer information is collected. If a layer is not listed 
here, yo can expect namespace collisions.

Philip

>
> Cheers,
>
> Bruce
>
>>
>> Philip
>> _______________________________________________
>> yocto mailing list
>> yocto@yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/yocto
>
>
>


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

* Re: any success with spartan6-lx9mb?
  2012-09-07 11:22         ` Philip Balister
@ 2012-09-07 12:27           ` Bruce Ashfield
  2012-09-07 16:19             ` Richard Purdie
  0 siblings, 1 reply; 23+ messages in thread
From: Bruce Ashfield @ 2012-09-07 12:27 UTC (permalink / raw)
  To: Philip Balister; +Cc: Yocto Discussion Mailing List

On Fri, Sep 7, 2012 at 7:22 AM, Philip Balister <philip@balister.org> wrote:
> On 09/06/2012 06:19 PM, Bruce Ashfield wrote:
>>
>> On 12-09-06 5:06 PM, Philip Balister wrote:
>>>
>>> On 09/06/2012 04:11 PM, Trevor Woerner wrote:
>>>>
>>>> Hi Elvis,
>>>>
>>>> Thanks so much for taking a look at my email! I've read through lots
>>>> of this mailing list's history and noticed all your meta-xilinx work
>>>> in the past and was hoping I could pique your interest :-)
>>>>
>>>> On Thu, Sep 6, 2012 at 11:19 AM, Elvis Dowson <elvis.dowson@gmail.com>
>>>> wrote:
>>>>>
>>>>> Can you please list which version of the Xilinx ISE tools you are
>>>>> using? e.g. 12.4, 14.1, 14.2 ?
>>>>
>>>>
>>>> I have 14.2 installed on my Linux machine at home.
>>>>
>>>>> Could you also please list the Xilinx development board that you are
>>>>> using? e.g. SP601 (Spartan6) ?
>>>>
>>>>
>>>> I have been (slowly) teaching myself VHDL and working with a Papilio
>>>> board from Gadget Factory. Are you familiar with them? They have a
>>>> Spartan 3E on them.
>>>>
>>>> http://papilio.cc/
>>>>
>>>>> Let me know what you ISE development tool configuration and development
>>>>> board is, and I'll see if I can divert a bit from target platform,
>>>>> and try to
>>>>> explore getting the toolchain to build for the Microblaze processor.
>>>>
>>>>
>>>> It is my understanding that Microblaze won't fit or work with the
>>>> Spartan 3E (?). However, the guy who makes the Papilio board, Jack
>>>> Gassett, is currently working on his latest board called the "Papilio
>>>> Plus". The Plus is not yet out, although prototypes are available:
>>>>
>>>>
>>>> http://forum.gadgetfactory.net/index.php?/topic/1280-papilio-plus-prototypes-available-for-8499-in-the-store/
>>>>
>>>>
>>>>
>>>> The Plus will feature a Spartan 6 LX9, which, I believe, can support
>>>> the Microblaze.
>>>>
>>>> In a comment on the All Programmable Planet blog about a month ago,
>>>> Jack bemoans how easy it used to be to get Linux up and running on a
>>>> Spartan 3E devel board using what has now become PetaLinux. The
>>>> problem is that PetaLinux is now a commercial product and not readily
>>>> available to the DIY market:
>>>>
>>>>
>>>> http://www.programmableplanet.com/messages.asp?piddl_msgthreadid=252509&piddl_msgid=717514#msg_717514
>>>>
>>>>
>>>>
>>>> When I noticed the meta-xilinx layer had support for the Spartan 6 LX9
>>>> I was really hoping to surprise Jack by testing it out and providing
>>>> instructions for creating a filesystem he could use as part of his
>>>> work on the Plus. Unfortunately my attempts fell flat. I even tried
>>>> using denzil-7.0.1 but encountered the same problems.
>>>>
>>>> Seeing how soft processors within programmable logic seems to be
>>>> gaining in popularity, I thought it would be a great niche to get
>>>> into. If the Yocto Project could be used to create images for the
>>>> Microblaze or even the Picoblaze processors I think it would help fill
>>>> a void which is quickly expanding. Also, if support could be added to
>>>> meta-xilinx to support Jack's Papilio boards it would help introduce
>>>> the DIY community to the Yocto Project.
>>>>
>>>>> I've got the following boards with me:
>>>>> - Xilinx ML507 (Virtex 5 FX70T with PowerPC 440)
>>>>> - Xilinx SP601 (Spartan 6)
>>>>> - Xilinx Zynq (ARM Cortex A-9)
>>>>
>>>>
>>>> Once I get more into the VHDL I'll probably end up getting a Zynq
>>>> myself too; talk about combining the best of both worlds :-)
>>>
>>>
>>> Speaking of zynq, I have a simple BSP here for the zc702 board:
>>>
>>> https://github.com/balister/meta-zynq
>>
>>
>> We have a namespace collision, there is also:
>>
>>    http://git.yoctoproject.org/cgit/cgit.cgi/meta-zynq/
>
>
> Before creating the layer I checked:
>
> http://www.openembedded.org/wiki/LayerIndex
>
> This is where layer information is collected. If a layer is not listed here,
> yo can expect namespace collisions.

Sure, I don't argue with that, but I wasn't the original owner of the layer so
I can't say why it was or wasn't put into the wiki .. I'm not really concerned
about the minor oversight. They layer I pointed to was done under contract
by xilinx themselves, and contributed to be maintained as a yocto BSP, so
the layers name is not something that I control or can change.

Other similar layers can use the same name if they want, I was pointing it
out for reference, since I've had the same thing pointed out to me in
the past ;)

Cheers,

Bruce

>
> Philip
>
>
>>
>> Cheers,
>>
>> Bruce
>>
>>>
>>> Philip
>>> _______________________________________________
>>> yocto mailing list
>>> yocto@yoctoproject.org
>>> https://lists.yoctoproject.org/listinfo/yocto
>>
>>
>>
>>
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"


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

* Re: any success with spartan6-lx9mb?
  2012-09-07 12:27           ` Bruce Ashfield
@ 2012-09-07 16:19             ` Richard Purdie
  2012-09-07 16:30               ` Bruce Ashfield
  0 siblings, 1 reply; 23+ messages in thread
From: Richard Purdie @ 2012-09-07 16:19 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: Zhong Hongbo, Vlad Lungu, Yocto Discussion Mailing List

On Fri, 2012-09-07 at 08:27 -0400, Bruce Ashfield wrote:
> On Fri, Sep 7, 2012 at 7:22 AM, Philip Balister <philip@balister.org> wrote:
> > On 09/06/2012 06:19 PM, Bruce Ashfield wrote:

> >>>
> >>> Speaking of zynq, I have a simple BSP here for the zc702 board:
> >>>
> >>> https://github.com/balister/meta-zynq
> >>
> >>
> >> We have a namespace collision, there is also:
> >>
> >>    http://git.yoctoproject.org/cgit/cgit.cgi/meta-zynq/
> >
> >
> > Before creating the layer I checked:
> >
> > http://www.openembedded.org/wiki/LayerIndex
> >
> > This is where layer information is collected. If a layer is not listed here,
> > yo can expect namespace collisions.
> 
> Sure, I don't argue with that, but I wasn't the original owner of the layer so
> I can't say why it was or wasn't put into the wiki .. I'm not really concerned
> about the minor oversight. They layer I pointed to was done under contract
> by xilinx themselves, and contributed to be maintained as a yocto BSP, so
> the layers name is not something that I control or can change.
> 
> Other similar layers can use the same name if they want, I was pointing it
> out for reference, since I've had the same thing pointed out to me in
> the past ;)

The bigger question is whether that layer is getting maintained. If it
isn't, it will likely get removed. I'd prefer it to get added to the
layer index and the namespace collision getting fixed.

I was going to cc the maintainer but there isn't one listed in the
README which is a really bad start. The feedback I gave when this was
added has not all been acted upon either (multi-dtb.inc,
layencytop/sysprof nastiness).

This puts it right at the top of my "likely to get removed soon" list.

Bruce: Since you have an idea who wrote it, could you find out whether
its going to get fixed (at the very least fix the README, add to the
index and resolve the namespace) or whether I should be deleting it.

Cheers,

Richard



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

* Re: any success with spartan6-lx9mb?
  2012-09-07 16:19             ` Richard Purdie
@ 2012-09-07 16:30               ` Bruce Ashfield
  2012-09-07 17:29                 ` meta-zynq, was " Philip Balister
  0 siblings, 1 reply; 23+ messages in thread
From: Bruce Ashfield @ 2012-09-07 16:30 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Yocto Discussion Mailing List, Zhong Hongbo, Vlad Lungu

On 12-09-07 12:19 PM, Richard Purdie wrote:
> On Fri, 2012-09-07 at 08:27 -0400, Bruce Ashfield wrote:
>> On Fri, Sep 7, 2012 at 7:22 AM, Philip Balister<philip@balister.org>  wrote:
>>> On 09/06/2012 06:19 PM, Bruce Ashfield wrote:
>
>>>>>
>>>>> Speaking of zynq, I have a simple BSP here for the zc702 board:
>>>>>
>>>>> https://github.com/balister/meta-zynq
>>>>
>>>>
>>>> We have a namespace collision, there is also:
>>>>
>>>>     http://git.yoctoproject.org/cgit/cgit.cgi/meta-zynq/
>>>
>>>
>>> Before creating the layer I checked:
>>>
>>> http://www.openembedded.org/wiki/LayerIndex
>>>
>>> This is where layer information is collected. If a layer is not listed here,
>>> yo can expect namespace collisions.
>>
>> Sure, I don't argue with that, but I wasn't the original owner of the layer so
>> I can't say why it was or wasn't put into the wiki .. I'm not really concerned
>> about the minor oversight. They layer I pointed to was done under contract
>> by xilinx themselves, and contributed to be maintained as a yocto BSP, so
>> the layers name is not something that I control or can change.
>>
>> Other similar layers can use the same name if they want, I was pointing it
>> out for reference, since I've had the same thing pointed out to me in
>> the past ;)
>
> The bigger question is whether that layer is getting maintained. If it
> isn't, it will likely get removed. I'd prefer it to get added to the
> layer index and the namespace collision getting fixed.
>
> I was going to cc the maintainer but there isn't one listed in the
> README which is a really bad start. The feedback I gave when this was
> added has not all been acted upon either (multi-dtb.inc,
> layencytop/sysprof nastiness).
>
> This puts it right at the top of my "likely to get removed soon" list.

It is being maintained, updates are pending.

>
> Bruce: Since you have an idea who wrote it, could you find out whether
> its going to get fixed (at the very least fix the README, add to the
> index and resolve the namespace) or whether I should be deleting it.

Don't delete it. Work is being done. This was supposed to be a primary
repository for work, and it is the basis for spin off BSPs. There was
a handoff issue between Wind River and Xylinx .. but I don't have all
the details.

And it's something that I'll be carrying forward and pulling kernel
patches into linux-yocto on the next kernel bump.

I'll do the simple updates to the README and put it in the layer index.

Cheers,

Bruce

>
> Cheers,
>
> Richard
>
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto



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

* meta-zynq, was Re: any success with spartan6-lx9mb?
  2012-09-07 16:30               ` Bruce Ashfield
@ 2012-09-07 17:29                 ` Philip Balister
  2012-09-07 17:35                   ` Bruce Ashfield
  0 siblings, 1 reply; 23+ messages in thread
From: Philip Balister @ 2012-09-07 17:29 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: Vlad Lungu, Yocto Discussion Mailing List, Zhong Hongbo

On 09/07/2012 12:30 PM, Bruce Ashfield wrote:
> On 12-09-07 12:19 PM, Richard Purdie wrote:
>> On Fri, 2012-09-07 at 08:27 -0400, Bruce Ashfield wrote:
>>> On Fri, Sep 7, 2012 at 7:22 AM, Philip Balister<philip@balister.org>
>>> wrote:
>>>> On 09/06/2012 06:19 PM, Bruce Ashfield wrote:
>>
>>>>>>
>>>>>> Speaking of zynq, I have a simple BSP here for the zc702 board:
>>>>>>
>>>>>> https://github.com/balister/meta-zynq
>>>>>
>>>>>
>>>>> We have a namespace collision, there is also:
>>>>>
>>>>>     http://git.yoctoproject.org/cgit/cgit.cgi/meta-zynq/
>>>>
>>>>
>>>> Before creating the layer I checked:
>>>>
>>>> http://www.openembedded.org/wiki/LayerIndex
>>>>
>>>> This is where layer information is collected. If a layer is not
>>>> listed here,
>>>> yo can expect namespace collisions.
>>>
>>> Sure, I don't argue with that, but I wasn't the original owner of the
>>> layer so
>>> I can't say why it was or wasn't put into the wiki .. I'm not really
>>> concerned
>>> about the minor oversight. They layer I pointed to was done under
>>> contract
>>> by xilinx themselves, and contributed to be maintained as a yocto
>>> BSP, so
>>> the layers name is not something that I control or can change.
>>>
>>> Other similar layers can use the same name if they want, I was
>>> pointing it
>>> out for reference, since I've had the same thing pointed out to me in
>>> the past ;)
>>
>> The bigger question is whether that layer is getting maintained. If it
>> isn't, it will likely get removed. I'd prefer it to get added to the
>> layer index and the namespace collision getting fixed.
>>
>> I was going to cc the maintainer but there isn't one listed in the
>> README which is a really bad start. The feedback I gave when this was
>> added has not all been acted upon either (multi-dtb.inc,
>> layencytop/sysprof nastiness).
>>
>> This puts it right at the top of my "likely to get removed soon" list.
>
> It is being maintained, updates are pending.
>
>>
>> Bruce: Since you have an idea who wrote it, could you find out whether
>> its going to get fixed (at the very least fix the README, add to the
>> index and resolve the namespace) or whether I should be deleting it.
>
> Don't delete it. Work is being done. This was supposed to be a primary
> repository for work, and it is the basis for spin off BSPs. There was
> a handoff issue between Wind River and Xylinx .. but I don't have all
> the details.
>
> And it's something that I'll be carrying forward and pulling kernel
> patches into linux-yocto on the next kernel bump.
>
> I'll do the simple updates to the README and put it in the layer index.

I'm concerned the kernel version is the yocto project version is based 
off 3.2 and the code in git.xilinx.com is based of 3.3 now.

I do not like either situation :)

But, working with vendors who provide git repos of their work, it is 
easier for people using the boards to track the vendor tree, and not 
spend time figuring out how to get from linux releases to the vendor tree.

I'd like to see the layers unifed, since we need to reduce confusion, 
but have some reservations about the layer on the Yocto Project server.

Philip

>
> Cheers,
>
> Bruce
>
>>
>> Cheers,
>>
>> Richard
>>
>> _______________________________________________
>> yocto mailing list
>> yocto@yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/yocto
>
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>
>


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

* Re: meta-zynq, was Re: any success with spartan6-lx9mb?
  2012-09-07 17:29                 ` meta-zynq, was " Philip Balister
@ 2012-09-07 17:35                   ` Bruce Ashfield
  0 siblings, 0 replies; 23+ messages in thread
From: Bruce Ashfield @ 2012-09-07 17:35 UTC (permalink / raw)
  To: Philip Balister; +Cc: Vlad Lungu, Yocto Discussion Mailing List, Zhong Hongbo

On 12-09-07 01:29 PM, Philip Balister wrote:
> On 09/07/2012 12:30 PM, Bruce Ashfield wrote:
>> On 12-09-07 12:19 PM, Richard Purdie wrote:
>>> On Fri, 2012-09-07 at 08:27 -0400, Bruce Ashfield wrote:
>>>> On Fri, Sep 7, 2012 at 7:22 AM, Philip Balister<philip@balister.org>
>>>> wrote:
>>>>> On 09/06/2012 06:19 PM, Bruce Ashfield wrote:
>>>
>>>>>>>
>>>>>>> Speaking of zynq, I have a simple BSP here for the zc702 board:
>>>>>>>
>>>>>>> https://github.com/balister/meta-zynq
>>>>>>
>>>>>>
>>>>>> We have a namespace collision, there is also:
>>>>>>
>>>>>> http://git.yoctoproject.org/cgit/cgit.cgi/meta-zynq/
>>>>>
>>>>>
>>>>> Before creating the layer I checked:
>>>>>
>>>>> http://www.openembedded.org/wiki/LayerIndex
>>>>>
>>>>> This is where layer information is collected. If a layer is not
>>>>> listed here,
>>>>> yo can expect namespace collisions.
>>>>
>>>> Sure, I don't argue with that, but I wasn't the original owner of the
>>>> layer so
>>>> I can't say why it was or wasn't put into the wiki .. I'm not really
>>>> concerned
>>>> about the minor oversight. They layer I pointed to was done under
>>>> contract
>>>> by xilinx themselves, and contributed to be maintained as a yocto
>>>> BSP, so
>>>> the layers name is not something that I control or can change.
>>>>
>>>> Other similar layers can use the same name if they want, I was
>>>> pointing it
>>>> out for reference, since I've had the same thing pointed out to me in
>>>> the past ;)
>>>
>>> The bigger question is whether that layer is getting maintained. If it
>>> isn't, it will likely get removed. I'd prefer it to get added to the
>>> layer index and the namespace collision getting fixed.
>>>
>>> I was going to cc the maintainer but there isn't one listed in the
>>> README which is a really bad start. The feedback I gave when this was
>>> added has not all been acted upon either (multi-dtb.inc,
>>> layencytop/sysprof nastiness).
>>>
>>> This puts it right at the top of my "likely to get removed soon" list.
>>
>> It is being maintained, updates are pending.
>>
>>>
>>> Bruce: Since you have an idea who wrote it, could you find out whether
>>> its going to get fixed (at the very least fix the README, add to the
>>> index and resolve the namespace) or whether I should be deleting it.
>>
>> Don't delete it. Work is being done. This was supposed to be a primary
>> repository for work, and it is the basis for spin off BSPs. There was
>> a handoff issue between Wind River and Xylinx .. but I don't have all
>> the details.
>>
>> And it's something that I'll be carrying forward and pulling kernel
>> patches into linux-yocto on the next kernel bump.
>>
>> I'll do the simple updates to the README and put it in the layer index.
>
> I'm concerned the kernel version is the yocto project version is based
> off 3.2 and the code in git.xilinx.com is based of 3.3 now.

True. But the work I mentioned is happening is to move this to 3.4.
3.2 is the version that Xilinx requested for initial integration as a
yocto BSP, so that's where it sits for now.

>
> I do not like either situation :)

Niether do I.

>
> But, working with vendors who provide git repos of their work, it is
> easier for people using the boards to track the vendor tree, and not
> spend time figuring out how to get from linux releases to the vendor tree.

In this case, they were hoping to track the yocto kernel versions to
not make version skew or spread the version landscape anymore. As far
as I know, this is still the case, since it makes the route to commercial
support simpler in some cases.

>
> I'd like to see the layers unifed, since we need to reduce confusion,
> but have some reservations about the layer on the Yocto Project server.

I'm sure we can work through them, I'm raising the right people at
Xilinx to discuss as well, since in the end, their voice carries the
most weight.

Cheers,

Bruce

>
> Philip
>
>>
>> Cheers,
>>
>> Bruce
>>
>>>
>>> Cheers,
>>>
>>> Richard
>>>
>>> _______________________________________________
>>> yocto mailing list
>>> yocto@yoctoproject.org
>>> https://lists.yoctoproject.org/listinfo/yocto
>>
>> _______________________________________________
>> yocto mailing list
>> yocto@yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/yocto
>>
>>



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

* Re: any success with spartan6-lx9mb?
  2012-09-07  3:21   ` Elvis Dowson
@ 2012-09-08 17:04     ` Trevor Woerner
  2012-09-12 18:47       ` Trevor Woerner
  0 siblings, 1 reply; 23+ messages in thread
From: Trevor Woerner @ 2012-09-08 17:04 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

Hi Elvis,

Wow! Thanks so much for the help. I have not yet had the time to dig
into the guts of yocto/oe so I appreciate the opportunity :-)

On Thu, Sep 6, 2012 at 11:21 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
> 01. Remove the TARGET_FPU = "soft" specification
>
> 02. Quickly test the machine/spartan6-lx9mb.conf by temporarily changing the
> tune file to include/tune-microblaze.inc, and see if the toolchain gets
> built using gcc-4.7 recipes.

Using the information you provided, my investigations have centered
around 3 files from meta-xilinx:
    conf/machine/spartan6-lx9mb.conf
    conf/machine/include/tune-microblaze.inc
    conf/machine/include/microblaze/arch-microblaze.inc

First off: I'm curious why, when you refer to your meta-xilinx files,
you seem to have additional directories:
    meta-xilinx/tree/conf/machine/spartan6-lx9mb.conf [tree?]
    meta-xilinx/conf.machine/include/tune-microblazeel.inc [conf.machine?]

Secondly: usually when a bake needs to be restarted there's usually
some sort of "bitbake -f" or "bitbake -c clean -f <recipe>" that needs
to be issued. While performing my tests I never issued any such
cleanups and the new configurations seemed to be picked up correctly.
It is reasonable to believe my procedure is okay when modifying these
"machine" files?

I started by editing conf/machine/spartan-lx9mb.conf to "require
conf/machine/include/tune-microblaze.inc" from "tune-microblazeel.inc"
and removing 'TARGET_FPU = "soft"' from the "tune-microblaze.inc"
file. This, unfortunately failed:

    Build Configuration:
    BB_VERSION        = "1.15.3"
    TARGET_ARCH       = "microblaze"
    TARGET_OS         = "linux"
    MACHINE           = "spartan6-lx9mb"
    DISTRO            = "poky"
    DISTRO_VERSION    = "1.2+snapshot-20120908"
    TUNE_FEATURES     = "m32 fpu-soft"
    TARGET_FPU        = "soft"
    meta
    meta-yocto        = "master:5343cdb20ee56a8b507733c637dcc2466ae13288"
    meta-xilinx       = "mywork:d196fa93c7ff5e080d4c44e2b83aed472f32b2c7"

because of the following line in
conf/machine/include/microblaze/arch-microblaze.inc:

    TARGET_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft",
"soft", "", d)}"

If I delete the line I get:
    Build Configuration:
    BB_VERSION        = "1.15.3"
    TARGET_ARCH       = "microblaze"
    TARGET_OS         = "linux"
    MACHINE           = "spartan6-lx9mb"
    DISTRO            = "poky"
    DISTRO_VERSION    = "1.2+snapshot-20120908"
    TUNE_FEATURES     = "m32 fpu-soft"
    meta
    meta-yocto        = "master:5343cdb20ee56a8b507733c637dcc2466ae13288"
    meta-xilinx       = "mywork:d196fa93c7ff5e080d4c44e2b83aed472f32b2c7"

Or if I modify the line to be:

    TARGET_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft",
"", "", d)}"

I get:
    Build Configuration:
    BB_VERSION        = "1.15.3"
    TARGET_ARCH       = "microblaze"
    TARGET_OS         = "linux"
    MACHINE           = "spartan6-lx9mb"
    DISTRO            = "poky"
    DISTRO_VERSION    = "1.2+snapshot-20120908"
    TUNE_FEATURES     = "m32 fpu-soft"
    TARGET_FPU        = ""
    meta
    meta-yocto        = "master:5343cdb20ee56a8b507733c637dcc2466ae13288"
    meta-xilinx       = "mywork:d196fa93c7ff5e080d4c44e2b83aed472f32b2c7"

I don't know if one is better than the other, but in either case the
build of gcc-cross-initial_4.7.bb fails with:

    opening microblaze-c.o: No such file or directory

which is ironic since this is the same error message that originally
led you to suggest I try without the "el".

It appears as though gcc-cross-initial_4.7 is being configured with
the following options:

/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/work-shared/gcc-4.7.1.0+git1+d07e24f4ab59f264d68d21838795349faab5dede-r11/git/configure
    --build=x86_64-linux
    --host=x86_64-linux
    --target=microblaze-poky-linux
    --prefix=/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/sysroots/x86_64-linux/usr
    --exec_prefix=/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/sysroots/x86_64-linux/usr
    --bindir=/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/sysroots/x86_64-linux/usr/bin/microblaze-poky-linux.gcc-cross-initial
    --sbindir=/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/sysroots/x86_64-linux/usr/bin/microblaze-poky-linux.gcc-cross-initial
    --libexecdir=/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/sysroots/x86_64-linux/usr/libexec/microblaze-poky-linux.gcc-cross-initial
    --datadir=/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/sysroots/x86_64-linux/usr/share
    --sysconfdir=/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/sysroots/x86_64-linux/etc
    --sharedstatedir=/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/sysroots/x86_64-linux/com
    --localstatedir=/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/sysroots/x86_64-linux/var
    --libdir=/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/sysroots/x86_64-linux/usr/lib/microblaze-poky-linux.gcc-cross-initial
    --includedir=/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/sysroots/x86_64-linux/usr/include
    --oldincludedir=/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/sysroots/x86_64-linux/usr/include
    --infodir=/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/sysroots/x86_64-linux/usr/share/info
    --mandir=/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/sysroots/x86_64-linux/usr/share/man
    --disable-silent-rules
    --disable-dependency-tracking
    --with-libtool-sysroot=/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/sysroots/x86_64-linux
    --with-newlib
    --without-headers
    --disable-shared
    --disable-threads
    --disable-multilib
    --disable-__cxa_atexit
    --enable-languages=c
    --enable-target-optspace
    --program-prefix=microblaze-poky-linux-
    --with-sysroot=/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/sysroots/spartan6-lx9mb
    --with-build-sysroot=/home/trevor/devel/yocto/git-method/spartan6-lx9/tmp/work/microblaze-poky-linux/gcc-cross-initial-4.7.1.0+git1+d07e24f4ab59f264d68d21838795349faab5dede-r11/gcc-4_7-branch/build.x86_64-linux.microblaze-poky-linux/tmpsysroot
    --disable-libmudflap
    --disable-libgomp
    --disable-libssp
    --disable-libquadmath
    --with-system-zlib
    --disable-lto
    --disable-plugin
    --enable-decimal-float=no
    --disable-nls
    --enable-__cxa_atexit

I'll continue digging at the compiler, but all and any suggested
gladly welcomed. Two (or more things) are obviously fighting each
other since __cxa_atexit is both --disabled and --enabled. Is the
--with-newlib strange? Shouldn't there be a "-mcpu=" option in there
somewhere?

Does Xilinx have/use/suggest a particular version of gcc?

If I did have a filesystem ready to test and a board containing an
appropriate Xilinx part, do the free ISE tools allow me to work with
any soft cores, or do I need a paid license? (I also wonder how this
works for the Zynq board too).

Best regards,
    Trevor


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

* Re: any success with spartan6-lx9mb?
  2012-09-08 17:04     ` Trevor Woerner
@ 2012-09-12 18:47       ` Trevor Woerner
  2012-09-13  5:26         ` Khem Raj
  0 siblings, 1 reply; 23+ messages in thread
From: Trevor Woerner @ 2012-09-12 18:47 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

Here's a status update, in case anyone is interested. My goal is to
use the Yocto Project to create an image for the Microblaze soft
processor core.

I started by adding the meta-xilinx layer and specifying:
    MACHINE = "spartan6-lx9mb"

This fails because the microblaze port of the gcc compiler does not
accept the soft FPU compile flag; this one is easy enough to get
around (the details can be found in earlier emails). Later the build
of the cross compiler fails because an object file is not found. Elvis
suggested switching from microblaze EL to "regular" microblaze. No
change; same failure in the same place.

I then started looking at Xilinx's website to see what they provided
in terms of a gcc compiler. Surfing to

    http://www.xilinx.com/guest_resources/gnu/

I find two sets of microblaze compiler tools: one based around
gcc-4.1.2/gdb-6.5/binutils-2.16/newlib-1.14 and another based around
gcc-4.6.2/gdb-7.3.50/binutils-2.21.53/newlib-1.19.

Unpacking any from the first set gives me a README file, 3 scripts to
run (build_binutils.sh,  build_gcc.sh (which calls
build_newlib_variants.sh), and build_gdb.sh). build_binutils.sh builds
binutils and gprof, build_gcc.sh builds a cross-gcc and several
variants of newlib. If I run the build_binutils.sh script binutils
builds okay but gprof fails. I can still run build_gcc.sh and both the
cross-compiler and the newlib variants are built. build_gdb.sh fails.
If I start by replacing my host's gcc-4.7.1 with gcc-4.1.2 gprof will
succeed but gdb will continue to fail.

I am not able to get either of the two packages based around gcc-4.6.2
(etc) to build using either my native gcc-4.7.1 or gcc-4.1.2.

So now that I had a cross-toolchain based around gcc-4.1.2 I started
looking at configuring yocto to use an external toolchain. That's when
I noticed Adrian had already provided recipes for using another,
pre-built, toolchain from Xilinx (awesome!):

    git://git.xilinx.com/xldk/microblaze_v2.0.git

So setup yocto for an external toolchain,

    TCMODE = "external-xilinx"
    XILINX_TOOLCHAIN = "<path to unpacked
toolchain>/microblaze_v2.0/microblaze-unknown-linux-gnu"

retrieved and unpacked this new toolchain (based around gcc-4.1.2),
and attempted a "bitbake core-image-minimal"

This fails too, when trying to configure libtool-cross for a couple of reasons:

| configure:3661: checking for C compiler version
| configure:3670: microblaze-unknown-linux-gnu-gcc  -m32  -mcpu=v8.10a
--sysroot=/home/trevor/devel/microblaze/microblaze_v2.0/microblaze-unknown-linux-gnu/microblaze-unknown-linux-gnu/sys-root
--version >&5
| microblaze-unknown-linux-gnu-gcc (GCC) 4.1.2
| Copyright (C) 2006 Free Software Foundation, Inc.
| This is free software; see the source for copying conditions.  There is NO
| warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
| configure:3681: $? = 0
| configure:3670: microblaze-unknown-linux-gnu-gcc  -m32  -mcpu=v8.10a
--sysroot=/home/trevor/devel/microblaze/microblaze_v2.0/microblaze-unknown-linux-gnu/microblaze-unknown-linux-gnu/sys-root
-v >&5
| Using built-in specs.
| Target: microblaze-unknown-linux-gnu
| Configured with:
/home/jwilliams/petalinux/petalinux-v1.00-devel/devel/packager/gnu/toolchains/skeleton/build/crosstool-ng/targets/src/gcc-4.1.2/configure
--build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu
--target=microblaze-unknown-linux-gnu
--prefix=/home/jwilliams/petalinux/petalinux-v1.00-devel/devel/packager/gnu/toolchains/../toolchains/tool-build/microblaze-unknown-linux-gnu
--with-sysroot=/home/jwilliams/petalinux/petalinux-v1.00-devel/devel/packager/gnu/toolchains/../toolchains/tool-build/microblaze-unknown-linux-gnu/microblaze-unknown-linux-gnu//sys-root
--enable-languages=c,c++ --enable-multilib --enable-__cxa_atexit
--with-local-prefix=/home/jwilliams/petalinux/petalinux-v1.00-devel/devel/packager/gnu/toolchains/../toolchains/tool-build/microblaze-unknown-linux-gnu/microblaze-unknown-linux-gnu//sys-root
--disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99
--enable-long-long --enable-target-optspace
| Thread model: posix
| gcc version 4.1.2
| configure:3681: $? = 0
| configure:3670: microblaze-unknown-linux-gnu-gcc  -m32  -mcpu=v8.10a
--sysroot=/home/trevor/devel/microblaze/microblaze_v2.0/microblaze-unknown-linux-gnu/microblaze-unknown-linux-gnu/sys-root
-V >&5
| microblaze-unknown-linux-gnu-gcc: '-V' must come at the start of the
command line
| configure:3681: $? = 1
| configure:3670: microblaze-unknown-linux-gnu-gcc  -m32  -mcpu=v8.10a
--sysroot=/home/trevor/devel/microblaze/microblaze_v2.0/microblaze-unknown-linux-gnu/microblaze-unknown-linux-gnu/sys-root
-qversion >&5
| microblaze-unknown-linux-gnu-gcc: unrecognized option '-qversion'
| microblaze-unknown-linux-gnu-gcc: no input files
| configure:3681: $? = 1
| configure:3701: checking whether the C compiler works
| configure:3723: microblaze-unknown-linux-gnu-gcc  -m32  -mcpu=v8.10a
--sysroot=/home/trevor/devel/microblaze/microblaze_v2.0/microblaze-unknown-linux-gnu/microblaze-unknown-linux-gnu/sys-root
-O2 -pipe -g -feliminate-unused-debug-types  -Wl,-O1
-Wl,--hash-style=gnu conftest.c  >&5
| cc1: error: unrecognized command line option "-m32"
| conftest.c:1: error: (v8.10a) is an invalid argument to -mcpu=

It is too bad libtool is required as part of core-image-minimal, that
seems kinda heavy for a minimal image. In any case I also gave
poky-tiny a spin but that didn't work either for the exact same
reason. My next steps are to try creating my own "minimal" images that
can hopefully get around libtool-cross. Another plan of action is to
try using meta-xilinx with one or more of the yocto releases to see if
that doesn't help create a clean build.

I would be interested in knowing if anyone else is interested in
microblaze. It would also be great to know if Xilinx is aware of this
and/or is working on this support.

I also can't help notice that on Aug. 28, 2012 Xilinx acquired
PetaLogix. I hope this helps improve Xilinx's public support for this
architecture :-)


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

* Re: any success with spartan6-lx9mb?
  2012-09-12 18:47       ` Trevor Woerner
@ 2012-09-13  5:26         ` Khem Raj
  2012-09-13 16:36           ` Elvis Dowson
  0 siblings, 1 reply; 23+ messages in thread
From: Khem Raj @ 2012-09-13  5:26 UTC (permalink / raw)
  To: Trevor Woerner; +Cc: Yocto Discussion Mailing List

On Wed, Sep 12, 2012 at 11:47 AM, Trevor Woerner <twoerner@gmail.com> wrote:
> Here's a status update, in case anyone is interested. My goal is to
> use the Yocto Project to create an image for the Microblaze soft
> processor core.
>
> I started by adding the meta-xilinx layer and specifying:
>     MACHINE = "spartan6-lx9mb"
>
> This fails because the microblaze port of the gcc compiler does not
> accept the soft FPU compile flag; this one is easy enough to get
> around (the details can be found in earlier emails). Later the build
> of the cross compiler fails because an object file is not found. Elvis
> suggested switching from microblaze EL to "regular" microblaze. No
> change; same failure in the same place.
>
> I then started looking at Xilinx's website to see what they provided
> in terms of a gcc compiler. Surfing to
>
>     http://www.xilinx.com/guest_resources/gnu/
>
> I find two sets of microblaze compiler tools: one based around
> gcc-4.1.2/gdb-6.5/binutils-2.16/newlib-1.14 and another based around
> gcc-4.6.2/gdb-7.3.50/binutils-2.21.53/newlib-1.19.
>
> Unpacking any from the first set gives me a README file, 3 scripts to
> run (build_binutils.sh,  build_gcc.sh (which calls
> build_newlib_variants.sh), and build_gdb.sh). build_binutils.sh builds
> binutils and gprof, build_gcc.sh builds a cross-gcc and several
> variants of newlib. If I run the build_binutils.sh script binutils
> builds okay but gprof fails. I can still run build_gcc.sh and both the
> cross-compiler and the newlib variants are built. build_gdb.sh fails.
> If I start by replacing my host's gcc-4.7.1 with gcc-4.1.2 gprof will
> succeed but gdb will continue to fail.
>
> I am not able to get either of the two packages based around gcc-4.6.2
> (etc) to build using either my native gcc-4.7.1 or gcc-4.1.2.
>
> So now that I had a cross-toolchain based around gcc-4.1.2 I started
> looking at configuring yocto to use an external toolchain. That's when
> I noticed Adrian had already provided recipes for using another,
> pre-built, toolchain from Xilinx (awesome!):
>
>     git://git.xilinx.com/xldk/microblaze_v2.0.git
>
> So setup yocto for an external toolchain,
>
>     TCMODE = "external-xilinx"
>     XILINX_TOOLCHAIN = "<path to unpacked
> toolchain>/microblaze_v2.0/microblaze-unknown-linux-gnu"
>
> retrieved and unpacked this new toolchain (based around gcc-4.1.2),
> and attempted a "bitbake core-image-minimal"
>
> This fails too, when trying to configure libtool-cross for a couple of reasons:
>
> | configure:3661: checking for C compiler version
> | configure:3670: microblaze-unknown-linux-gnu-gcc  -m32  -mcpu=v8.10a
> --sysroot=/home/trevor/devel/microblaze/microblaze_v2.0/microblaze-unknown-linux-gnu/microblaze-unknown-linux-gnu/sys-root
> --version >&5
> | microblaze-unknown-linux-gnu-gcc (GCC) 4.1.2
> | Copyright (C) 2006 Free Software Foundation, Inc.
> | This is free software; see the source for copying conditions.  There is NO
> | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> |
> | configure:3681: $? = 0
> | configure:3670: microblaze-unknown-linux-gnu-gcc  -m32  -mcpu=v8.10a
> --sysroot=/home/trevor/devel/microblaze/microblaze_v2.0/microblaze-unknown-linux-gnu/microblaze-unknown-linux-gnu/sys-root
> -v >&5
> | Using built-in specs.
> | Target: microblaze-unknown-linux-gnu
> | Configured with:
> /home/jwilliams/petalinux/petalinux-v1.00-devel/devel/packager/gnu/toolchains/skeleton/build/crosstool-ng/targets/src/gcc-4.1.2/configure
> --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu
> --target=microblaze-unknown-linux-gnu
> --prefix=/home/jwilliams/petalinux/petalinux-v1.00-devel/devel/packager/gnu/toolchains/../toolchains/tool-build/microblaze-unknown-linux-gnu
> --with-sysroot=/home/jwilliams/petalinux/petalinux-v1.00-devel/devel/packager/gnu/toolchains/../toolchains/tool-build/microblaze-unknown-linux-gnu/microblaze-unknown-linux-gnu//sys-root
> --enable-languages=c,c++ --enable-multilib --enable-__cxa_atexit
> --with-local-prefix=/home/jwilliams/petalinux/petalinux-v1.00-devel/devel/packager/gnu/toolchains/../toolchains/tool-build/microblaze-unknown-linux-gnu/microblaze-unknown-linux-gnu//sys-root
> --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99
> --enable-long-long --enable-target-optspace
> | Thread model: posix
> | gcc version 4.1.2
> | configure:3681: $? = 0
> | configure:3670: microblaze-unknown-linux-gnu-gcc  -m32  -mcpu=v8.10a
> --sysroot=/home/trevor/devel/microblaze/microblaze_v2.0/microblaze-unknown-linux-gnu/microblaze-unknown-linux-gnu/sys-root
> -V >&5
> | microblaze-unknown-linux-gnu-gcc: '-V' must come at the start of the
> command line
> | configure:3681: $? = 1
> | configure:3670: microblaze-unknown-linux-gnu-gcc  -m32  -mcpu=v8.10a
> --sysroot=/home/trevor/devel/microblaze/microblaze_v2.0/microblaze-unknown-linux-gnu/microblaze-unknown-linux-gnu/sys-root
> -qversion >&5
> | microblaze-unknown-linux-gnu-gcc: unrecognized option '-qversion'
> | microblaze-unknown-linux-gnu-gcc: no input files
> | configure:3681: $? = 1
> | configure:3701: checking whether the C compiler works
> | configure:3723: microblaze-unknown-linux-gnu-gcc  -m32  -mcpu=v8.10a
> --sysroot=/home/trevor/devel/microblaze/microblaze_v2.0/microblaze-unknown-linux-gnu/microblaze-unknown-linux-gnu/sys-root
> -O2 -pipe -g -feliminate-unused-debug-types  -Wl,-O1
> -Wl,--hash-style=gnu conftest.c  >&5
> | cc1: error: unrecognized command line option "-m32"
> | conftest.c:1: error: (v8.10a) is an invalid argument to -mcpu=
>


here find out from where is -m32 option coming from. It seems the
compiler you are hooking in does not like it. similarly it does not
seem to like mcpu=v8.10a they must be coming from tune-microblaze.inc
file. It could be that those tune files are written for gcc 4.6 and
not 4.1 as you are trying.


> It is too bad libtool is required as part of core-image-minimal, that
> seems kinda heavy for a minimal image.

its libtool-cross so its being built for some other packages that are
going into root file system having some libtool infra
libtool is not directly going into your image per se. But libtool is
very commonly used tool.

In any case I also gave
> poky-tiny a spin but that didn't work either for the exact same
> reason. My next steps are to try creating my own "minimal" images that
> can hopefully get around libtool-cross. Another plan of action is to
> try using meta-xilinx with one or more of the yocto releases to see if
> that doesn't help create a clean build.
>
> I would be interested in knowing if anyone else is interested in
> microblaze. It would also be great to know if Xilinx is aware of this
> and/or is working on this support.
>
> I also can't help notice that on Aug. 28, 2012 Xilinx acquired
> PetaLogix. I hope this helps improve Xilinx's public support for this
> architecture :-)
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto


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

* Re: any success with spartan6-lx9mb?
  2012-09-13  5:26         ` Khem Raj
@ 2012-09-13 16:36           ` Elvis Dowson
  2012-09-13 17:12             ` Khem Raj
       [not found]             ` <CAHUNapQm1sJSU5zDP6-0MEEhYoU_WPtXbVoO4_g8MK_r3p843Q@mail.gmail.com>
  0 siblings, 2 replies; 23+ messages in thread
From: Elvis Dowson @ 2012-09-13 16:36 UTC (permalink / raw)
  To: Trevor Woerner; +Cc: Yocto Discussion Mailing List

Hi Trevor,
                   I just briefly tried building it, using gcc-4.5.1, and got build failures too. It looks like it will take some effort to get this up and running with the current version of yocto. I just managed to get powerpc440 soft-float working with gcc-4.5.1 & eglibc-2.13 with a specific commit id for poky and meta-openembedded. Now I have to try and make that legacy gcc-4.5.1 support with with the latest poky and meta-openembedded master branch. Perhaps if you get a Xilinx SP601 board and dive in, you could help get microblaze up and running!

Best regards,

Elvis

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

* Re: any success with spartan6-lx9mb?
  2012-09-13 16:36           ` Elvis Dowson
@ 2012-09-13 17:12             ` Khem Raj
  2012-09-13 18:03               ` Trevor Woerner
       [not found]             ` <CAHUNapQm1sJSU5zDP6-0MEEhYoU_WPtXbVoO4_g8MK_r3p843Q@mail.gmail.com>
  1 sibling, 1 reply; 23+ messages in thread
From: Khem Raj @ 2012-09-13 17:12 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

On Thu, Sep 13, 2012 at 9:36 AM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
>
>                    I just briefly tried building it, using gcc-4.5.1, and got build failures too. It looks like it will take some effort to get this up and running with the current version of yocto. I just managed to get powerpc440 soft-float working with gcc-4.5.1 & eglibc-2.13 with a specific commit id for poky and meta-openembedded. Now I have to try and make that legacy gcc-4.5.1 support with with the latest poky and meta-openembedded master branch. Perhaps if you get a Xilinx SP601 board and dive in, you could help get microblaze up and running!

we always like good problem reports so if you find anything wrong with
core metadata we would be more than happy to help in fixing it.
Elvis, btw. I have done a patch for gcc 4.7 in master which should
help fix ppc/soft-float I dont know if it will help you but you could
try that out.


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

* Re: any success with spartan6-lx9mb?
  2012-09-13 17:12             ` Khem Raj
@ 2012-09-13 18:03               ` Trevor Woerner
  2012-09-13 18:07                 ` Trevor Woerner
  0 siblings, 1 reply; 23+ messages in thread
From: Trevor Woerner @ 2012-09-13 18:03 UTC (permalink / raw)
  To: Khem Raj, Elvis Dowson, Adrian Alonso; +Cc: Yocto Discussion Mailing List

Hi guys,

Thanks for all the support so far. Currently I'm still trying to make
some headway with the Xilinx-supplied external toolchain (gcc-4.1.2).

When I saw the original errors I was having configuring libtool-cross
I was concerned about the "-V must be at start" and "unrecognized
option -qversion" problems I was having. Searching online wasn't
helping very much. But then Khem correctly pointed out (indirectly)
that those weren't any problem. libtool-cross's ./configure script was
simply examining the compiler tools to see if those options were okay
or not. The real problem (as Khem pointed out) was with the -m32 and
-mcpu= options.

Looking at an older version of
meta-xilinx/conf/machine/include/tune-microblazeel.inc (which was
committed by Adrian) showed that the -mcpu= option used to be:

    -mcpu=v8.10.a

instead of:

    -mcpu=v8.10a

So with the following patch to
meta-xilinx/conf/machine/include/tune-microblazeel.inc

-------------------------------------------------------------------
diff --git a/conf/machine/include/tune-microblazeel.inc
b/conf/machine/include/tune-microblazeel.inc
index a0cf7b7..1dc1bf3 100644
--- a/conf/machine/include/tune-microblazeel.inc
+++ b/conf/machine/include/tune-microblazeel.inc
@@ -4,13 +4,13 @@ DEFAULTTUNE ?= "microblazeel"
 require conf/machine/include/microblaze/arch-microblaze.inc

 TUNEVALID[microblazeel] = "Enable microblaze endian little optimizations"
-TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "microblazeel",
"-mcpu=v8.10a", "", d)}"
+TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "microblazeel",
"-mcpu=v8.10.a", "", d)}"
 TUNE_PKGARCH = "${@bb.utils.contains("TUNE_FEATURES", "microblazeel",
"microblazeel", "microblazeel", d)}"

-TARGET_FPU = "soft"
+#TARGET_FPU = "soft"

 AVAILTUNES += "microblazeel"
-TUNE_FEATURES_tune-microblazeel = "m32 microblazeel"
+TUNE_FEATURES_tune-microblazeel = "microblazeel"
 PACKAGE_EXTRA_ARCHS_tune-microblazeel = "microblazeel"

 #MACHINEOVERRIDES .= "microblaze"
-------------------------------------------------------------------

and the following patch to
meta-xilinx/conf/machine/include/microblaze/arch-microblaze.inc

-------------------------------------------------------------------
diff --git a/conf/machine/include/microblaze/arch-microblaze.inc
b/conf/machine/include/microblaze/arch-microblaze.inc
index 485defa..f76f30e 100644
--- a/conf/machine/include/microblaze/arch-microblaze.inc
+++ b/conf/machine/include/microblaze/arch-microblaze.inc
@@ -2,16 +2,16 @@
 DEFAULTTUNE ?= "microblaze"

 TUNEVALID[m32] = "Microblaze ELF32 standard ABI"
-TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "m32", "-m32", "", d)}"
-TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m32",
"microblaze", "", d)}"
+#TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "m32", "-m32", "", d)}"
+TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "", "microblaze", "", d)}"

 TUNEVALID[fpu-soft] = "Use software FPU."
-TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft",
"-msoft-float", "", d)}"
-TARGET_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft",
"soft", "", d)}"
+#TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft",
"-msoft-float", "", d)}"
+#TARGET_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft",
"soft", "", d)}"

 TUNE_PKGARCH ?= "${TUNE_ARCH}"

 AVAILTUNES += "microblaze"
-TUNE_FEATURES_tune-microblaze ?= "m32 fpu-soft"
+#TUNE_FEATURES_tune-microblaze ?= "m32 fpu-soft"
 PACKAGE_EXTRA_ARCHS_tune-microblaze = "microblaze"
-------------------------------------------------------------------

Basically:
- remove any references to TARGET_FPU/fpu-soft/soft/FPU/...
- remove any references to m32/32/...
- change v8.10a to v8.10.a

I was able to get libtool-cross to configure.

While building libtool-cross, however, I encountered another problem,
something to do with "--hash-style=gnu" not supported. This problem I
was able to fix by adding the following line to my conf/local.conf:

    TARGET_LINK_HASH_STYLE = ""

With this last change I was able to get past libtool-cross which built
just fine.

The build then progresses for quite a while past that but then finally
fails trying to configure libffi:

  error: "libffi has not been ported to microblaze-unknown-linux-gnu."

So now I'm basically digging through the various layers to investigate
making my own really small "distribution". If all I really want to do
is get to a command-line, isn't all I _really_ need just a kernel,
busybox, and a small set of configuration files?


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

* Re: any success with spartan6-lx9mb?
  2012-09-13 18:03               ` Trevor Woerner
@ 2012-09-13 18:07                 ` Trevor Woerner
  2012-09-13 18:58                   ` Khem Raj
  0 siblings, 1 reply; 23+ messages in thread
From: Trevor Woerner @ 2012-09-13 18:07 UTC (permalink / raw)
  To: Khem Raj, Elvis Dowson, Adrian Alonso; +Cc: Yocto Discussion Mailing List

PS simply BBMASK'ing out libffi doesn't help as too many things...
require(?) it (depend on it, rdepend on it...?)

ERROR: Nothing PROVIDES 'libffi' (but
/home/trevor/devel/yocto/gitrepo-method/poky/meta/recipes-core/glib-2.0/glib-2.0_2.32.4.bb
DEPENDS on or otherwise requires it)
NOTE: Runtime target 'udev' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['udev', 'glib-2.0', 'libffi']
NOTE: Runtime target 'packagegroup-core-boot' is unbuildable, removing...
Missing or unbuildable dependency chain was:
['packagegroup-core-boot', 'udev', 'glib-2.0', 'libffi']
ERROR: Required build target 'core-image-minimal' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-minimal',
'packagegroup-core-boot', 'udev', 'glib-2.0', 'libffi']


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

* Re: any success with spartan6-lx9mb?
  2012-09-13 18:07                 ` Trevor Woerner
@ 2012-09-13 18:58                   ` Khem Raj
  0 siblings, 0 replies; 23+ messages in thread
From: Khem Raj @ 2012-09-13 18:58 UTC (permalink / raw)
  To: Trevor Woerner, Elvis Dowson, Adrian Alonso; +Cc: Yocto Discussion Mailing List



Trevor Woerner <twoerner@gmail.com> wrote:

>PS simply BBMASK'ing out libffi doesn't help as too many things...
>require(?) it (depend on it, rdepend on it...?)


You can try to make libffi as a package group in glib20 if possible other option would be to use something like mdev instead of udev
>
>ERROR: Nothing PROVIDES 'libffi' (but
>/home/trevor/devel/yocto/gitrepo-method/poky/meta/recipes-core/glib-2.0/glib-2.0_2.32.4.bb
>DEPENDS on or otherwise requires it)
>NOTE: Runtime target 'udev' is unbuildable, removing...
>Missing or unbuildable dependency chain was: ['udev', 'glib-2.0',
>'libffi']
>NOTE: Runtime target 'packagegroup-core-boot' is unbuildable,
>removing...
>Missing or unbuildable dependency chain was:
>['packagegroup-core-boot', 'udev', 'glib-2.0', 'libffi']
>ERROR: Required build target 'core-image-minimal' has no buildable
>providers.
>Missing or unbuildable dependency chain was: ['core-image-minimal',
>'packagegroup-core-boot', 'udev', 'glib-2.0', 'libffi']



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

* Re: any success with spartan6-lx9mb?
       [not found]             ` <CAHUNapQm1sJSU5zDP6-0MEEhYoU_WPtXbVoO4_g8MK_r3p843Q@mail.gmail.com>
@ 2012-09-14  0:08               ` Elvis Dowson
  2012-11-07  0:15                 ` Adrian Alonso
  0 siblings, 1 reply; 23+ messages in thread
From: Elvis Dowson @ 2012-09-14  0:08 UTC (permalink / raw)
  To: Trevor Woerner; +Cc: Yocto Discussion Mailing List

Hi Trevor,

On Sep 13, 2012, at 10:17 PM, Trevor Woerner wrote:
> 
> ~$300 for the SP601 is certainly not too onerous. If I start to see
> more success with yocto I will definitely consider it.
> 
> Other options include:
> - qemu (maybe getting yocto to run/build a microblaze qemu image would be nice)
> - the spartan-6 version of the papilio board (which is either going to
> be a papilio plus or the papilio pro)
> 
> I do have one question though: if I had the SP601, would I be able to
> download (for free) an synthesize (using the freely available ISE
> tools) a microblaze and/or a PPC soft core? Or would I need to pay for
> those components (and if so, how much)?

There are two parts of the design suite, ISE (for VHDL and Verilog) 
development, and XPS (EDK) for re-using the Xilinx IP cores in
a project. To edit microblaze projects, you would need an EDK
license. The standard webpack only includes a license for the ISE
component, and is usually device locked to a particular set of 
devices, usually the low-end FPGAs.

The SP601 comes only with the WebPack software, so hmm no, not
suitable for what you want to do.

What you really need is the ISE Embedded Edition or System Edition,
in order to be able to configure your IP cores using the Xilinx
Base System Builder, so that you can design your peripherals
around a MicroBlaze (Virtex, Spartan) or ARM (Zynq) processor core.

There are no soft PowerPC IP cores, only hard PowerPC IP cores on
specific Virtex 4 (PPC405) / 5 (PPC440) FPGA variants, with the FXT designation. 

Xilinx stopped using PowerPC hard cores with the Virtex 5 series.

So, series-6 and series-7 FPGAs don't have PowerPC any more, and the only
option was to use a soft core processor like the microblaze. In the specific 
case of the Zynq series, they have a dual ARM Cortex-A9 hard core processor.

I find that the Spartan-6 Embedded Kit (SP605 + ISE Design Suite Embedded
Edition) gives you want you want, and the price listed on the website is USD$695.

http://www.xilinx.com/products/boards-and-kits/DK-S6-EMBD-G.htm

The other option is the Zynq-EPP 7020 platform which includes the base board
with the ARM processor, and ISE Design Suite System Edition for USD$895.

Best regards,

Elvis Dowson




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

* Re: any success with spartan6-lx9mb?
  2012-09-14  0:08               ` Elvis Dowson
@ 2012-11-07  0:15                 ` Adrian Alonso
  0 siblings, 0 replies; 23+ messages in thread
From: Adrian Alonso @ 2012-11-07  0:15 UTC (permalink / raw)
  To: Elvis Dowson; +Cc: Yocto Discussion Mailing List

I just read most of the thread,

Is clear that another maintainer for meta-xilinx is needed :)

To summarize spartan6-lx9mb I only succeed in building an initramfs image, using
Xilinx prebuilt toolchain.

Check
recipes-core/images/initramfs-image
in microblaze-support branch

The only build step that I found are here
http://wiki.secretlab.ca/Poky_Linux_Microblaze_support

Which are for Microblaze in Virtex5 M507;

At the time that I was working to integrate Microblaze I never pass to
successfully build gcc (4.5.0)
but probably with newer gcc it could be different story.

Regards

On Thu, Sep 13, 2012 at 7:08 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote:
>
> Hi Trevor,
>
> On Sep 13, 2012, at 10:17 PM, Trevor Woerner wrote:
> >
> > ~$300 for the SP601 is certainly not too onerous. If I start to see
> > more success with yocto I will definitely consider it.
> >
> > Other options include:
> > - qemu (maybe getting yocto to run/build a microblaze qemu image would be nice)
> > - the spartan-6 version of the papilio board (which is either going to
> > be a papilio plus or the papilio pro)
> >
> > I do have one question though: if I had the SP601, would I be able to
> > download (for free) an synthesize (using the freely available ISE
> > tools) a microblaze and/or a PPC soft core? Or would I need to pay for
> > those components (and if so, how much)?
>
> There are two parts of the design suite, ISE (for VHDL and Verilog)
> development, and XPS (EDK) for re-using the Xilinx IP cores in
> a project. To edit microblaze projects, you would need an EDK
> license. The standard webpack only includes a license for the ISE
> component, and is usually device locked to a particular set of
> devices, usually the low-end FPGAs.
>
> The SP601 comes only with the WebPack software, so hmm no, not
> suitable for what you want to do.
>
> What you really need is the ISE Embedded Edition or System Edition,
> in order to be able to configure your IP cores using the Xilinx
> Base System Builder, so that you can design your peripherals
> around a MicroBlaze (Virtex, Spartan) or ARM (Zynq) processor core.
>
> There are no soft PowerPC IP cores, only hard PowerPC IP cores on
> specific Virtex 4 (PPC405) / 5 (PPC440) FPGA variants, with the FXT designation.
>
> Xilinx stopped using PowerPC hard cores with the Virtex 5 series.
>
> So, series-6 and series-7 FPGAs don't have PowerPC any more, and the only
> option was to use a soft core processor like the microblaze. In the specific
> case of the Zynq series, they have a dual ARM Cortex-A9 hard core processor.
>
> I find that the Spartan-6 Embedded Kit (SP605 + ISE Design Suite Embedded
> Edition) gives you want you want, and the price listed on the website is USD$695.
>
> http://www.xilinx.com/products/boards-and-kits/DK-S6-EMBD-G.htm
>
> The other option is the Zynq-EPP 7020 platform which includes the base board
> with the ARM processor, and ISE Design Suite System Edition for USD$895.
>
> Best regards,
>
> Elvis Dowson
>
>
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto




--
Saludos
Adrian Alonso
http://aalonso.wordpress.com


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

end of thread, other threads:[~2012-11-07  0:15 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-04  2:25 any success with spartan6-lx9mb? Trevor Woerner
2012-09-06 15:19 ` Elvis Dowson
2012-09-06 20:11   ` Trevor Woerner
2012-09-06 21:06     ` Philip Balister
2012-09-06 21:41       ` Trevor Woerner
2012-09-06 22:19       ` Bruce Ashfield
2012-09-07 11:22         ` Philip Balister
2012-09-07 12:27           ` Bruce Ashfield
2012-09-07 16:19             ` Richard Purdie
2012-09-07 16:30               ` Bruce Ashfield
2012-09-07 17:29                 ` meta-zynq, was " Philip Balister
2012-09-07 17:35                   ` Bruce Ashfield
2012-09-07  3:21   ` Elvis Dowson
2012-09-08 17:04     ` Trevor Woerner
2012-09-12 18:47       ` Trevor Woerner
2012-09-13  5:26         ` Khem Raj
2012-09-13 16:36           ` Elvis Dowson
2012-09-13 17:12             ` Khem Raj
2012-09-13 18:03               ` Trevor Woerner
2012-09-13 18:07                 ` Trevor Woerner
2012-09-13 18:58                   ` Khem Raj
     [not found]             ` <CAHUNapQm1sJSU5zDP6-0MEEhYoU_WPtXbVoO4_g8MK_r3p843Q@mail.gmail.com>
2012-09-14  0:08               ` Elvis Dowson
2012-11-07  0:15                 ` Adrian Alonso

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.