int a = 0; // будет инициализировано int b; // не будет инициализировано.
Вот цитата из описания компилятора С композера.
The ISO C standard specifies that global (extern) and static variables without explicit initializations must be initialized to 0 before the program begins running. This task is typically done when the program is loaded. Because the loading process is heavily dependent on the specific environment of the target application system, the compiler itself makes no provision for preinitializing variables at run time. It is up to your application to fulfill this requirement.
Так что в данном случае инициализации НЕ БУДЕТ.
Далее - из флешки грузит не рантайм-либа, а бутлоадер. Ему через .cmd файл можно принудительно сказать через аттрибут "fill" про инициализацию, но в примере GRD нет и этого. Поэтому все Ваши рассказы про инициализацию так размещенной переменной - натуральная дезинформация.