Mark values as volatile
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
DataHoarder 2021-10-28 07:27:22 +02:00
parent 3a434aa9c6
commit ab1bffe446

View file

@ -44,11 +44,11 @@ KNOWN_FLASH_DEVICE KNOWN_FLASH_DEVICE_LIST[] = {
};
void ReadRegister32(uintptr_t mem, uint32_t addr, uint32_t *value) {
*value = *(((uint32_t *) mem) + addr);
*value = *(((volatile uint32_t *) mem) + addr);
}
void WriteRegister32(uintptr_t mem, uint32_t addr, uint32_t value) {
*(uint32_t volatile *) (((uint32_t *) mem) + addr) = value;
*(((volatile uint32_t *) mem) + addr) = value;
//If returning instantly this will caused missed writes. nanosleep wait of 1 nsec was too much. Busy wait works
#pragma GCC diagnostic push