Там в ffconf.h есть опция _WORD_ACCESS. Если она задействована, то FatFS копирует блоки памяти по sizeof(int) за раз. Из за нее, в частности Cortex-M0 может падать в HardFault
// ff.c
static
void mem_cpy (void* dst, const void* src, UINT cnt) {
BYTE *d = (BYTE*)dst;
const BYTE *s = (const BYTE*)src;
#if _WORD_ACCESS == 1
while (cnt >= sizeof (int)) {
*(int*)d = *(int*)s;
d += sizeof (int); s += sizeof (int);
cnt -= sizeof (int);
}
#endif
while (cnt--)
*d++ = *s++;
}