The initialisers bit seems downright dangerously wrong. This code:<p><pre><code>    uint32_t array[10] = {0};
</code></pre>
Does not initialise every element to 0 in the way it would seem to. To see the difference contrast the difference you get when you a) remove the initialiser and b) replace the initialiser with {1}.