The calibration tool Vector CANape uses a protocol called CCP (CAN Calibration Protocol).
CANape requires a database file which contains the names of signals that can be logged or calibration parameters that can be changed, along with the datatype, its scaling and most importantly the address of the signal or calibration parameter. Using the example in my original post, the a2l file would contain:
/begin MEASUREMENT
/* Name */ myPointer
/* Long identifier */ "Analogue input"
/* Data type */ UWORD
/* Conversion method */ uint16
/* Resolution (Not used) */ 0
/* Accuracy (Not used) */ 0
/* Lower limit */ 0
/* Upper limit */ 65535
ECU_ADDRESS
0x35D8 /end MEASUREMENT
Note that the ECU_ADDRESS is the address of the pointer, not the address it is pointing to. So if I tried to log this signal in CANape it would display the value of the address it is pointing to (i.e. 0x363E) rather than the value for the variable 'analogueInput' which is in address 0x363E.
The a2l file is generated using the MAP file - it extracts the address locations for the all the signals and calibration parameters.
If the MAP file contained the address that the pointer is pointing to (instead of the pointer address itself), then the address in the a2l file would be correct and I would be able to log the signal 'analogueInput'. For example:
/begin MEASUREMENT
/* Name */ myPointer
/* Long identifier */ "Analogue input"
/* Data type */ UWORD
/* Conversion method */ uint16
/* Resolution (Not used) */ 0
/* Accuracy (Not used) */ 0
/* Lower limit */ 0
/* Upper limit */ 65535
ECU_ADDRESS
0x363E/end MEASUREMENT
post edited by johndsd - 2015/10/06 02:31:25