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?
Thanks,
frank
Didn't find your answer? Ask the community — no account required.
E
Eric Crabill
Hi,
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 opencores.org which is relevant but I don't know how you'd directly use it with SystemACE CF.
Eric
Frank Wang wrote:
T
T Lee
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.
-Tony
J
John Williams
Similarly, Microblaze uClinux also supports the sysace driver. You can mount any filesystem you like on the CF card, FAT included.
Cheers,
John
P
pcalvert
Hello,
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?
Thanx,
Paul
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.