Sign In

Don't have a Xilinx account yet?

  • Choose to receive important news and product information
  • Gain access to special content
  • Personalize your web experience on Xilinx.com

Create Account

Username

Password

Forgot your password?
XClose Panel
Xilinx Home
Reply
Visitor
hkxforce
Posts: 5
Registered: ‎12-04-2007
0

XMK problem: inbyte() malfunctioning

[ Edited ]
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