de     

This is an old revision of the document!


Debugging

Th EZ-USB SDK includes no source level debugger. But in order to simplify the troubleshooting an easy to use debug helper interface has been implemented.

This interface allows the programmer to store status informations or other data which can be read out from host PC using the API.

En example can be found in the directory examples/all/debug of the EZ-USB SDK package.

The debug helper is stack orientated and initialized in the firmware using the “ENABLE_DEBUG(<stack size>,<message_size>);” macro, where <stack size> denotes the maximum number of messages in stack and <message size> denotes the message size in bytes.

Two variables and one function are used for the message control in the firmware:

/* 
   This buffer is used to buffer the message. The user should
   write the data to this buffer. 
*/
xdata BYTE debug_msg_buf[DEBUG_MSG_SIZE];
 
/* 
   Points the the last message on message stack. This can be used to 
   modify / update the last message 
*/
xdata BYTE* xdata debug_stack_ptr;
 
/* 
   Adds the message stored in debug_msg_buf to the message stack 
*/
void debug_add_msg ();

The messages can be read out from host PC using the following API methods and variables:

/* 
   Is set by debugReadMessages(boolean,byte[]) and contains the number
   of new messages. 
*/
public int debugNewMessages;
 
/* 
   Returns the size of message stack in messages. 
*/
public int debugStackSize ( );
 
/* 
   Returns the size of messages in bytes. 
*/
public int debugMsgSize ( );
 
/* 
   Returns the number of the last message read out by 
   debugStackSize(boolean,byte[]) 
*/
public final int debuglastMsg ( );
 
/* 
   Reads debug messages from message stack. The number of messages
   stored in buf is returned. The total number of new messages is stored
   in debugNewMessages. The number of the latest message is returned by
   debuglastMessage(). 
 
   If parameter all is true, all messages from stack are written to buf.
   If it is false, only the new messages are written to buf.
*/
public int debugReadMessages ( boolean all, byte[] buf );
 
en/software/debugging.1285197346.txt.gz · Last modified: 2010/09/22 23:15 by 84.181.56.43
 
Recent changes RSS feed Creative Commons License Powered by PHP Debian Driven by DokuWiki
[ZTEX Home] [Imprint] [Privacy policy]