MCPcopy Create free account
hub / github.com/ARMmbed/mbed-os / disk_write

Function disk_write

storage/filesystem/fat/source/FATFileSystem.cpp:212–230  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

210}
211
212extern "C" DRESULT disk_write(BYTE pdrv, const BYTE *buff, LBA_t sector, UINT count)
213{
214 debug_if(FFS_DBG, "disk_write(sector %lu, count %u) on pdrv [%d]\n", sector, count, pdrv);
215 DWORD ssize = disk_get_sector_size(pdrv);
216 mbed::bd_addr_t addr = (mbed::bd_addr_t)sector * ssize;
217 mbed::bd_size_t size = (mbed::bd_size_t)count * ssize;
218
219 int err = _ffs[pdrv]->erase(addr, size);
220 if (err) {
221 return RES_PARERR;
222 }
223
224 err = _ffs[pdrv]->program(buff, addr, size);
225 if (err) {
226 return RES_PARERR;
227 }
228
229 return RES_OK;
230}
231
232extern "C" DRESULT disk_ioctl(BYTE pdrv, BYTE cmd, void *buff)
233{

Callers 13

memoryWriteMethod · 0.85
disk_writeMethod · 0.85
sync_windowFunction · 0.85
sync_fsFunction · 0.85
dir_clearFunction · 0.85
f_readFunction · 0.85
f_writeFunction · 0.85
f_syncFunction · 0.85
f_lseekFunction · 0.85
f_truncateFunction · 0.85
f_forwardFunction · 0.85
create_partitionFunction · 0.85

Calls 4

debug_ifFunction · 0.85
disk_get_sector_sizeFunction · 0.85
eraseMethod · 0.45
programMethod · 0.45

Tested by 1

disk_writeMethod · 0.68