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:

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
People Also Viewed