NefMoto

Noob Zone => Noob Questions => Topic started by: zarboz on January 28, 2019, 03:00:02 PM



Title: N00b asking for help understanding a2l memory locations -> xdf memory locations
Post by: zarboz on January 28, 2019, 03:00:02 PM
I have done lots of reading and am trying to setup an XDF by using my a2l file and ASAP2

Here is the github I am hosting my files at:
https://github.com/zarboz/BMW-XDFs

I am working with an a2l/.hex file located here
https://github.com/zarboz/BMW-XDFs/blob/master/BMW%20ME7.2%20X5%204.4%20V8/E5A0_000.a2l

https://github.com/zarboz/BMW-XDFs/blob/master/BMW%20ME7.2%20X5%204.4%20V8/E652r3yx.hex


When I am browsing in this a2l file I find the things I would like to setup inside my .xdf file as well as memory locations the underlying issue for me is that I cannot match the memory offset listed in the a2l to a memory offset within the .bin file that is the full read dump (I have also attempted to look in the 64kb sized dumps which are the partial dumps via galletto)



So here is my inquiry:

When I am in the a2l file I find a subsection like this
Code:
/begin CHARACTERISTIC TVUB
"Spannungskorrektur"
CURVE
0x81591E
KlAUbSstUbWUw
209.712
tinjection_sy
0 209.712
FORMAT "%8.4"
/begin IF_DATA ETK  DP_BLOB 0x81591E  0x10
/end IF_DATA
/begin AXIS_DESCR
STD_AXIS
ub
spg_ubatt
5
0 24.02
FORMAT "%5.2"
DEPOSIT ABSOLUTE
/end AXIS_DESCR
/end CHARACTERISTIC

I can see the address definition of 0x81 59 1E
But in both 64kb and 512kb .bin files I dont have an offset 0x81 59 1E

How am I to correlate this offset > xdf in order to get the proper location in the .bin file

I have other measurements within the a2l file that have offsets that do in fact exist within a .bin (64kb and 512kb versions) but only match to FF within both .bin versions that I have access to. Example below:

Code:
/begin MEASUREMENT TVUB_R
"EV-Spannungskorrektur"
UWORD
TEQL
1 100
0 209.712
FORMAT "%8.4"
ECU_ADDRESS 0xF964
/begin IF_DATA ASAP1B_ADDRESS  KP_BLOB 0xF964
/end IF_DATA
/begin IF_DATA ETK  KP_BLOB 0xF964 0x0 0x2
/end IF_DATA
/begin IF_DATA ASAP1B_MCMESS
/begin KP_BLOB 0xF964 INTERN 0x2
/end KP_BLOB
/end IF_DATA
/end MEASUREMENT


is the a2l file calculating its offsets differently?

are these offsets of affected memory not edited memory????

any guidance would be greatly welcomed


Title: Re: N00b asking for help understanding a2l memory locations -> xdf memory locations
Post by: zarboz on January 28, 2019, 03:25:34 PM
Would the location for the referenced map be as this ?


0x81591E -> 1591E

Since the ROM is at 800000? My train of thought probably makes 0 sense at this point of the day.........

What I am trying to postulate is that: In setup of IDA for disassembly it is suggested to structure the ROM starting at 810000 or 800000

So for the a2l to tell me a memory offset is 813256 One could presume its operating that within the 800000+++ space


Title: Re: N00b asking for help understanding a2l memory locations -> xdf memory locations
Post by: nyet on January 28, 2019, 03:40:22 PM
Yes. Wherever the ROM is mapped to, subtract that from the address which means 0x1591E or 0x591E


Title: Re: N00b asking for help understanding a2l memory locations -> xdf memory locations
Post by: zarboz on January 28, 2019, 04:05:47 PM
Thanks Nyet,

I have started to stage XML's to reverse lookup the maps based on the hex code / location and want to verify they exist in multiple bins before trying to setup XMLS for them in the me7-tools