Здравствуйте, vsb, Вы писали:
vsb>1. Язык С гарантирует, что все глобальные переменные инициализируются нулями. vsb>2. Компилятор кладёт этот буфер в секцию `.bss`. vsb>3. Стартап код на ассемблере обнуляет секцию `.bss` сразу после запуска контроллера. vsb>4. _start из libc ещё раз обнуляет секцию `.bss` (видимо для надёжности).
Согласно Талмуду руки мыть нужно 3 раза, так что все верно.
vsb>5. Итого наш хиленький процессорчик после подачи питания просто так потратил порядка сотни тысяч тактов, гоняя нули. vsb>6. Наш буфер вообще никак не использует этот факт своего обнуления.
А что если туда каким-то образом попадет вредоносный код?