https://*.com/questions/28708234/how-to-fix-defined-in-discarded-section-linker-error
void * memcpy(void *dest, const void *src, sizte_t n) __attribute__((used));
void * memcpy(void *dest, const void *src, size_t n) {
uint8_t *d = (uint8_t *)dest;
uint8_t *s = (uint8_t *)src;
while(n--) {
*d++ = *s++;
}
return dest;
}