06-08-2009 07:23 AM - edited 06-08-2009 07:24 AM
I have a ML402 virtex4 board with sysace controller, and i simply want to write a file to the compact flash, then read the contents using software in EDK. I have added the systemace core to the PLB on the microblaze architecture.
1) Can anyone tell the steps to achieve this, i.e., write a txt file to the compact flash? I have searched for days and i found no clear information on this.
2) Do i need to use the sysace drivers, or simply the xilfatfs functions like sysace_fopen, sysace_fread etc will do the work?
3) Do I need to specify stack, heap sizes? Do I need to initialize the driver even using xilfatfs library functions?
06-12-2009 04:30 AM
06-15-2009 01:58 AM
I have run into all those examples but i get a hang when i use the sysace_fopen function, that's why I'm asking this. I have included in the EDK project the sysace core, made the changes to WRITE in xilfatfs options under platform software settings, and I get a hang in the following instruction (checked with XMD), which is called under sysace_fopen()
while ((Result = XSysAce_Lock(&Ace, XFALSE)) != XST_SUCCESS);
What can I possibly be doing wrong? Why does the lock test fails? I'm using the CF that came with our virtex4 FX.
06-15-2009 03:45 AM
I managed to get sysace_fopen passing, however, the sysace_fwrite() hangs when it calls allocate_one_cluster(pi), checked with XMD. Inside, there is a for() cycle that checks for free clusters which I tested but it took to many iterations without leaving.
The xillinx comment of this instruction is as follows
if this is the first byte of the file, then the firstcluster entry for it should be set in its directory entry
I'm using the default 32MB CF card that came with the virtex 4 evaluation board ML402.
What can be the problem?