Сергей Саныч писал(а):я, конечно, не столь квалифицированный спец, но "борьба" с библиотеками hal отнимает у меня куда больше времени, чем написание и отладка собственных функций.
А что там сложного-то? Она очень грамотно и логично организована. Я вон даже документацию на неё не изучал, просто просмотрел по диагонали пяток начальных страниц и описание пары функций. Там по названиям переменных и функций всё про них замечательно понять можно. Я и сам таким методом пользуюсь.
Сергей Саныч писал(а):А как еще назвать ситуацию, когда простая инициализация периферии занимает порядка десятка кбайт?
А не надо называть, надо пользоваться плодами цивилизации - современными мощными и не дорогими МК, компиляторами с сильным интеллектом в плане оптимизации, библиотеками, позволяющими без изменений компилить код под любой МК из серии.
И всё таки хотелось бы какой-то конкретный пример, чтоб можно было разобрать "по косточкам". Да и про десятки килобайт полагаю преувеличение, разве что с включенными отладкой и printf'ами. Во всяком случае у меня в нескольких проектах полностью на HAL так не получается. Например инициализация UART в F1xx - код занимает 262 байта (по карте памяти) с выключенной оптимизацией. Причем для инициализации всех имеющихся UART будет использовать этот-же самый код.
MX_Master писал(а):Кубик и HAL - не про экономию ресурсов, они про экономию времени начинающего прогера.
Любого прогера. Чем профессиональнее прогер, тем дороже стоит его время. Например если я в каком-то пректе TI буду пользоваться не рекомендованными библиотеками/фрейворками, а писать оптимальный код "на регистрах", то у меня просто не примут работу, даже если весь код проекта будет написан только мной - просто потому, что кому-то другому в нём будет сложнее разобраться.