AnsweredAssumed Answered

VDSP v2.0 to 3.5 migration, exe file construction

Question asked by twilkers Employee on May 26, 2011
Latest reply on May 31, 2011 by twilkers

Hi,

 

My customer GE Bently Nevada has the following troubles with this migration.  Would you have any ldf file recommendations on how he can accomplish his goal?  I'll in parallel send to support.processors.tools

 

thanks,

tim

 

I'm using v3.5, I compile to create a DXE file from a project created

using v2.0.

Then I use v3.5's "elf2aexe" utility to convert the DXE to an EXE file.

Finally, I use our homegrown utility to convert the EXE to a COD file

(our proprietary format).

 

Our conversion program looks at the first 3 lines of the EXE file and

looks for expected entries:

Line 1 equals an expected special string, as expected.

Line 2 equals "@PA", as expected.

Line 3 equals an address, but not the expected address.

 

Our conversion program expects that first address to be 0x000000... for

the interrupt table... but it's not. It's an address for some routine.

I've tried many things to try and get the "process" to put the interrupt

table first in the EXE, but failed every time.

1) Our LDF file does list that section first.

2) I've tried renaming the file containing the interrupt table so it

would alphabetically be the first object.

3) I've tried explicitly listing the DOJ files to be searched in the

order I want.

Etc...

 

(One thing I did not try is follow the example LDF for handling the

interrupts individually with the examples specific names. I have just

one section named "interrupts" containing the whole interrupt table.)

 

Right now I'm trying to change our conversion program to only check the

first to lines of the EXE... all it is really trying to do is verify

that the file we opened is an EXE file... it should not matter what the

first address is. But even that is proving difficult to get to recompile

with updated C/C++ tools... and I don't have the original tools to work

with.

 

If all else fails, I guess I could try and edit the EXE with a text

editor and manually move the interrupt table to the front... not a very

elegant solution to expect someone to use/understand years from now.

 

Do you have any ideas on how to accomplish this in the VisaulDSP++

environment?

Outcomes