Обязательно ли делать void initAll()?
Делать... описывать, вызывать?
Можно отказаться от инициализации периферии, но тогда будет вещь в себе.
а потом объявляем порт,
Порт не объявляется, это всего-лишь ячейка памяти в адресном пространстве.
Все декларации прописаны в файле типа stm32f10x.h.
Данный кусок кода лишь вызывает подпрограмму, которая копирует туда данные из структуры.
А вообще, стоит ли использовать SPL?
Где-то на форуме неоднократно поднимался этот вопрос. Насколько помню, к единому мнению так и не пришли.
Как заставить КЕЙЛ показывать мне состояние переменных
Включить окошки Call Stack Window, Watch windows, Memory windows. Но при высокой оптимизации кода там может быть бардак.