This is an upgraded (actually completely re-written) version of the original GCC/MicroBlaze port that is currently being distributed with FreeRTOS. It was developed using version 11.4 of the tools and has been thoroughly tested and optimized for use with a MicroBlaze on a Spartan-3A DSP 1800 with data and instruction caches to external DDR2. The intended usage model for this port is a preemptive scheduler. This means the port is not optimized for use as a non-preemptive scheduler and probably doesn't even support co-routines.
The port is thoroughly documented using Doxygen-style comments. Be sure to read portmacro.h and portdefs.h for information about this port. I have also included the FreeRTOSConfig.h file (slightly modified) that this port was developed in conjunction with.
The primary shortcoming of the original GCC/MicroBlaze port was that it did not "support" instruction and data caches. This re-written version of the port also better conforms to the ABI defined in the MicroBlaze reference guide. The original port was also written for version 7.x of the tools, which is currently way out-of-date.
Please keep all questions and comments about this port contained within this thread. I will try to provide support as needed, but no guarantees.