|
STM32СubeMX и подобные |
|
|
|
Feb 14 2018, 02:36
|
Частый гость
 
Группа: Участник
Сообщений: 85
Регистрация: 20-09-15
Пользователь №: 88 488

|
Хотел собрать мнения специалистов, на примере STM32CubeMX. Все-таки стоит ли применять подобные вещи или это для домохозяек? При написании больших проектов на чистых С, С++ падает скорость разработки, но пока проверишь используемые ветки HAL, получается тоже не быстро. Есть ли подводные камни и сложности "ручной" сборки например RTOS, в Cube довольно быстро, но качество неизвестно. Может применение библиотек производителей, пусть не совсем хороших, не так уж плохо? Очень интересно мнение тех, кто имеет практический опыт по этой теме.
|
|
|
|
|
 |
Ответов
|
Feb 17 2018, 20:51
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Подолью масла в огонь: почему-то критика HAL исходит из того, что собственный код "через регистры" не содержит ошибок априори. Однако в это поверить невозможно, т.к. его создают тоже люди. Итого: получается альтернативный велосипед, возможно несколько более компактный и реализованный иначе, но выполняющий те же функции. В чем же принципиальное его достоинство? Свое?
Лично мое скромное мнение по этому вопросу: важно не только что именно применяется (какая библиотека), но и каким образом. Как построен процесс интеграции генерируемых/данных исходников, тестирование готового продукта и т.п. Ибо итоговый результат определяется не столько используемыми библиотеками/языками программирования, а тем кто их использует и как. HAL, как и любая готовая библиотека, позволяет несколько сэкономить время при аккуратном и грамотном подходе. При этом, переходя в практическую плоскость, было бы логичным организовать репозиторий на том же github с исправлениями тех проблем, которые оригинальные разработчики почему-то обходят стороной.
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Feb 18 2018, 05:10
|

Профессионал
    
Группа: Свой
Сообщений: 1 003
Регистрация: 20-01-05
Пользователь №: 2 072

