Видел сколько у ST разных каменей? ...Тебе давно следовало бы понять, что многое критикуемое тобой ты
критикуешь только потому что у тебя нет всей информации (многое ты
не знаешь). Сюрфил в утилите по
выбору камня? Такое решение потому что одна из важнейших задач
"инициативы" STM32CubeMX - как можно более полная переносимость не
только между камнями одной серии, но еще и между сериями.
Промежуточная структура у них служит целью создать барьер,
интерфейс между "пользовательским" кодом и кодом "драйверов", работающих с актуальным железом (сиречь регистрами). Задумка была в том пользовательский код заполняет структуры одинаково и не меняется при смене камня. В более сложном варианте это можно было сделать без промежуточных структур, без опоры на run-time, полагаясь на информацию исключительно внутри утилиты кодогенератора (что они и сделали для "LL" версии генерируемого кода), но изначально, авторы MicroXplorer выбрали такой вот простенький run-time "интерфейс" на стурктурах. Я думаю всё там начиналось как всегда. Кто-то смастерил чисто под себя говноподелку. Потом её немножко допилили. Потом выложили в ынтернеты. А потом простенькие халявные решения пришлось наследовать... ;) Потом это купили ST.. И вот.