From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13227 invoked by alias); 24 Jun 2003 23:02:44 -0000 Mailing-List: contact ecos-maintainers-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Post: List-Help: , Sender: ecos-maintainers-owner@sources.redhat.com Received: (qmail 22765 invoked from network); 24 Jun 2003 22:06:15 -0000 X-MimeOLE: Produced By Microsoft Exchange V6.0.4417.0 content-class: urn:content-classes:message Subject: troubles with ecos-2.0 and mips tx49 port Date: Tue, 24 Jun 2003 23:02:00 -0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: troubles with ecos-2.0 and mips tx49 port Thread-Index: AcM6ncXMZJ0ftTBJS4iwRZEaw3kW+A== From: "Andy Dyer" To: X-SW-Source: 2003-06/txt/msg00013.txt.bz2 Gentlemen (and Ladies): I have been working on porting redboot (ecos-2.0 source)=20 to one of our boards which uses a Toshiba TX4925 CPU (mips with TX49 core and "stuff"). I started from the ref4955 platform port. In the course of trying to get it (and my port) to build I noticed several issues: 1) The ref4955 distributed .cdl file calls out mips-tx49-elf for a toolchain prefix. I built the the toolchain from the sources as described on the ecos/build-toolchain.html webpage, but had some problems: 1a) a patch was required to get gcc to build under cygwin. This=20 appears to be a known issue with gcc and cygwin. I applied this patch and all appears to be well: http://gcc.gnu.org/ml/gcc/2003-04/msg00538.html It would be nice if there was a mention of this on the=20 webpage with the other patches. 1b) after building the toolchain the compiler barfs on the -mabi=3Deabi command line switch, which makes me wonder how to enable that in the toolchain I built or if there is some other thing I need to do. gcc -v gives: Configured with: /home/adyer/src/gcc-3.2.1/configure --target=3Dmips-tx49-elf --prefix=3D/opt/ecos/gnutools/mips-tx49-elf --enable-languages=3Dc,c++ --with-gnu-as --with-gnu-ld --with-newlib --with-gxx-include-dir=3D/opt/ecos/gnutools/mips-tx49-elf /mips-tx49-elf/include -v : (reconfigured) /home/adyer/src/gcc-3.2.1/configure - -target=3Dmips-tx49-elf --prefix=3D/opt/ecos/gnutools/mips-tx49-elf --enable-languages=3Dc,c++ --with-gnu-as --with-gnu-ld --with-newlib --with-gxx-nclude-dir=3D/opt/e cos/gnutools/mips-tx49-elf/mips-tx49-elf/include -v Thread model: single gcc version 3.2.1 2) for yucks I tried using the mips-isa32 toolchain, which likes the -mabi=3Deabi switch, but barfs on the line=20 OUTPUT_ARCH(mips:4900) in the linker script file. 3) I am building for a ROM configuration, and the linker script file for the tx49 is very wrong (looks like R3000-ish code) with respect to where the exception vectors go for a ROM configuration. #elif defined(CYG_HAL_STARTUP_ROM) /* this version for ROM startup */ #define SECTION_rom_vectors(_region_, _vma_, _lma_) \ .rom_vectors _vma_ : _lma_ \ { KEEP (*(.reset_vector)) \ . =3D ALIGN(0x100); KEEP (*(.utlb_vector)) \ . =3D ALIGN(0x80); KEEP(*(.other_vector)) \ . =3D ALIGN(0x100); KEEP(*(.debug_vector)) } \ > _region_ #endif /* ROM startup version of ROM vectors */ this puts the utlb_vector at 0xbfc00100, the other_vector at 0xbfc00180, and the debug_vector at 0xbfc00200. According to the tx49 core manual, the vectors go as follows: reset vector 0xbfc0_0000 tlb refill 0xbfc0_0200 xtlb miss 0xbfc0_0280 general exc. 0xbfc0_0380 debug 0xbfc0_0400 (ProbEnb=3D0) other mips parts would also have a cache error at 0xbfc00300, but tx49 doesn't seem to have it in their docs. -- Andrew Dyer | adyer@righthandtech.com Sr. Engineer | (630) 238-0789 RightHand Technologies | (630) 238-0469 (fax) 735 N. Edgewood Ave. | Suite D | Wood Dale, IL 60191-1261 | USA |