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!

AR# 37319

12.1 EDK, MicroBlaze FSL - How do I read the status of the FSL before a read/write?

描述

Is there a way to read the status of the FSL FIFO (Full/Exist) first before issuing read/write to avoid MicroBlaze processor being blocked in the call?

解决方案

There is no register in the FSL FIFO that the MicroBlaze processor can read to determine the status. To avoid blockage, the non-blocking version of the FSL get/put call can be used. Read the MSR[carry] bit to verify if the data was valid or not.

Valid and error status can be checked by these macros:
fsl_isinvalid(invalid)
fsl_iserror(error)

For more info about FSL macros, please refer to oslib_rm.pdf.

In addition, the FSL bus portsFSL_Full,FSL_Has_Data andFSL_Control_IRQ can be configured as interrupt source for interrupt controller so that MicroBlaze can be notified the status of FSL bus..
AR# 37319
日期 12/15/2012
状态 Active
Type 综合文章
Tools More Less
IP
的页面