UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor hkxforce
Visitor
6,745 Views
Registered: ‎12-04-2007

XMK problem: inbyte() malfunctioning

I'm using a version of XMK provided by Avnet, for Memec Virtex-4 FX12 LC Evaluation Board.  It includes a xilkernel demo, but I've found the sample code not working.  I type nothing in the PC, but the XMK keeps reporting unrecognized command endlessly.  After certain investigation, the problem lies in inbyte() function.  The character that inbyte() retrieve is actually the data that outbyte(), print() or xil_printf() has just sent out.

Here is the output from HyperTerminal:

==========================================================
XMK: Start
XMK: Initializing Hardware...
XMK: System initialization...
XMK: Enabling interrupts and starting system...
SHELL: Starting clock...
CLOCK: Successfully registered a handler for extra timer interrupts.
CLOCK: Configuring extra timer to generate one interrupt per second..
CLOCK: Enabling the interval timer interrupt...

[ should be 80 empty lines here ]

shell>XMK: Start
Unrecognized command. Type 'help' to see available commands.
shell>XMK:
Unrecognized command. Type 'help' to see available commands.
shell>
shell>
shell>
shell>
shell>
shell>commanco.
Unrecognized command. Type 'help' to see available commands.
shell>>
Unrecognized command. Type 'help' to see available commands.
shell>>
Unrecognized command. Type 'help' to see available commands.
shell>>
Unrecognized command. Type 'help' to see available commands.
shell>>
Unrecognized command. Type 'help' to see available commands.
shell>shell>
Unrecognized command. Type 'help' to see available commands.
shell>cococococommandscommands.
Unrecognized command. Type 'help' to see available commands.
shell>shell>cococococcommands.
Unrecognized command. Type 'help' to see available commands.
shell>shell>shell>coccommands.
Unrecognized command. Type 'help' to see available commands.
shell>shell>shell>shecommands.
Unrecognized command. Type 'help' to see available commands.
shell>shell>shell>shecommands.
Unrecognized command. Type 'help' to see available commands.
shell>shell>shell>shecommands.
Unrecognized command. Type 'help' to see available commands.
shell>shell>shell>shecommands.
Unrecognized command. Type 'help' to see available commands.
shell>shell>shell>shecommands.
Unrecognized command. Type 'help' to see available commands.
shell>shell>shell>shecommands.
Unrecognized command. Type 'help' to see available commands.
[ loop endlessly for unrecognized command ]
==========================================================



Where the correct output should be:

==========================================================
XMK: Start
XMK: Initializing Hardware...
XMK: System initialization...
XMK: Enabling interrupts and starting system...
SHELL: Starting clock...
CLOCK: Successfully registered a handler for extra timer interrupts.
CLOCK: Configuring extra timer to generate one interrupt per second..
CLOCK: Enabling the interval timer interrupt...

[ should be 80 empty lines here ]

shell>
==========================================================

and I can choose applications.


I've found that in xparameters.h, the input and output base address is the same:
#define STDIN_BASEADDRESS 0x70010000
#define STDOUT_BASEADDRESS 0x70010000

In the xuratlite_l.h, the transmit and receive fifo offset is only differ by 4:
#define XUL_RX_FIFO_OFFSET        0    /* receive FIFO, read only */
#define XUL_TX_FIFO_OFFSET        4    /* transmit FIFO, write only */

Is this the reason of this problem?  Or are they any other field to investigate?

I've also found that in XMD, there are two lines missing if I compare to the tutorial document screenshot:
PC reset to 0xfffffffc, Clearing MSR Register
PC reset to 0xfffffffc, Clearing MSR Register
which is below the line "Start PC with program start addr 0xfffffffc" in the document.

One more finding is that someone said in newsgroup that there is bug about MSR for XMK, but I've no way to access to the patch.
http://www.fpga-faq.com/archives/109175.html#109185

Does this related to the above problem?  Do anyone has any ideas about this problem?

Thanks.



A related problem:
I've found that when I edit these header files, the update are not included when I rebuild the project, or update and download bitstream.  How should I refresh the xilkernel .h and .c files?


Message Edited by hkxforce on 12-06-2007 10:52 AM
0 Kudos