HardEgor 79 19 марта, 2019 Опубликовано 19 марта, 2019 · Жалоба 22 минуты назад, topor_topor сказал: Зачем использовать микс ? Выходит нет смысла использовать CMSIS (а это немного сложнее) так как нужные драйвера всё равно в HAL.... Микс используют, потому что полная изоляция уровней архитектуры по мере роста иерархии либо становится ограниченной и теряет возможности, либо становится слишком "дорогой" по памяти и/или по производительности. Т.е. каждый сам находит баланс между чистотой кода и ресурсами системы. Иногда получается, что приходится выбирать - запускать вложенную несколько раз функцию или заменить её записью напрямую в регистры Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
topor_topor 0 19 марта, 2019 Опубликовано 19 марта, 2019 · Жалоба 1 hour ago, HardEgor said: Микс используют, потому что полная изоляция уровней архитектуры по мере роста иерархии либо становится ограниченной и теряет возможности, либо становится слишком "дорогой" по памяти и/или по производительности. Как я вижу в драйвере USB, HAL как раз и использован как наслоение над CMSIS с целью изоляции особенностей архитектуры. А не наоборот добавлен CMSIS с целью ускорить работу. Это не понятно. Ещё CMSIS использован как интерфейс к RTOS. Видимо чтобы от конкретной RTOS отвязать драйвер. Это понятно. Выходит к RTOS и битам USB полезли через CMSIS, а к апликейшену через HAL.... В общем, запутал меня ST :( Это что нормально лепить всё в кучу? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 19 марта, 2019 Опубликовано 19 марта, 2019 · Жалоба 1 hour ago, topor_topor said: В общем, запутал меня ST :( Это что нормально лепить всё в кучу? Нет конечно. У ST всегда был низкокачественный софт. Ну не спецы они, делают им софт разные команды по аутсорсу. Более продвинутые производители уже давно купили себе полные софтварные платформы, кто uC/OS, кто MQX, кто ThreadX И только ST топчет все ту же убогую FreeRTOS с lwip. Ждет видимо пока Amazon не отберет у них права на FreeRTOS или пока не отделит в другую ветку, а старая FreeRTOS загнется. Посмотрите в сторону Renesas Synergy и ThreadX. Там такого бардака не будет. От CMSIS там только DSP библиотека, которая одна и имеет ценность во всем CMSIS-е. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 20 марта, 2019 Опубликовано 20 марта, 2019 · Жалоба 10 часов назад, topor_topor сказал: В общем, запутал меня ST :( Это что нормально лепить всё в кучу? Вы кроме исходников что-то еще смотрели? На SPL (был до HAL) была хорошая документация, раскрывающая архитектуру (с картинками). Например, эта в начале многое по архитектуре HAL/LL определяет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
topor_topor 0 23 марта, 2019 Опубликовано 23 марта, 2019 · Жалоба Спасибо за инфу. Как соотносится HAL\LL и CMSIS видно рисунке: Для переносимости рекомендуют HAL, для тех кому нужны детали железа LL. CMSIS в принципе и не надо. Кроме того микс HAL и LL даже рекомендуется ST. Похоже что мешать все API в один исходник вполне приемлемо.... ================================================== Остался вопрос не совсем по теме но всё-таки Какой язык на сегодня наиболее популярен в ембедыд - C или C++? HAL\LL и CMSIS єто чисто C. Хотя все соурсы включают external C для линковки с C++. Про обертки C++ поверх RTOS читал. А есть ли обертки или примеры как использовать C++ с HAL\LL драйверами? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sunjob 0 22 февраля, 2023 Опубликовано 22 февраля, 2023 · Жалоба On 11/5/2015 at 2:33 PM, AlexandrY said: А в курсе что только из-за GCC вы убиваете почти половину производительности процессора? можно поподробнее? спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 22 марта, 2023 Опубликовано 22 марта, 2023 · Жалоба как упомянул topor_topor между CMSIS и HAL есть промежуточный вариант - LL который я нашел вполне приемлимым и пользуюсь им. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться