#include <stdio.h>
#include "stdint.h"
uint64_t get_value() {
return 0x1020304050607080ULL;
}
int main(void) {
uint16_t flash[4] = {0};
uintptr_t flash_addr = &flash;
uint64_t value = get_value();
uint16_t* ptr = (uint16_t*)&value;
uint16_t* dst = (uint16_t*)flash_addr;
for (int i=0; i<4; ++i) {
printf("*ptr = 0x%x\n", *ptr
); *dst++ = *ptr++;
}
printf("value = 0x%llx\n", value
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlICJzdGRpbnQuaCIKCnVpbnQ2NF90IGdldF92YWx1ZSgpIHsKCXJldHVybiAweDEwMjAzMDQwNTA2MDcwODBVTEw7Cn0KCmludCBtYWluKHZvaWQpIHsKCXVpbnQxNl90IGZsYXNoWzRdID0gezB9OwoJdWludHB0cl90IGZsYXNoX2FkZHIgPSAmZmxhc2g7Cgl1aW50NjRfdCB2YWx1ZSA9IGdldF92YWx1ZSgpOwoJCgl1aW50MTZfdCogcHRyID0gKHVpbnQxNl90KikmdmFsdWU7Cgl1aW50MTZfdCogZHN0ID0gKHVpbnQxNl90KilmbGFzaF9hZGRyOwoJZm9yIChpbnQgaT0wOyBpPDQ7ICsraSkgewoJCXByaW50ZigiKnB0ciA9IDB4JXhcbiIsICpwdHIpOwoJCSpkc3QrKyA9ICpwdHIrKzsKCX0KCQoJcHJpbnRmKCJ2YWx1ZSA9IDB4JWxseFxuIiwgdmFsdWUpOwoJCglyZXR1cm4gMDsKfQo=