[Xenomai-git] Gilles Chanteperdrix : doc: clarify new ARM configuration
Module: xenomai-head Branch: master Commit: 1f988e5b616a884fb13b85056757349b6312a592 URL: http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=1f988e5b616a884fb13b85056757349b6312a592 Author: Gilles Chanteperdrix Date: Mon Aug 1 21:18:47 2011 +0200 doc: clarify new ARM configuration --- README.INSTALL | 50 -- 1 files changed, 28 insertions(+), 22 deletions(-) diff --git a/README.INSTALL b/README.INSTALL index cddff0e..f9727c2 100644 --- a/README.INSTALL +++ b/README.INSTALL @@ -157,23 +157,19 @@ NAMEDESCRIPTION [BINDING,]DEFAULT(*) --enable-x86-tscEnable x86 TSC for timings strong,enabled You must have TSC for this. ---enable-arm-mach Select ARM machine for the none - current build tree, check - configure --help for a list - of valid values. - Passing this option is - mandatory when compiling - Xenomai for ARM - ---enable-arm-arch Define version of the target strong,"4" - ARM core architecture. Using - this option is only necessary - if enable-arm-mach is - integrator. - ---enable-arm-eabi Enable ARM EABI interfaceweak,disabled - ---enable-arm-tscEnable ARM TSC emulationstrong,enabled +--enable-arm-tscEnable ARM TSC emulationweak,kuser + In the unusual situation where + Xenomai kernel support for the + target SOC does not support + the kuser generic emulation, + pass this option to use another + tsc emulation. + See --help for a list of valid + values. + +--enable-arm-quirks Enable quirks for specific ARM weak,disabled + SOCs Currently sa1100 and + xscale3 are supported. (*) Each option enabled by default can be forcibly disabled by passing --disable- to the configure script. @@ -375,20 +371,30 @@ the last two build steps, passing the --disable-shared option to the 2.4 Building for ARM -If the ARM cross-compiler is called arm-linux-gcc and compiling for a -CSB637 board (AT91RM9200 based), a typical compilation will look like: +Using codesourcery toolchain named arm-none-linux-gnueabi-gcc and +compiling for a CSB637 board (AT91RM9200 based), a typical compilation +will look like: $ $xenomai_root/scripts/prepare-kernel.sh --arch=arm \ --adeos=$xenomai_root/ksrc/arch/arm/patches/adeos-ipipe-2.6.20-arm-* \ --linux=$linux_tree $ cd $linux_tree -$ make ARCH=arm CROSS_COMPILE=arm-linux- O=$build_root csb637_defconfig -$ make ARCH=arm CROSS_COMPILE=arm-linux- O=$build_root bzImage modules +$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- O=$build_root \ + csb637_defconfig +$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-- O=$build_root \ + bzImage modules # [manually install the kernel image, system map and modules to the proper location] $ cd $build_root -$ $xenomai_root/configure --build=i686-pc-linux-gnu --host=arm-linux --enable-arm-mach=at91rm9200 --enable-arm-tsc +$ $xenomai_root/configure CFLAGS="-march=armv4t" LDFLAGS="-march=armv4t" \ + --build=i686-pc-linux-gnu --host=arm-none-linux-gnueabi- $ make DESTDIR=$staging_dir install +NOTE: Contrarily to previous releases, Xenomai no longer passes any +arm architecture specific flags, or FPU flags to gcc, so, users +are expected to pass them using the CFLAGS and LDFLAGS variables as +demonstrated above, where the AT91RM9200 is based on the ARM920T core, +and so is an armv4t architecture. + 2.5 Building for NIOS II ___ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git
[Xenomai-git] Gilles Chanteperdrix : doc: clarify new ARM configuration
Module: xenomai-head Branch: master Commit: 567b0dab0fb0888083084f857e6eeac29ff3530c URL: http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=567b0dab0fb0888083084f857e6eeac29ff3530c Author: Gilles Chanteperdrix Date: Mon Aug 1 21:18:47 2011 +0200 doc: clarify new ARM configuration --- README.INSTALL | 44 1 files changed, 24 insertions(+), 20 deletions(-) diff --git a/README.INSTALL b/README.INSTALL index cddff0e..c4d7300 100644 --- a/README.INSTALL +++ b/README.INSTALL @@ -157,23 +157,19 @@ NAMEDESCRIPTION [BINDING,]DEFAULT(*) --enable-x86-tscEnable x86 TSC for timings strong,enabled You must have TSC for this. ---enable-arm-mach Select ARM machine for the none - current build tree, check - configure --help for a list - of valid values. - Passing this option is - mandatory when compiling - Xenomai for ARM - ---enable-arm-arch Define version of the target strong,"4" - ARM core architecture. Using - this option is only necessary - if enable-arm-mach is - integrator. - ---enable-arm-eabi Enable ARM EABI interfaceweak,disabled - ---enable-arm-tscEnable ARM TSC emulationstrong,enabled +--enable-arm-tscEnable ARM TSC emulationweak,kuser + In the unusual situation where + Xenomai kernel support for the + target SOC does not support + the kuser generic emulation, + pass this option to use another + tsc emulation. + See --help for a list of valid + values. + +--enable-arm-quirks Enable quirks for specific ARM weak,disabled + SOCs Currently sa1100 and + xscale3 are supported. (*) Each option enabled by default can be forcibly disabled by passing --disable- to the configure script. @@ -375,8 +371,9 @@ the last two build steps, passing the --disable-shared option to the 2.4 Building for ARM -If the ARM cross-compiler is called arm-linux-gcc and compiling for a -CSB637 board (AT91RM9200 based), a typical compilation will look like: +Using codesourcery toolchain named arm-none-linux-gnueabi-gcc and +compiling for a CSB637 board (AT91RM9200 based), a typical compilation +will look like: $ $xenomai_root/scripts/prepare-kernel.sh --arch=arm \ --adeos=$xenomai_root/ksrc/arch/arm/patches/adeos-ipipe-2.6.20-arm-* \ @@ -386,9 +383,16 @@ $ make ARCH=arm CROSS_COMPILE=arm-linux- O=$build_root csb637_defconfig $ make ARCH=arm CROSS_COMPILE=arm-linux- O=$build_root bzImage modules # [manually install the kernel image, system map and modules to the proper location] $ cd $build_root -$ $xenomai_root/configure --build=i686-pc-linux-gnu --host=arm-linux --enable-arm-mach=at91rm9200 --enable-arm-tsc +$ $xenomai_root/configure CFLAGS="-march=armv4t" LDFLAGS="-march=armv4t" \ + --build=i686-pc-linux-gnu --host=arm-none-linux-gnueabi- $ make DESTDIR=$staging_dir install +NOTE: Contrarily to previous releases, Xenomai no longer passes any +arm architecture specific flags, or FPU flags to gcc, so, users +are expected to pass them using the CFLAGS and LDFLAGS variables as +demonstrated above, where the AT91RM9200 is based on the ARM920T core, +and so is an armv4t architecture. + 2.5 Building for NIOS II ___ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git