This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Problems with compiling a new redboot for nec v850 sa1


Hi,

We are developing software for the falcom F35-XXL-SI gsm/gprs/gps module equiped with an NEC V850 SA1 processor.
While the development package of the company FALCOM is a very old version of the ecos package we like rebuild a new redboot. But I have a lot of problems with building it.

Without the V850 compiler option -mlong-calls I get a couple of reallocation errors:

make[1]: Entering directory `/home/rygrootkop/ecos/boot2_build/redboot/current'
v850-elf-gcc -c  -I/home/rygrootkop/ecos/boot2_install/include -I/opt/ecos/ecos/packages/redboot/current -I/opt/ecos/ecos/packages/redboot/current/src -I/opt/ecos/ecos/packages/redboot/current/tests -I. -mv850 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions   -o /home/rygrootkop/ecos/boot2_install/lib/version.o /opt/ecos/ecos/packages/redboot/current/src/version.c
cc1: warning: "-Woverloaded-virtual" is valid for C++ but not for C/ObjC
v850-elf-gcc -g -nostdlib -Wl,--gc-sections -Wl,-static -L/home/rygrootkop/ecos/boot2_install/lib -Ttarget.ld -o /home/rygrootkop/ecos/boot2_install/bin/redboot.elf /home/rygrootkop/ecos/boot2_install/lib/version.o
cc1: warning: "-fno-rtti" is valid for C++ but not for C/ObjC
make[1]: Leaving directory `/home/rygrootkop/ecos/boot2_build/redboot/current'
/home/rygrootkop/ecos/boot2_install/lib/libtarget.a(devs_flash_v85x_falxxl_v85x_falxxl_flash.o)(.2ram.flash_erase_block+0x0): In function `_flash_erase_block':
make: Leaving directory `/home/rygrootkop/ecos/boot2_build'
: relocation truncated to fit: R_V850_22_PCREL __save_r26_r31

/home/rygrootkop/ecos/boot2_install/lib/libtarget.a(devs_flash_v85x_falxxl_v85x_falxxl_flash.o)(.2ram.flash_erase_block+0x13c): In function `_flash_erase_block':
: relocation truncated to fit: R_V850_22_PCREL __return_r26_r31
collect2: ld returned 1 exit status
make[1]: *** [/home/rygrootkop/ecos/boot2_install/bin/redboot.elf] Error 1
make: *** [build] Error 2


If I use the option -mlong-calls I get internal compiler error:


v850-elf-gcc -c  -I/home/rygrootkop/ecos/boot2_install/include -I/opt/ecos/ecos/packages/hal/v85x/v850/current -I/opt/ecos/ecos/packages/hal/v85x/v850/current/src -I/opt/ecos/ecos/packages/hal/v85x/v850/current/tests -I. -I/opt/ecos/ecos/packages/hal/v85x/v850/current/src/ -mv850 -mlong-calls -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef  -O2 -ffunction-sections -fdata-sections  -fno-exceptions   -Wp,-MD,src/hal_diag.tmp -o src/hal_v85x_v850_hal_diag.o /opt/ecos/ecos/packages/hal/v85x/v850/current/src/hal_diag.c
make[1]: Leaving directory `/home/rygrootkop/ecos/boot2_build/hal/v85x/v850/current'
/opt/ecos/ecos/packages/hal/v85x/v850/current/src/hal_diag.c: In function `cyg_hal_plf_serial_control':
make: Leaving directory `/home/rygrootkop/ecos/boot2_build'
/opt/ecos/ecos/packages/hal/v85x/v850/current/src/hal_diag.c:241: error: unrecognizable insn:

(insn 130 112 131 0 (nil) (parallel [
            (set (mem:SI (reg/f:SI 3 sp) [0 S4 A32])
                (reg:SI 6 r6))
            (set (mem:SI (plus:SI (reg/f:SI 3 sp)
                        (const_int 4 [0x4])) [0 S4 A32])
                (reg:SI 7 r7))
            (set (mem:SI (plus:SI (reg/f:SI 3 sp)
                        (const_int 8 [0x8])) [0 S4 A32])
                (reg:SI 8 r8))
            (set (mem:SI (plus:SI (reg/f:SI 3 sp)
                        (const_int 12 [0xc])) [0 S4 A32])
                (reg:SI 9 r9))
            (clobber (reg:SI 10 r10))
        ]) -1 (nil)
    (expr_list:REG_DEAD (reg:SI 9 r9)
        (expr_list:REG_DEAD (reg:SI 8 r8)
            (expr_list:REG_DEAD (reg:SI 6 r6)
                (expr_list:REG_UNUSED (reg:SI 10 r10)
                    (nil))))))
/opt/ecos/ecos/packages/hal/v85x/v850/current/src/hal_diag.c:241: internal compiler error: in extract_insn, at recog.c:2175
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make[1]: *** [src/hal_diag.o.d] Error 1
make: *** [build] Error 2

This looks like a gcc compiler failure.

The gnu tools and  compiler version is the latest released versions:

v850-elf-gcc --version
v850-elf-gcc (GCC) 3.3.2
Copyright (C) 2003 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.
 
v850-elf-ld --version
GNU ld version 2.14 20030612
Copyright 2002 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.

I also tried to make a hybrid version of Redboot. So some programs are compiled with the -mlong-calls option and programs with the unrecognizable insn without this option.

This version compiles but if I install this on flash and restart the falcom F35-XXL-SI I get the following error during boot

+**Warning** FLASH configuration checksum error or invalid key
Use 'fconfig -i' to [re]initialize database
                                                                                
RedBoot(tm) bootstrap and debug environment [ROM]
Non-certified release, version Falcom F35-XXL-SI EXTERNAL FLASH - built 16:56:53                                                                                
Platform: F35-XXL-SI (V850/SA1)
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.
                                                                                
RAM: 0x00200000-0x00300000, [0x00203f78-0x002ed000] available
FLASH: 0x00400000 - 0x00500000, 16 blocks of 0x00010000 bytes each.

If I use the fconfig -i function redboot reboots.
And all threads of application programs do not run.

Has somebody some experiance with these problems ? please help me.

 



Helmut Mauell B.V.


Rogier Grootkop
Tel.    +31 341 411580
Fax.   +31 341 411581



--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]