|
Цитата(makc @ Feb 17 2018, 23:51)  почему-то критика HAL исходит из того, что собственный код "через регистры" не содержит ошибок априори. Однако в это поверить невозможно, т.к. его создают тоже люди. Итого: получается альтернативный велосипед, возможно несколько более компактный и реализованный иначе, но выполняющий те же функции. В чем же принципиальное его достоинство? Свое? Немного не так. HAL можно использовать в проектах, где цена ошибки не велика и быстродействие не критично. Если же приходится инспектировать каждую строчку чужого, далеко не всегда оптимального кода, то действительно, проще написать обертку в рамках своего фреймворка.
|
|
|
|
|
Feb 19 2018, 13:56
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата(halfdoom @ Feb 18 2018, 08:10)  Немного не так. HAL можно использовать в проектах, где цена ошибки не велика и быстродействие не критично. Если же приходится инспектировать каждую строчку чужого, далеко не всегда оптимального кода, то действительно, проще написать обертку в рамках своего фреймворка. Вы хотите сказать, что разрабатываете прошивки исключительно с полным соблюдением MISRA C? Включая их статический анализатор? Если нет, то любой код содержит ошибки. При исполнении любого кода что-то может пойти не так (некорректная обработка внешних условий и исключительных ситуаций). Поэтому я не вижу почему HAL нельзя использовать в проектах, где цена ошибки велика и быстродействие критично (профилировку и оптимизацию никто не отменял. Я пытаюсь сказать, что в случае правильного использования HAL будет хорошо работать правило 20/80 ( закон Парето). А потом, правильно его применив, потратить оставшееся время (80%) на отладку и тонкую доводку. Возможно, с патчами в коде HAL. Цитата(AlexandrY @ Feb 18 2018, 10:26)  Само определение HAL (hardware abstraction layer) указывает на его слабость. Как можно абстрагировать hardware если мы выбираем его за его уникальность? Есть типовые периферийный блоки для решения вполне стандартных задач (таймеры, контроллеры SPI/I2C и т.п.). Да, они отличаются функциональными особенностями и регистрами, но в целом они очень похожи и с прикладной точки зрения вполне могут быть взаимозаменяемы. Поэтому я не вижу тут никакой слабости. Более того, HAL для разных семейств SMT32 немного отличается по API. Это можно расценить, как попытку уйти от слабости.  Цитата Т.е. как минимум в некотрых случаях HAL в принципе будет неприемлем если хотим использовать периферию инновационным способом. Каким бы образом вы HAL не применяли он однозначно вас изолирует от кучи полезной функциональности конкретной периферии. Пардон, но я нигде не утверждал, что HAL покрывает возможности периферии на 100%. Также не говорил, что не нужно знать возможности и особенности этой периферии. Это все знать нужно, но на это и есть процесс тонкой доводки после того, как большая часть функционала была реализована. Повторюсь выражаясь иначе: чтобы грамотно применять HAL нужно знать и понимать, как работает железо и периферия отдельно взятого контроллера. HAL не может заменить это понимание, что и показывают многие неудачные попытки его применения новичками. Но для опытного разработчика он может позволить сэкономить время на разработку базового функционала, с точной доводкой под частную задачу, с дополнительной оптимизацией. Ценой является определенный оверхед, но если объем флеша позволяет, то почему бы и нет?
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
Сообщений в этой теме
phenixs STM32СubeMX и подобные Feb 14 2018, 02:36 haker_fox QUOTE (phenixs @ Feb 14 2018, 10:36) Очен... Feb 14 2018, 02:54 phenixs Давно уже, гуру рекомендовали не использовать чужи... Feb 14 2018, 03:03 haker_fox QUOTE (phenixs @ Feb 14 2018, 11:03) пере... Feb 14 2018, 04:23 kolobok0 Цитата(phenixs @ Feb 14 2018, 06:03) ...к... Feb 14 2018, 15:46 AlexandrY Цитата(phenixs @ Feb 14 2018, 05:03) Хоче... Feb 17 2018, 13:06 pitt Документация ко всем STM32, с которыми мне приходи... Feb 14 2018, 04:24 scifi Цитата(pitt @ Feb 14 2018, 07:24) Докумен... Feb 14 2018, 04:31  pitt Цитата(scifi @ Feb 13 2018, 23:31) Люто м... Feb 14 2018, 12:31   scifi Цитата(pitt @ Feb 14 2018, 15:31) Рекомен... Feb 14 2018, 12:36    pitt Цитата(scifi @ Feb 14 2018, 07:36) Не над... Feb 14 2018, 15:30 phenixs Вот, ключевые слова - если вас и ваших клиентов на... Feb 14 2018, 04:33 Quasar Цитата(phenixs @ Feb 14 2018, 07:33) ... ... Feb 14 2018, 04:47 phenixs Возможно не стоит содержать свой штат и писать дра... Feb 14 2018, 04:52 Quasar Цитата(phenixs @ Feb 14 2018, 07:52) Возм... Feb 14 2018, 06:37  phenixs Цитата(Quasar @ Feb 14 2018, 09:37) Не со... Feb 14 2018, 06:47 Jenya7 Категорически против CubeMX. Уж лучше SPL - намног... Feb 14 2018, 07:12 -AZ- Цитата(Jenya7 @ Feb 14 2018, 10:12) Катег... Feb 14 2018, 08:51  Jenya7 Цитата(-AZ- @ Feb 14 2018, 13:5... Feb 14 2018, 11:44   -AZ- Цитата(Jenya7 @ Feb 14 2018, 14:44) Мой с... Feb 14 2018, 11:55 amiller С каждым днём на форуме всё больше вопросов по Cub... Feb 14 2018, 07:38 0men применяю HAL, код из куба только для первого ознак... Feb 14 2018, 09:28 Connor По крайней мере никто не будет спорить что CubeMx ... Feb 14 2018, 09:39 AHTOXA Цитата(Connor @ Feb 14 2018, 14:39) По кр... Feb 14 2018, 13:42 -AZ- Но как разработчик, вы отвечаете за код чем то...
... Feb 14 2018, 10:55 Connor Цитата(-AZ- @ Feb 14 2018, 05:5... Feb 14 2018, 11:25  -AZ- Цитата(Connor @ Feb 14 2018, 14:25) Ну то... Feb 14 2018, 11:32 sadat Использую куб как визуализацию распиновки и первич... Feb 14 2018, 15:30 -AZ- Цитата(sadat @ Feb 14 2018, 18:30) Исполь... Feb 14 2018, 16:12 картошка Цитата(sadat @ Feb 14 2018, 18:30) Исполь... Feb 21 2018, 07:43 mcheb ЦитатаИспользую куб как визуализацию распиновки и ... Feb 14 2018, 15:54 Aleksandr Baranov -AZ-. Мне кажется, не стоит задавать таких вопросо... Feb 14 2018, 20:36 -AZ- Цитата(Aleksandr Baranov @ Feb 14 2018, 23... Feb 15 2018, 00:59 halfdoom Куб действительно удобен для начального раскидыван... Feb 15 2018, 11:15 pitt Цитата(halfdoom @ Feb 15 2018, 06:15) Куб... Feb 15 2018, 13:19 Allregia Цитата(halfdoom @ Feb 15 2018, 12:15) Куб... Feb 17 2018, 12:30 -AZ- А не лучше ли инициализацию подглядывать в SPL ?
И... Feb 17 2018, 10:19 leocat Цитата(-AZ- @ Feb 17 2018, 10:1... Feb 17 2018, 19:03 Baser Цитата(-AZ- @ Feb 17 2018, 12:1... Feb 17 2018, 20:12  leocat Цитата(Baser @ Feb 17 2018, 20:12) ...
Бо... Feb 18 2018, 03:31   Baser Цитата(leocat @ Feb 18 2018, 05:31) Не пу... Feb 18 2018, 19:43 -AZ- Вы совершенно правы, речь в разрезе HAL драйверов... Feb 17 2018, 14:51   halfdoom Цитата(makc @ Feb 19 2018, 16:56) Вы хоти... Feb 20 2018, 08:34 AlexandrY Цитата(makc @ Feb 17 2018, 22:51) важно н... Feb 18 2018, 07:26  haker_fox QUOTE (AlexandrY @ Feb 18 2018, 15:26) У ... Feb 19 2018, 02:00   AlexandrY Цитата(haker_fox @ Feb 19 2018, 04:00) Ра... Feb 19 2018, 17:01    haker_fox QUOTE (AlexandrY @ Feb 20 2018, 01:01) но... Feb 20 2018, 08:08     haker_fox QUOTE (haker_fox @ Feb 20 2018, 16:08) Мн... Feb 21 2018, 01:04    Эдди Цитата(AlexandrY @ Feb 19 2018, 20:01) ра... Feb 21 2018, 04:47     mantech Цитата(Эдди @ Feb 21 2018, 07:47) Все хор... Feb 22 2018, 11:39      Эдди Цитата(mantech @ Feb 22 2018, 14:39) И чт... Feb 22 2018, 13:21       mantech Цитата(Эдди @ Feb 22 2018, 16:21) Банальн... Feb 22 2018, 18:50       Quasar Цитата(Эдди @ Feb 22 2018, 16:21) // а от... Feb 22 2018, 20:27        pitt Цитата(Quasar @ Feb 22 2018, 15:27) Есть ... Feb 23 2018, 12:29         Quasar Цитата(pitt @ Feb 23 2018, 15:29) А еще т... Feb 23 2018, 19:55          mantech Цитата(Quasar @ Feb 23 2018, 22:55) Какой... Feb 24 2018, 07:07          pitt Цитата(Quasar @ Feb 23 2018, 14:55) А лам... Feb 24 2018, 15:18           Quasar Цитата(pitt @ Feb 24 2018, 18:18) Следую ... Feb 24 2018, 18:08            pitt Цитата(Quasar @ Feb 24 2018, 13:08) Да-да... Feb 25 2018, 16:03        AlexandrY Цитата(Quasar @ Feb 22 2018, 22:27) Есть ... Feb 24 2018, 08:51         Quasar Цитата(AlexandrY @ Feb 24 2018, 11:51) DR... Feb 24 2018, 09:32          AlexandrY Цитата(Quasar @ Feb 24 2018, 11:32) Проек... Feb 24 2018, 14:45           Quasar Цитата(AlexandrY @ Feb 24 2018, 17:45) Да... Feb 24 2018, 15:13 golf2109 Дла реализации промышленного проекта STM32F769BI ... Feb 19 2018, 09:12 картошка STDlib для STM32 более менее приемлемое решение и ... Feb 20 2018, 12:01 juvf Цитата(phenixs @ Feb 14 2018, 07:36) Все-... Feb 22 2018, 08:41 Эдди Если исходники скрыты подальше от позора (как, нап... Feb 22 2018, 20:00 AlexandrY Цитата(Эдди @ Feb 22 2018, 22:00) Если ис... Feb 23 2018, 09:49  HardEgor Цитата(AlexandrY @ Feb 23 2018, 16:49) И ... Feb 23 2018, 11:06   mantech Цитата(HardEgor @ Feb 23 2018, 14:06) Хех... Feb 23 2018, 18:50  Эдди Цитата(AlexandrY @ Feb 23 2018, 12:49) И ... Feb 23 2018, 12:09   SSerge Цитата(Эдди @ Feb 23 2018, 19:09) Мой рун... Feb 23 2018, 12:44   AlexandrY Цитата(Эдди @ Feb 23 2018, 14:09) Мой рун... Feb 23 2018, 12:49 Эдди 3) если есть совесть. Feb 22 2018, 21:10 Quasar Цитата(AlexandrY @ Feb 23 2018, 12:49) И ... Feb 23 2018, 11:52 Эдди Я не комментирую то, что не нуждается в комментари... Feb 23 2018, 12:54 rudy_b На самом деле, именно для процессоров ST, HAL прос... Feb 23 2018, 14:03 Professor Chaos По поводу быстродействия кода, написанного с помощ... Feb 25 2018, 13:38 AlexandrY Цитата(Professor Chaos @ Feb 25 2018, 15... Feb 25 2018, 13:56 Quasar ЦитатаЭто обычная промышленная задача, решаемая дл... Feb 25 2018, 14:11 Aleksandr Baranov ЦитатаВ-четвертых, никаких операционных систем... Feb 25 2018, 14:26 Professor Chaos Как-то делал проект в фирме, занимающейся театраль... Feb 25 2018, 14:37 Quasar Цитата(Professor Chaos @ Feb 25 2018, 17... Feb 25 2018, 17:58  pitt Цитата(Quasar @ Feb 25 2018, 12:58) А люб... Feb 25 2018, 19:36  Professor Chaos Цитата(Quasar @ Feb 25 2018, 20:58) мне к... Feb 25 2018, 21:05   AlexandrY Цитата(Professor Chaos @ Feb 25 2018, 23... Feb 25 2018, 21:31  juvf Цитата(Quasar @ Feb 25 2018, 22:58) но мн... Feb 26 2018, 04:37   AlexandrY Цитата(juvf @ Feb 26 2018, 06:37) Абсолют... Feb 26 2018, 05:01    juvf Цитата(AlexandrY @ Feb 26 2018, 10:01) Ск... Feb 26 2018, 05:29     Quasar Цитата(juvf @ Feb 26 2018, 08:29) И ПО пи... Feb 26 2018, 06:53      juvf Цитата(Quasar @ Feb 26 2018, 11:53) я так... Feb 26 2018, 08:55       AlexandrY Цитата(juvf @ Feb 26 2018, 10:55) Свой яз... Feb 26 2018, 09:28     AlexandrY Цитата(juvf @ Feb 26 2018, 07:29) Это нав... Feb 26 2018, 07:17      Quasar Цитата(AlexandrY @ Feb 26 2018, 10:17) Бо... Feb 26 2018, 07:27       AlexandrY Цитата(Quasar @ Feb 26 2018, 09:27) Linux... Feb 26 2018, 07:41        Quasar Цитата(AlexandrY @ Feb 26 2018, 10:41) То... Feb 26 2018, 07:49   makc Цитата(juvf @ Feb 26 2018, 07:37) Абсолют... Feb 26 2018, 05:01
3 страниц
1 2 3 >
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|
|