Skip to main content

BUILD phoneME in RISC

1 reply [Last post]
dejavih
Offline
Joined: 2010-10-14
Points: 0

Hi!

I'm a new user from Spain, actually i'm student and I'm trying build phoneMe in a new propietary RISC architecture by using a cross-compiler; I hope that you will can help me. To get to the point when I use the command 'make' with their arguments,I get the following result:

linking ROM generator: ../../romgen/app/romgen
../../romgen/app/romgen: ../../romgen/app/romgen: cannot execute binary file
make[1]: *** [../../romgen/app/romgen] Error 126
make[1]: se sale del directorio `/home/javi/PFC/OUTPUTMIOO/linux_c/romgen/app'
make: *** [_romgen] Error 2

This error is due to romgen must be run inside the RISC processor. When I upload the romgen file inside the embedded RISC card I can run romgen "succesfully" with no arguments: I obtain the help messages. However, when I try to run a simple HelloWorld class I obtained the following errors:


#
# VM Error, assertion failure
#
# Error ID: /home/javi/PFC/phoneme_feature2/cldc/src/vm/share/handles/Oop.cpp, 906
#
# assert(not_null(), "Cannot ask for type of NULL")
#
#
# VM Error, assertion failure
#
# Error ID: /home/javi/PFC/phoneme_feature2/cldc/src/vm/share/memory/OopDesc.cpp, 115
#
# assert(this != 0, "NULL oopdesc *")
#
Fatal signal SIGSEGV: errno=0; code=1; addr=(nil)
[Dumping all threads]
Current thread = 0xb7e30000

[Finished dumping all threads]

I 'know' why happen this, the file AsmStubs_i386.s contained instructions that my architecture didn't understand and I modified the file like other, with only this lines:

.text
.align 16
# mark the end of ASM functions
.global end_of_the_world
end_of_the_world:

The lines that I've deleted I think that it's related with float operations(that my architecture don't understand and deleting has as a consequence romgen is generated wrong) and I would like how disable this operations/jump this point for build the phoneMe.

For example some lines of AsmStubs_i386.s:

# Modified GCC-generated code for ANSI ddiv
.global EXTERN(JFP_lib_ddiv_x86)
EXTERN(JFP_lib_ddiv_x86):
# Loading shifter.
movl $0x00000000, 0xfffffff8(%esp)
movl $0x7bf00000, 0xfffffffc(%esp)
# Shift the values to achive 64-bit presicion of the operation.
fld1
fdivl 0xfffffff8(%esp)
fstpl 0xfffffff0(%esp)
fldl 0xfffffff0(%esp)
fmull 0xfffffff0(%esp)
fmull 0xfffffff0(%esp)

Any information will be welcome ,thanks in advance.

Sorry for my English, if I have some error please tell me.

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Hinkmond Wong

On 10/14/2010 4:33 AM, phonemeadvanced@mobileandembedded.org wrote:
> Hi!
>
> I'm a new user from Spain, actually i'm student and I'm trying build phoneMe in a new propietary RISC architecture by using a cross-compiler; I hope that you will can help me. To get to the point when I use the command 'make' with their arguments,I get the following result:
...
> I 'know' why happen this, the file AsmStubs_i386.s contained instructions that my architecture didn't understand and I modified the file like other, with only this lines:
>
> [b].text
> .align 16
> # mark the end of ASM functions
> .global end_of_the_world
> end_of_the_world:
> [/b]
>
> The lines that I've deleted I think that it's related with float operations(that my architecture don't understand and deleting has as a consequence romgen is generated wrong) and I would like how disable this operations/jump this point for build the phoneMe.
>
> For example some lines of AsmStubs_i386.s:
>

You'll have to tell us more about your CPU and OS of your device. What
are the specific details of both the CPU and OS (more than just that it
is a new proprietary RISC architecture)?

Thanks,
Hinkmond

---------------------------------------------------------------------
To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net
For additional commands, e-mail: advanced-help@phoneme.dev.java.net