c++ - compile AMR-nb codec with RVCT for WinCE/Window Mobile -
I am working on amr speech codec (porting / optimization) And I use it as a reference in the demonstration test. So far, the binary beats me from about 20-30% produced with my boil! I use Vs2008 and I have limited access to the ARM instruction set, which I can generate with the Microsoft compiler. So I tried to see the alternative compiler, what would be the difference in performance. I have an RVCT compiler, but it produces Elf Binaries / Object files, however, I run my test on a Vince mobile phone (TyTn 2), so I find a way to run compiled code with RVCT at WinCE Will happen. Some options 1) are for assembly entry (armchair option), and try to gather with some other codal which can make COFF (hand for MAS edibler) 2) generated and generated from CFF object Convert Elf Object file It seems that objcopy of gnu binutils can help me with that) 3) Use utility provided by RVCT to create bin file and somehow bits I try to get it done; I can execute them;)
My first attempt is to have a simple C ++ file with an export function, compile it with RVCT and then run that function on the smartphone Try the emitted assembly can not be collected by MS Kodal (not only they are not compatible, but rejects some instructions generated from MS Codeal RVCT compiler, in May ASR epodode in Ray case) Then I tried to convert the AFL object into COF format and I can not get any information on it, CE should be able to work with GCC port and that deviceset to objcopy. However, I can not work it. I tried switching separately, but I do not know exactly what I must specify for input and output format. So, I could not work it either. Using Duffing and Generated Bin files from Ophel is superfluous, so I decided to ask you guys that I should try to do something or someone has already done the same thing and can help me in fact, All I want to do is compile my code with the RVCT compiler and see what the performance difference is. <
Thanks!
Just an update ... I have the support for hand-PE and hand-ELF with gnu binutils Convert compiled Arm-Elf into arm-cof: objcopy.exe -i elf32-littlearm -O pay-hand-wins-little test. O test.obj
Now test.obj contains the same function: int plus (int, int); The problem is that the MS Compiler rejects the test.obj file: test.obj: Fatal Error LNK1136: Invalid or Corrupt File
I also tried another approach I changed the test in the format symbolsrec (I do not have any information about this format, but it is only one that was done) and then I created the generated file in arm-pe Changed. In this case the MS Compiler is connected to the generated test.obj, but the generated machine code is not valid. I also compiled test.cpp with GCC-CE and tried to link the .obj file and in this case it worked. Here is the assembly code as shown in the VS debugger:
int x2 = add (x, y); 00012068 LDR R1, Y, # 0x28 0001206 CDRDR 0, X, # 0x2C 00012070 BL 00011000 If I could link the converted obz file then it looks like this:
int x2 = addition (x, y); 00011068 LDR R1, Y, # 0x28 0001106 C LDR R, X, # 0x2C 00011070 BL | Winman + 0FFFFFFFF (10000H) | In that last instruction, it jumps at some random location, which has nothing to do with my int plus (int, int); function.
Comments
Post a Comment