diff options
Diffstat (limited to 'setup.c')
-rw-r--r-- | setup.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -31,8 +31,10 @@ void setup(void) UNSET_BIT(WDOG_STCTRLH, STCTRLH_WDOGEN); /* Copy data and clear bss */ - memcpy(_sdata, _ldata, _edata - _sdata); - memset(_sbss, 0, _ebss - _sbss); + for (size_t i = 0; i < (size_t)(_edata - _sdata); i++) + _sdata[i] = _ldata[i]; + for (size_t i = 0; i < (size_t)(_ebss - _sbss); i++) + _sbss[i] = 0; /* Enable port clocks */ SIM_SCGC5 |= BV(SCGC5_PORTE) | BV(SCGC5_PORTD) | BV(SCGC5_PORTC) |