URL
https://opencores.org/ocsvn/usb_fpga_2_16/usb_fpga_2_16/trunk
Subversion Repositories usb_fpga_2_16
[/] [usb_fpga_2_16/] [trunk/] [examples/] [all/] [debug/] [Readme] - Rev 2
Compare with Previous | Blame | View Log
debug
-----
This example explains the usage of the debug helper and should work
on all EZ-USB Products.
The debug helper provides a simple interface to store status
informations or other data which can be read out from host PC using the
API.
The debug helper is stack orientated and initialized 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:
/*
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 );
The example creates one debug message per second. Each message is 3
bytes long. The first two bytes contain the second counter, the last
byte contains a another counter which is incremented every 10ms.