Zybo fpga write

0

Soy nuevo en fpga. Estoy tratando de leer / escribir desde la tarjeta SD usando el zybo zynq 7000 y encontré el ejemplo de Xillfs. Por alguna razón, la función mkfs siempre falla. No sé si hay un problema con mi diseño?

He habilitado el sd0 en el sistema de procesamiento zynq.

¿Es algo más que debería hacer?

Cualquier ayuda es apreciada.

esto es todo lo que tengo. Estoy trabajando en el registro de datos usando la tarjeta SD. Cualquier ayuda es apreciada.

hoja de datos: enlace

código:

#include <stdio.h>
#include <stdlib.h>
#include "platform.h"
#include "xil_printf.h"
#include "ff.h"
#include "xsdps.h"
#include "stdio.h"
//#include "ps7_init.h"


int main()
{
    static FATFS FS_Instance;
    static FIL file1;
    static char FileName[32] = "F1.txt";
    static char *Log_File;
    FRESULT result;
    TCHAR *Path = "0:/";
    unsigned int BytesWr;

    init_platform();

//    ps7_post_config();

    u32 transfer_size = 1*1;
    u8 *wr_buff;
    wr_buff = malloc(transfer_size);


    xil_printf("Mount device...\n\r");
    result = f_mount(&FS_Instance, Path, 0);
    if (result != 0) {
        xil_printf("Error! f_mount %d\n\r", result);
        return XST_FAILURE;
    }

    Log_File = (char *)FileName;

    xil_printf("Create file Frame.txt...\n\r");
    result = f_open(&file1, Log_File, FA_CREATE_ALWAYS | FA_WRITE);
    if (result != 0) {
        xil_printf("Error! f_open %d\n\r", result);
        return XST_FAILURE;
    }

    xil_printf("Write some data on sd card...\n\r");

    result = f_write(&file1, (const void*)wr_buff, transfer_size, &BytesWr);
    if (result != 0) {
        xil_printf("Error! f_write %d\n\r", result);
        return XST_FAILURE;
    }
    result = f_close(&file1);
    xil_printf("Close file...\n\r");
    if (result != 0) {
        xil_printf("Error! f_close %d\n\r", result);
        return XST_FAILURE;
    }

    cleanup_platform();
    return 0;
}

    
pregunta Usman Khan

0 respuestas

Lea otras preguntas en las etiquetas