Newbie: Read from Compact Flash using System ACE

I want to be able to read files off the compact flash card through the xilinx system ace chip which is connected to a xilinx virtex 2e FPGA. The compact flash card is formated as FAT12. Has anyone done this before, or at least could point me in the right direction in implementing this in verilog?



Reply to
Frank Wang
Loading thread data ...


Most likely, you will need to interface to the SystemACE MPU port (as a "memory mapped peripheral") and then implement a FAT12 or FAT16 filesystem reader to access the file of interest...

If you are using EDK to build a PowerPC/MicroBlaze system, you can make use of a peripheral in EDK, the OPB to SystemACE bridge, for the hardware portion of the interface. There is also an XilFatFS library that helps with the FAT filesystem.

If you are building a custom design not using EDK, you'll need to implement something similar. Maybe you could do it with PicoBlaze and a small program you write... But you'll need to know about FAT filesystem to get it right.

Another option to simplify things is to use some clever format of the card to have a FAT partition followed by another unused partition. I think you could then put your data in specific sectors in the unused partition and have a FSM or other simple processor pull the data off the disk from known sectors using the MPU interface. This removes the need to implement a FAT file system. But now you have to write some utilities to get your data into specific sectors of the disk...

There's also a design on which is relevant but I don't know how you'd directly use it with SystemACE CF.


Frank Wang wrote:

Reply to
Eric Crabill

Which os/sw environment or are you trying this in pure verilog?

If linux-ppc, it is very easy. Xilinx did it for you already.

Search xilinx's website for info.


Reply to
T Lee

Similarly, Microblaze uClinux also supports the sysace driver. You can mount any filesystem you like on the CF card, FAT included.



Reply to
John Williams


I too want to be able to do this too--but I want to do it before the vxWorks OS is up--actually, I want to use this capability to copy a vxWorks image off of the CF into RAM and then jump to the RAM image. I am not certain of the CF formatting--I want to use it just like Xilinx provides on the ML310 development board.

I've not been able to find any Xilinx driver/info that supports file IO at the Xilinx level. I saw some earlier posts of persons trying to use FILE* and standard file IO things--but I haven't found anything that indicates this level of file IO is supported. Can anyone clarify or if you've done something similar, share?



Reply to

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.