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

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

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
QUOTE (phenixs @ Feb 14 2018, 10:36)  Очень интересно мнение тех, кто имеет практический опыт по этой теме. Как всегда на любой вопрос нельзя дать однозначного ответа. Всё зависит от ваших условий и вашего опыта. Я имею опыт использования библиотеки CMSIS для микроконтроллеров серии LPC. Мы решили в своё время её использовать как раз для упрощения работы, и, частично, полагали, что она избавит нас от рутины. Отчасти так и произошло. Но в каждой версии CMSIS'а я находит ошибки (I2C, DMA, SSP). Как правило, функционал этих библиотек никогда не соответствовал нашим требованиям (возможность работы с ОС, по прерываниям и т.п.). Да и самое обидное было искать ошибки в библиотеке, цель которое - избаватить нас от этого процесса. Но опыт мне дал возможность подумать, и сделать вывод: что сейчас я бы начал писать свой драйвер под каждый модуль микроконтроллера. Опираясь только на даташит, юзер мануал и т.п. Вполне возможно заглядывал бы в библиотеки как в референс-дизайн. Всё-таки люди там тоже не одну собаку съели, и некоторые моменты могут быть хорошо разжёваны. Поэтому смотрите сами. Если у вас опыт совсем небольшой, берите готовую библиотеку, ищите в ней ошибке по ходу работы, исправляйте под свои нужды. Если опыта достаточно, я полагаю вы бы не стали задавать этот вопрос. Но если опыта недостаточно, а времени - вагон с тележкой, то можете попробывать и подход, к которому я пришёл)))
--------------------
Выбор.
|
|
|
|
|
Feb 14 2018, 03:03
|
Частый гость
 
Группа: Участник
Сообщений: 85
Регистрация: 20-09-15
Пользователь №: 88 488

|
Давно уже, гуру рекомендовали не использовать чужие либы, я так пошел. Времени прошло много, да именно так как вы говорите, пишу свои драйвера на каждую периферию с полным пониманием регистров. Но почему решил собрать актуальное мнение на сегодняшний день, сложность проектов растет, кол-во типов контролеров тоже, переносимость кода в общем-то получается никакая. И довольно сильно увеличивается время разработки. Хочется понять чем сегодня "дышит" мир гуру. Может все-таки время asm проходит... Вопрос относится к разработкам в рамках производства, а не частных поделках.
Сообщение отредактировал phenixs - Feb 14 2018, 03:39
|
|
|
|
|
Feb 14 2018, 04:23
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
QUOTE (phenixs @ Feb 14 2018, 11:03)  переносимость кода в общем-то получается никакая. Это быть не должно. Я использую Си++ при разработке драйверов. Хотя это не важно. Но все драйвера имеют более-менее одинаковый интерфейс. Поэтому для софта не важно, работаете вы часами внутри микроконтроллера, или это часы на i2c висят. Или это часы вообще с sntp сервера. QUOTE (phenixs @ Feb 14 2018, 11:03)  Может все-таки время asm проходит... Оно прошло ещё лет 15 назад. QUOTE (phenixs @ Feb 14 2018, 11:03)  Вопрос относится к разработкам в рамках производства, а не частных поделках. А вот тут вы зря. Это вовсе не показатель качества кода. Я работаю на производстве, если что  Но и для домашних "поделок" не пишу левой пяткой через среднее ухо
--------------------
Выбор.
|
|
|
|
|
Feb 14 2018, 04:24
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Документация ко всем STM32, с которыми мне приходилось иметь дело не лезет ни в какие ворота - совершенно неоднозначная, написана не по-английски(по-видимому, французский или итальянский) и перевод ужасный. В таком случая Куб помогает понять, о чем же хотела сказать документация. Еще одно достойное применение Куба для электриков - быстро написать примитивный проверочный код для проверки железа/периферии. Для создания профессионального продукта его тоже "можно" использовать, если вас и ваших клиентов надежность интересует в последнюю очередь. Сейчас молодые коллеги поднимут громкий крик о достоинствах этого индийского продукта, но, в конце концов, " думайте сами, решайте сами - иметь или не иметь..."
--------------------
|
|
|
|
|
Feb 14 2018, 06:47
|
Частый гость
 
Группа: Участник
Сообщений: 85
Регистрация: 20-09-15
Пользователь №: 88 488

|
Цитата(Quasar @ Feb 14 2018, 09:37)  Не совсем понял, а что значит не содержать свой штат, но искать кого-то на постоянной основе? В смысле стороннего исполнителя на постоянной основе? Это субъективное мнение, имею в виду обеспечивать постоянной работой одного или двух проверенных аутсорсеров. Аутсорсеров потому что как правило не удается найти человека в штат с необходимым опытом, практика показывает, самородки раскиданы по стране, соответственно удаленка.
|
|
|
|
|
Feb 14 2018, 08:51
|
Частый гость
 
Группа: Участник
Сообщений: 85
Регистрация: 20-09-15
Пользователь №: 88 488

|
Цитата(Jenya7 @ Feb 14 2018, 10:12)  Категорически против CubeMX. Уж лучше SPL - намного лучше. А если его (SPL) подправить так вообще конфета получается. Вот, тоже хотел озвучить это мнение, SPL в общем то и есть в чистом виде драйвера, стиль оформления кода конечно жесть, но привести в порядок и по моему очень даже ничего. Но это применимо к ST, с другими производителями опять начнутся вариации... Соответственно для стандартизации кода на предприятии наверное лучшим вариантом остается свои библиотеки.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|