|
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, 07:26
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(makc @ Feb 17 2018, 22:51)  важно не только что именно применяется (какая библиотека), но и каким образом. Само определение HAL (hardware abstraction layer) указывает на его слабость. Как можно абстрагировать hardware если мы выбираем его за его уникальность? Т.е. как минимум в некотрых случаях HAL в принципе будет неприемлем если хотим использовать периферию инновационным способом. Каким бы образом вы HAL не применяли он однозначно вас изолирует от кучи полезной функциональности конкретной периферии. В embedded изоляцию от железа надо ограничивать BSP (board support package) и PSP (platform support package) Но даже эти вещи слишком абстрагированы от железа. Изоляция в виде HAL удобна видимо начинающим и неопытным программистам. Поскольку у них от мануалов по периферии в несколько тысяч страниц возникают нехорошие чувства. Их можно понять. По опыту скажу, чтобы приспособиться под информационную экосистему производитекля (структура, состав, стиль мануалов и т.д.) нужно несколько лет. У кого нет столько времени, понятно, альтенативы HAL-у не имеет. Когда я стал очень давно применять RTOS я понял, что ни один HAL и даже BSP мне не подходят. На уровне HAL нигде не используются сервисы RTOS. Максимум могут предложить самому написать свои функции синхронизации. Отсутствие асинхронности на уровне доступа к периферии рушит всю идеологию RTOS и принципы планирования. Иногда BSP очень сильно интегрирован в RTOS, например так обстоит в MQX. Тогда мне пришлось большими усилями вырвать из лап BSP управление DMA чтобы использовать его так как мне надо. Но еще много периферии осталось под властью BSP: USB, SDIO, Ethernet Но только потому что у них у всех есть собственный механизм DMA.
|
|
|
|
Сообщений в этой теме
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 17 2018, 23:51) почему-... Feb 18 2018, 05:10  makc Цитата(halfdoom @ Feb 18 2018, 08:10) Нем... Feb 19 2018, 13:56   halfdoom Цитата(makc @ Feb 19 2018, 16:56) Вы хоти... Feb 20 2018, 08:34   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 >
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|