Microchip® Advanced Software Framework

sd_mmc_mem.c File Reference

CTRL_ACCESS interface for common SD/MMC stack.

Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.

#include "conf_access.h"
#include "conf_sd_mmc.h"
#include "sd_mmc.h"
#include "sd_mmc_mem.h"
#include "udi_msc.h"

Functions

MEM <-> RAM Interface
Ctrl_status sd_mmc_mem_2_ram (uint8_t slot, uint32_t addr, void *ram)
 Copies 1 data sector from the memory to RAM. More...
 
Ctrl_status sd_mmc_mem_2_ram_0 (uint32_t addr, void *ram)
 Instance Declaration for sd_mmc_mem_2_ram Slot O. More...
 
Ctrl_status sd_mmc_mem_2_ram_1 (uint32_t addr, void *ram)
 Instance Declaration for sd_mmc_mem_2_ram Slot 1. More...
 
Ctrl_status sd_mmc_ram_2_mem (uint8_t slot, uint32_t addr, const void *ram)
 Copies 1 data sector from RAM to the memory. More...
 
Ctrl_status sd_mmc_ram_2_mem_0 (uint32_t addr, const void *ram)
 Instance Declaration for sd_mmc_mem_2_ram Slot O. More...
 
Ctrl_status sd_mmc_ram_2_mem_1 (uint32_t addr, const void *ram)
 Instance Declaration for sd_mmc_mem_2_ram Slot 1. More...
 

Control Interface

static bool sd_mmc_ejected [2] = {false, false}
 
Ctrl_status sd_mmc_test_unit_ready (uint8_t slot)
 Tests the memory state and initializes the memory if required. More...
 
Ctrl_status sd_mmc_test_unit_ready_0 (void)
 Instance Declaration for sd_mmc_test_unit_ready Slot O. More...
 
Ctrl_status sd_mmc_test_unit_ready_1 (void)
 Instance Declaration for sd_mmc_test_unit_ready Slot 1. More...
 
Ctrl_status sd_mmc_read_capacity (uint8_t slot, uint32_t *nb_sector)
 Returns the address of the last valid sector in the memory. More...
 
Ctrl_status sd_mmc_read_capacity_0 (uint32_t *nb_sector)
 Instance Declaration for sd_mmc_read_capacity Slot O. More...
 
Ctrl_status sd_mmc_read_capacity_1 (uint32_t *nb_sector)
 Instance Declaration for sd_mmc_read_capacity Slot 1. More...
 
bool sd_mmc_unload (uint8_t slot, bool unload)
 Unload/Load the SD/MMC card selected. More...
 
bool sd_mmc_unload_0 (bool unload)
 Instance Declaration for sd_mmc_unload Slot O. More...
 
bool sd_mmc_unload_1 (bool unload)
 Instance Declaration for sd_mmc_unload Slot 1. More...
 
bool sd_mmc_wr_protect (uint8_t slot)
 Returns the write-protection state of the memory. More...
 
bool sd_mmc_wr_protect_0 (void)
 Instance Declaration for sd_mmc_wr_protect Slot O. More...
 
bool sd_mmc_wr_protect_1 (void)
 Instance Declaration for sd_mmc_wr_protect Slot 1. More...
 
bool sd_mmc_removal (uint8_t slot)
 Tells whether the memory is removable. More...
 
bool sd_mmc_removal_0 (void)
 Instance Declaration for sd_mmc_removal Slot O. More...
 
bool sd_mmc_removal_1 (void)
 Instance Declaration for sd_mmc_removal Slot 1. More...
 

MEM <-> USB Interface

COMPILER_WORD_ALIGNED uint8_t sector_buf_0 [SD_MMC_BLOCK_SIZE]
 
COMPILER_WORD_ALIGNED uint8_t sector_buf_1 [SD_MMC_BLOCK_SIZE]
 
Ctrl_status sd_mmc_usb_read_10 (uint8_t slot, uint32_t addr, uint16_t nb_sector)
 Transfers data from the memory to USB. More...
 
Ctrl_status sd_mmc_usb_read_10_0 (uint32_t addr, uint16_t nb_sector)
 Instance Declaration for sd_mmc_usb_read_10 Slot O. More...
 
Ctrl_status sd_mmc_usb_read_10_1 (uint32_t addr, uint16_t nb_sector)
 Instance Declaration for sd_mmc_usb_read_10 Slot 1. More...
 
Ctrl_status sd_mmc_usb_write_10 (uint8_t slot, uint32_t addr, uint16_t nb_sector)
 Transfers data from USB to the memory. More...
 
Ctrl_status sd_mmc_usb_write_10_0 (uint32_t addr, uint16_t nb_sector)
 Instance Declaration for sd_mmc_usb_write_10 Slot O. More...
 
Ctrl_status sd_mmc_usb_write_10_1 (uint32_t addr, uint16_t nb_sector)
 Instance Declaration for sd_mmc_usb_write_10 Slot 1. More...