[yocto] any success with spartan6-lx9mb?
Trevor Woerner
twoerner at gmail.com
Thu Sep 13 11:03:27 PDT 2012
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?
More information about the yocto
mailing list