We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hey there.
I'm trying to make a program that reads and prints out the information contained in the object files that come out of the A51 assembler. It's going to read the records and output it all in some kind of readable manner.
However I have already banged my head against the first of possibly many problems:
My program is written in C++ and opens a file in binary mode and as input. It then uses the get() function associated with the ifstream to read byte after byte.
Right now I have it print it all out in hexadecimal format. BUT -
As I can see from the OMF51 specification, the first part of the .OBJ file should be 02h (meaning record type MODULE HEADER RECORD). However, the first byte is showing 70h.
When I print it out as characters in ASCII I can see that a bit further down the road there are ASCII characters showing names of some files.
Is the OMF51 specification I have wrong, or does the A51 assembler output a different file format? There also is no record type with the specification 70h. So I am a bit confused now.
Any help?
- Rune
Doesn't the Linker Map file tell you that??
"I'm actually writing my own application for an EnOcean STM300 for a company project"
If there's a genuine commercial application for it, why not contact Keil themselves? (maybe via EnOcean, if it could be of benefit to them).
Have you looked at "standard" object file viewers like objdump, objcopy, etc...?
SRecord supports some object formats: srecord.sourceforge.net/
The above two are open-source; so, even if they don't already have direct support, I would think their communities should be a good place to ask...