<div>First off, I am a complete ARM NooB, so please bare with me... </div><div><br></div><div>I have an opportunity to construct BSPs for a couple of Moxa's xscale-based boards (UC-8418 and DA-661/2). I would appreciate some guidance.</div>

<div><br></div><div>They come equipped with Redboot bootloader, a Linux 2.6 kernel, and a gnu-based cross-toolchain. CPUs are IXP-42x/43x ARMv5TE. It looks like the critical peripherals are already supported (serial ports and NICs) in RTEMS.</div>

<div><br></div><div>Some questions:</div><div>1) Toolchain -- as i said, there's an existing gnu-based toolchain, so I can see how the compiler was constructed:</div>
<div><div>djc@TooLBox--> /opt/xscale_be/bin/xscale_be-gcc -v</div><div>Reading specs from /opt/xscale_be/bin/../lib/gcc/armv5teb-montavista-linuxeabi/3.4.3/specs</div><div>Configured with: ../configure --host=i686-pc-linux-gnu --target=armv5teb-montavista-linuxeabi --prefix=/opt/montavista/foundation/devkit/arm/xscale_be --exec-prefix=/opt/montavista/foundation/devkit/arm/xscale_be --bindir=/opt/montavista/foundation/devkit/arm/xscale_be/bin --sbindir=/opt/montavista/foundation/devkit/arm/xscale_be/sbin --sysconfdir=/opt/montavista/foundation/devkit/arm/xscale_be/etc --datadir=/opt/montavista/foundation/devkit/arm/xscale_be/share --includedir=/opt/montavista/foundation/devkit/arm/xscale_be/include --libdir=/opt/montavista/foundation/devkit/arm/xscale_be/lib --libexecdir=/opt/montavista/foundation/devkit/arm/xscale_be/libexec --localstatedir=/opt/montavista/foundation/devkit/arm/xscale_be/var --sharedstatedir=/opt/montavista/foundation/devkit/arm/xscale_be/share --mandir=/opt/montavista/foundation/devkit/arm/xscale_be/man --infodir=/opt/montavista/foundation/devkit/arm/xscale_be/info --build=i686-pc-linux-gnu --program-transform-name=s,^,xscale_be-, --enable-cross --with-sysroot=/opt/montavista/foundation/devkit/arm/xscale_be/target --enable-shared --enable-languages=c,c++ --enable-__cxa_atexit --enable-threads=posix --disable-multilib --with-gxx-include-dir=${prefix}/lib/gcc/armv5teb-montavista-linuxeabi/3.4.3/../../../../target/usr/include/c++/3.4.3 --with-numa-policy=yes --with-float=soft --with-cpu=xscale --libexecdir=/opt/montavista/foundation/devkit/arm/xscale_be/lib</div>


<div>Thread model: posix</div><div>gcc version 3.4.3 (MontaVista 3.4.3-25.0.30.0501131 2005-07-23)</div></div><div><br></div><div>Naturally I don't have access to /opt/montavista/foundation/devkit/arm/xscale_be ... :-( </div>

<div>I don't see anything troublesome, but is there anything here I should be concerned with when building an RTEMS toolchain with newlib? I've already built one using the options Ralf specifies in the RPM *.spec files... AFAICT, this should work for little-endian archs _only_ ?</div>

<div><br></div><div>2) Endian-ness -- the Linux BSP is big-endian, and I'd like to keep the RTEMS version the same. But, I seem to recall some issues here... Comments, thoughts ?</div>
<div><br></div><div>3) Can someone recommend an existing ARM BSP to use as a template ? It appears to my inexperienced eyes like the gumstix BSP (libcpu/pxa255) might be a good basis to start with...</div><div><br></div>

<div>
4) BSP compiler flags --  "-mcpu=xscale -mbig-endian -msoft-float -mstructure-size-boundary=8" Seems like the latter is required, unless one wants to redo the network stack, as Sebastian pointed out...<br></div>


<div><br></div><div>I hope the ARM experts on the list will chime in with their $0.02 (USD)...</div><div><br></div><div>Thanks.</div><div><br></div><div><br></div><div>-- dc</div><div><br></div><div><br></div><div><br></div>

<div><br></div><div><br></div>