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