Xenia, всё ещё веселей, если разобраться.
Есть CMSIS родной от ARM. Далее IAR выпустил версию, оптимизированную под себя. А ST в своих примерах ориентировался на версию ARM.
В феврале месяце победоносно вышел
stm32cubef4 который использует HAL на замену stdperiph_lib (предыдущей версии). Который камня на камне не оставил ни от самих библиотек ни от подходов. Что ставит крест на всех проектах, что их использовали. )) Переносимости никакой.
В кубе также используется FreeRTOS версии 7.6. Видно что над этим кубом они работали очень плотно, основательно и срок работы приличный.
Примерно в это же время вышла новая версия FreeRTOS 8.x которая существенно отличается от 7.х. Там изменены объявления типов на принятые в stdint ну типа xxx_t и так далее.
Кроме того в кубе использован cmsis_os. То есть прослойка отвязывания от самой ос ... ))
Короче... Всё развивается и все развиваются. Причём процессы идут супер параллельно и никто друг с другом своё развитие не согласует ... )))
К моменту выхода куба он уже морально устарел и требует существенного допиливания. И FreeRTOS, если по-хорошему, то тоже требуется приведения к cmsis_os. Если это массово пойдёт.
А проект делается не один месяц. Состоит из кучи решений. И не успеваешь хвататься.
Хорошо, что я из stdperiph_lib использовал только RCC. Всё остальное сам писал. Хотя если бы на начало проекта HAL был, то я бы его использовал. Он, на первый взгляд, написан достойно.
Просто сейчас смотрю. Что стоит апгрейдить а что нет. Мне надо LwIP подключать. Прихожу к мысли, что cmsis_os не буду пользовать. Я не примеры пишу, а конкретную реализацию.
Наверное попытаюсь перейти на IAR 7.2 и FreeRTOS 8. RCC из старой либы перепишу себе в проект, а из нового HAL возьму драйвер eth, максимально отвязано от библиотеки. cmsis_os использовать не буду, а LwIP непосредственно завяжу на FreeRTOS. Ну как то так. (
Grape спасибо, попробую.