Dear,
Read the following source code , I am not sure whether it's a bug in the line6 and line 7?
I doubt, if __RAM_END - __RAM_START = 1, the ble will skip to .LC5. So, the byte can't be initialized.
....
#ifdef START_FROM_FLASH
/* Init ECC RAM */
ldr r1, =__RAM_START
ldr r2, =__RAM_END
subs r2, r1
subs r2, #1
ble .LC5
movs r0, 0
movs r3, #4
.LC4:
str r0, [r1]
add r1, r1, r3
subs r2, 4
bge .LC4
.LC5:
#endif