Перейти к содержанию
    

И снова этот вопрос: какой фреймворк для Cortex-M0/M3/M4(F)/M7

2 minutes ago, x893 said:

Конечно. Но всё зависит от задачи.

Не могли бы вы описать общий опыт, может быть есть какие-либо нюансы, на которые точно стоит обратить внимание?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 minutes ago, haker_fox said:

Не могли бы вы описать общий опыт, может быть есть какие-либо нюансы, на которые точно стоит обратить внимание?

Ньюансы везде есть. Если флэша мало - надо настраивать аккуратно компоненты, а их уйма там. Но исходники есть - всегда можно посмотреть.

Но кроме mbed с исходниками

FreeRTOS

AliOS-Thnings

Amazon-FreeRTOS

mico-os

RIOT

ZyphyrOS

mynewt

и ещё 100500

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, x893 said:

Ньюансы везде есть.

Хорошо, детализирую:

1. Насколько оправданно её использовать на камешках на базе Cortex-M0, с ПЗУ 64 кБ, ОЗУ 8 кБ? Требуются только драйвера периферии, переключатель задач.

2. Есть ли какие-либо средства для отладки? Консоль, трассировщик или иная приблуда, позволяющая посмотреть запущенные задачи, потребляемые ресурсы?

3. Как я понял, под красивым API на Си++ лежит старый добрый CMSIS и драйвера на Си?

4. Стали бы вы использовать эту систему для прибора, который должен работать круглосуточно годами и месяцами без выключения? Тут вопрос больше риторический.

5. Ну и ещё один риторический: вы её продолжаете использовать.А если нет, то почему? Может быть что-то в ней всё-таки не нравится, но уже отказаться тяжело...

6. Трудно ли модифицировать или добавлять новые драйвера?

Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 hours ago, haker_fox said:

Чтож, действительно за качественный продукт придётся платить. Кстати, вы так раньше активно MQX хвалили. Она продолжает выполнять своё доброе дело, или вы уже не работаете с ней?

MQX перестала быть бесплатной уже как два года. Одновременно IAR перестал к MQX давать плагины в новых версиях.  
Поэтому для поддержки старых проектов с MQX я должен держать старый IAR 7.80 на взводе. Это напрягает. 

Нынешний платный MQX продолжает развиваться.
Но дока к нему сильно многословна, организация прерываний сложная. Сложней только в Nucleus RTOS. 
Много избыточных сервисов.
Есть деление сервисов на легкие и тяжелые.
Тяжелые  - это которые с полным набором фичей, типа работы между ядрами, наследование приоритета, специальные алгоритмы вытеснения и проч. и соответственно более медленные.
Тяжелые сервисы я вообще не применял.  
Не покатила их модель драйверов. Типа начать с  open, потом io_ctl, потом close. И это на каждый чих и даже для GPIO.
Для риалтайма это зажирно.   Но им это экономит доку, экономит мозги (одна абстракция на все) и упрощает масштабирования (API не меняется), и формально все правильно, это же как бы стандарт. 
Тяжело также смотреть на сорсы предназаченные для компиляции в 5-6 разных компиляторах.  Это сплошное месиво условных компиляций и макросов, драйвера - непроходимые джунгли. Не для любителей покоя.  
А MQX как раз идет под 6-ть компиляторов сразу.  

А mbed - огрызки с чужого стола обильно политые соусом из С++.  Т.е. копнете глубже и найдете тот же старый добрый лежалый Keil RTX, но сверху будет куча плюсовых оберток максимально абстрагирующих вас от внутренностей. Всё косит под arduino. Прям вот явно с ним конкурирует.   
Портировал я mbed здесь - https://habr.com/ru/post/262839/
Бросил это бред буквально через пару недель. 

Впрочем коммерческие поставщики могут вам выдать сорсы только для одного определенного компилятора. Знаю что так есть в ThreadX. 
Эт сильно ускоряет процесс вхождения.  


 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 minutes ago, AlexandrY said:

непроходимые джунгли.

Гм. Создаётся ощущение, что любой фреймворк (платный или даром) всё равно будет неудобно использовать пока не поправишь под себя...

13 minutes ago, AlexandrY said:

А mbed - огрызки с чужого стола обильно политые соусом из С++. 

Да, я уже поглядел исходники на github'е. Мне не нравится обилие драйверов, написанных на Си, в стиле "как курица лапой".

 

В общем, делаю вывод, что нужно писать что-то своё. Единственное, что смущает, это то, что современные МК сложнее в разы, чем старые добрые AVR и PIC. Хотя, как правило, не всегда же нужная вся периферия. Поэтому можно писать постепенно, дополняя исходники нужным кодом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, haker_fox said:

В общем, делаю вывод, что нужно писать что-то своё. Единственное, что смущает, это то, что современные МК сложнее в разы, чем старые добрые AVR и PIC. Хотя, как правило, не всегда же нужная вся периферия. Поэтому можно писать постепенно, дополняя исходники нужным кодом.

"Много "наших" полегло" сделав такой вывод. Что мы имеем в плюсах при таком подходе?

1) низкий тайм ту маркет +

2) решение, проверенное временем +

