![]() |
![]() |
![]() |
![]() |
![]() |
Trouble-Shooting
What to Do if the SDL Editor Trace Does Not Work?
The SDL Target Tester gets the SDL Editor references from the generated file <systemname>.sym in the known form #SDTREF( ... ).
As it is possible to generate an SDL system and to test it on another platform it is possible that the paths contained in each #SDTREF() are not up to date if using the SDL Target Tester.
All the paths in <systemname>.sym must simply be updated.
What to Do if There Is a Warning of the Information/Message Decoder?
If the message decoder detects an error there will be a warning like the one shown in Example 631.
Example 631 : warning of the message decoder
**WARNING: There is an inconsitency in the information decoder.This message will be suppressed form now on.Message Class: 241,dMessage Tag : 5,dNumber of data bytes received=6Number od data bytes decoded =5***Received buffer (32 octets):***f1 05 aa 06 00 00 00 00 - 01 04 ab ee ee ee ee ee***ee ee ee ee ee ee ee ee - ee ee ee ee ee ee ee ee
This warning must be interpreted as follows:
- In the Cmicro Package there are the following message classes:
- Cmicro Tester commands = 0xf0 = 240
- Cmicro Tester trace = 0xf1 = 241 (see Example 631)
- Cmicro Recorder = 0xf2 = 242
- The message tag can be found in the file tmcod.h
- In Example 631 the message tag 5 (decimal) is the message CMD_TSTATE. Furthermore there is a structure called xmk_T_CMD_TSTATE. This structure looks like
typedef struct
{
xPID process;
xmk_T_STATE state;
}- The shown buffer from above can be interpreted as:
f1 -> Cmicro Tester trace
05 -> CMD_TSTATE
aa -> sync byte
06 -> message data length 6 octets.- The message data contains the values xPID and xmk_T_STATE. In the Example 631 the xPID value is an unsigned int and the xmk_T_STATE is an unsigned char.
- By having a look to the C struct (xmk_T_CMD_TSTATE) which is represented by the 6 data octets received a value for xPID is found like 0x00000000 as an integer is given with the length 4 octets in this example.
The kind of C basic type the xmk_T_STATE value is represented by, depends on the SDL system in use, please view the flag XMK_USE_HUGE_TRANSITIONTABLES.
The size of the C basic type depends on the microcontroller and compiler in use.
- Having a look to the fifth octet of the message data the value for xmk_T_STATE is 0x01, as the length of character is 1 and the alignment of character is 8. Please view Preparing the Host to Target Communication.
After all in this example there are 5 bytes (octets) decoded (4+1) and 6 received which leads to the inconsistency in the information decoder.
The user is asked to correct the settings in the file sdtmt.opt to support the SDL Target Tester's host site with the correct information about the target's memory layout.
The Example 631 is an exception concerning the inconsistency in the information decoder.
The compiler used for this example only knows C structures with a size dividable by two which leads to a message data length of 6.
The value 0x04 in the example only represents a filler octet which does not need to be noticed.
http://www.ibm.com/rational |
![]() |
![]() |
![]() |
![]() |