pi-sd.c (569B)
1 #include <stdint.h> 2 3 #include "pi-sd.h" 4 #include "emmc.h" 5 6 static int init_p = 0; 7 8 int pi_sd_init(void) { 9 if(sd_init() != SD_OK) return -1; 10 11 init_p = 1; 12 13 return 1; 14 } 15 16 int pi_sd_read(void *data, uint32_t lba, uint32_t nsec) { 17 if (!init_p) return -1; 18 19 int res; 20 21 if((res = sd_readblock(lba, data, nsec)) != 512 * nsec) { 22 return -1; 23 } 24 25 return 1; 26 } 27 28 int pi_sd_write(void *data, uint32_t lba, uint32_t nsec) { 29 if (!init_p) return -1; 30 31 int res; 32 if((res = sd_writeblock(data, lba, nsec)) != 512 * nsec) { 33 return -1; 34 } 35 36 return 1; 37 }