no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
sd.h
Go to the documentation of this file.
1/***************************************************************************/
44
45#ifndef __SD_H__
46#define __SD_H__
47
48#include <string.h>
49#include <stdbool.h>
50#include <stdlib.h>
51#include "no_os_spi.h"
52
53#define DATA_BLOCK_LEN (512u)
54#define MAX_RESPONSE_LEN (18u)
55
56#ifdef SD_DEBUG
57#include <stdio.h>
58#define DEBUG_MSG(X) printf((X))
59#else
60#define DEBUG_MSG(X)
61#endif //SD_DEBUG
62
71
76struct sd_desc {
80 uint64_t memory_size;
84 uint8_t buff[18];
85};
86
91struct cmd_desc {
93 uint8_t cmd;
95 uint32_t arg;
99 uint32_t response_len;
100};
101
102int32_t sd_init(struct sd_desc **sd_desc,
103 const struct sd_init_param *init_param);
104int32_t sd_remove(struct sd_desc *desc);
105int32_t sd_read(struct sd_desc *desc,
106 uint8_t *data,
107 uint64_t address,
108 uint64_t len);
109int32_t sd_write(struct sd_desc *desc,
110 uint8_t *data,
111 uint64_t address,
112 uint64_t len);
113
114#endif /* __SD_H__ */
115
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
Header file of SPI Interface.
int32_t sd_init(struct sd_desc **sd_desc, const struct sd_init_param *init_param)
Definition sd.c:511
int32_t sd_read(struct sd_desc *desc, uint8_t *data, uint64_t address, uint64_t len)
Definition sd.c:400
int32_t sd_remove(struct sd_desc *desc)
Definition sd.c:622
int32_t sd_write(struct sd_desc *desc, uint8_t *data, uint64_t address, uint64_t len)
Definition sd.c:451
#define MAX_RESPONSE_LEN
Definition sd.h:54
Contains the elements needed to build a command.
Definition sd.h:91
uint32_t response_len
Definition sd.h:99
uint8_t cmd
Definition sd.h:93
uint8_t response[MAX_RESPONSE_LEN]
Definition sd.h:97
uint32_t arg
Definition sd.h:95
Structure holding SPI descriptor.
Definition no_os_spi.h:180
Structure that stores data about the SD card configurations.
Definition sd.h:76
uint64_t memory_size
Definition sd.h:80
struct no_os_spi_desc * spi_desc
Definition sd.h:78
uint8_t high_capacity
Definition sd.h:82
uint8_t buff[18]
Definition sd.h:84
Configuration structure sent in the function sd_init.
Definition sd.h:67
struct no_os_spi_desc * spi_desc
Definition sd.h:69