3) развитое сообщество +

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Для этого у человека мозг есть. Послушал советы гуру и делай как удобнее.

Когда через неделю устройство сдохнет - кто будет отвечать ?

Советчики с форума или кто кнопки давил (или людей нанимал) ?

А 90% кода и так копи-пастится с github.

У меня 99% проектов - софт для железа занимает максимум 2-3%, остальное не зависит от OS|framewaork, но тут уже ученые помогают с алгоритмами (Фихтенгольц, Фурье и т.д.).

 

15 minutes ago, desh said:

"Много "наших" полегло" сделав такой вывод. Что мы имеем в плюсах при таком подходе?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, haker_fox said:

Мне не нравится обилие драйверов, написанных на Си, в стиле "как курица лапой".

Так ваша хотелка физически нереализуема! Любая попытка добавить универсальности в итоге превращает все в лютейший быдлокод! Как пример хочу вспомнить Qt: изначально это была простая и довольно приличная библиотека GUI-виджетов под цепепе. Но потом создатели решили добавить ненужной кроссплатформенности + кучу новых плюшек. И Qt превратилась в дикого монстра...

Вам мало калокуба или SPL'я? А представьте, если калокуб еще ртосью обмазать...

Не, это точно будет неюзабельно и без возможности поддержки.

Зато ардуинщикам понравится: "тяп-ляп - и в продакшн!".

3 minutes ago, x893 said:

А 90% кода и так копи-пастится с github.

Если бы так, было бы просто великолепно!

А на деле приходится минимум несколько часов убить, прежде чем что-то "скопипастить". Иной раз изначальный код приходится до неузнаваемости изменить, чтобы получилось красиво и работало как тебе надо.

Изменено пользователем Eddy_Em

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 minutes ago, Eddy_Em said:

Если бы так, было бы просто великолепно!

А на деле приходится минимум несколько часов убить, прежде чем что-то "скопипастить". Иной раз изначальный код приходится до неузнаваемости изменить, чтобы получилось красиво и работало как тебе надо.

Так для этого мозг и нужен. Второй раз уже времени меньше уходит. А на третий раз - уже и git не нужен. Процесс итерационный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Just now, x893 said:

Второй раз уже времени меньше уходит.

Это да. Особенно по мере накопления собственных сниппетов. В конце-концов все сводится к копипасте кусков своего кода с незначительными в них изменениями… И в даташит нужно смотреть все реже и реже.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, Eddy_Em said:

Это да. Особенно по мере накопления собственных сниппетов. В конце-концов все сводится к копипасте кусков своего кода с незначительными в них изменениями… И в даташит нужно смотреть все реже и реже.

Так это правда. А она всегда одна.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, desh said:

тайм ту маркет

Можно или по английски грамотно, или, что лучше, по русски)

1 hour ago, desh said:

2) решение, проверенное временем +

Практика показывает, что это далеко не ко всем проектам применимо. Я уже говорил, что доверяю FreeRTOS, scmRTOS, lwIP. Про них много отзывов на этом форуме, хотя бы. А вот про mbed тот же - отзывов не так много, да и те противоречивые. Даже уважаемый @x893 не хочет отвечать на конкретные вопросы))))

1 hour ago, x893 said:

Послушал советы гуру и делай как удобнее.

Так вроде и собираюсь поступать. Но это для работы, а там у меня руководство ещё свои взгляды имеет...

1 hour ago, x893 said:

кто будет отвечать ?

На компилятор валить можно)

1 hour ago, Eddy_Em said:

Любая попытка добавить универсальности в итоге превращает все в лютейший быдлокод

Согласен с тем, что излишняя универсальность иногда приводит к тому, что изделием становится невозможно пользоваться. Оно охватывает всё, и, одновременно, ничего. Но здесь у меня речь о нескольких архитектурах. Я не занимаюсь pic'ами, avr'ками. Т.е. фреймворк нацелен на более-менее близкие микроконтроллеры.

1 hour ago, Eddy_Em said:

Вам мало калокуба или SPL'я?

Не использовал, не знаю.

1 hour ago, Eddy_Em said:

А представьте, если калокуб еще ртосью обмазать...

А при чём здесь ОС? Вы её используете?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 minutes ago, haker_fox said:

Практика показывает, что это далеко не ко всем проектам применимо. Я уже говорил, что доверяю FreeRTOS, scmRTOS, lwIP. Про них много отзывов на этом форуме, хотя бы. А вот про mbed тот же - отзывов не так много, да и те противоречивые. Даже уважаемый @x893 не хочет отвечать на конкретные вопросы))))

Да просто лень кнопки давить. :)

а про mbed потому и мало, что сильно много всего там.

Хотя Keil, mbed, mbedOS уже давно всё ARM.

И да и переход не сильно трудоёмкий.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

22 minutes ago, haker_fox said:

А при чём здесь ОС? Вы её используете?

А разве еще остались те, кто ходит исключительно пешком, избегая всякого транспорта? ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 minutes ago, Forger said:

А разве еще остались те, кто ходит исключительно пешком, избегая всякого транспорта? ;)

Конечно. Их уйма тут. А сколько по офисам сидит и кричит - "Нас рать !"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...