AlexandrY 2 15 августа, 2020 Опубликовано 15 августа, 2020 · Жалоба 21 minutes ago, Chudik said: Ага. И на хабре появилась статья для новичков в RTOS. Т.е. и для меня :) Давно искал хорошую RTOS и чтобы можно было железку в кубике настраивать https://habr.com/ru/company/quarta/blog/514084/ Автор статьи по ходу не понял чем Azure RTOS действительно уникальна и перечислил фичи которые есть у большинства RTOS. Судя по всему RTOS-ы не их специализация. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Chudik 0 15 августа, 2020 Опубликовано 15 августа, 2020 · Жалоба 21 minutes ago, AlexandrY said: Автор статьи по ходу не понял чем Azure RTOS действительно уникальна и перечислил фичи которые есть у большинства RTOS. Судя по всему RTOS-ы не их специализация. Я так понимаю, что у него была задача показать, что в кубике можно не только FreeRTOS подключать. Ну и привлечь новичков типа меня к использованию этой системы. Может в компании обнаружили доступность системы для всех с учётом того, что похоже для МК 5 компаний лицензия собирается быть бесплатной, стали её изучать и заодно сделать уроки. В конце концов, такие статьи ещё и неплохая реклама. Скажем, для компании, которая не имеет ресурсов для разработки FW, а надо. Для меня, как сказал выше, большим плюсом было соединение RTOS+CubeMX+ родной HAL от ST. Т.е. система даёт возможность традиционно обращаться к периферии Плюс хорошая временная детерминированность, привет FreeRTOS. И добила меня сертификация DO-178. А можно вкратце об уникальности системы? Чтобы знать, раз я на неё реально подсаживаюсь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AleksBak 0 15 августа, 2020 Опубликовано 15 августа, 2020 · Жалоба 1 час назад, Chudik сказал: Я так понимаю, что у него была задача показать, что в кубике можно не только FreeRTOS подключать. И что он натворил? Взял и полностью внедрил этот CubeMX в код системы и устройства. И теперь этот CubeMX на 100% можно сказать сросся со всеми компонентами и не так-то просто его теперь оттуда выкорчевать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 35 15 августа, 2020 Опубликовано 15 августа, 2020 · Жалоба 4 hours ago, AleksBak said: И что он натворил? Взял и полностью внедрил этот CubeMX в код системы и устройства. И теперь этот CubeMX на 100% можно сказать сросся со всеми компонентами и не так-то просто его теперь оттуда выкорчевать. Не любите HAL - не используйте. Берите LL или в регистры руками. Всё, что написано в статье на хабре применимо хоть к чему. IAR/Keil/голый gcc/... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 2 15 августа, 2020 Опубликовано 15 августа, 2020 · Жалоба 10 hours ago, Chudik said: Для меня, как сказал выше, большим плюсом было соединение RTOS+CubeMX+ родной HAL от ST. Т.е. система даёт возможность традиционно обращаться к периферии Плюс хорошая временная детерминированность, привет FreeRTOS. И добила меня сертификация DO-178. А можно вкратце об уникальности системы? Чтобы знать, раз я на неё реально подсаживаюсь. На самом деле я не видел RTOS в которые нельзя было бы впихнуть некий уровень абстракции периферии третьей стороны. Но это всегда выливается в проблему поддержки. Впиливание неродного HAL-а (а для ThreadX нужен специальный HAL), которым здесь является HAL от ST приведет к деградации свойств RTOS и ее детерминированности. Например для Synergy сделан HAL заточенный под ThreadX и там реально никаких проблем с периферией. Взлетает абсолютно все и как надо с первого раза. А для STM я бы оставался на FreeRTOS. Ну может быть µC/OS. µC/OS, кстати, идеальный вариант для новичков, там буквально разжевано как строить приложения с RTOS, какие объекты синхронизации использовать. Все прикладные протоколы типа FTP, Telnet, HTTP и проч. имеют поддержку SSL, а у ThreadX такого нет. А уникальность ThreadX в том что она уникально интегрирована с Synergy и это решение свободно и отрыто. Другие оси не предлагают такого уровня интеграции с периферией чипов. Короче говоря, я думаю Azure на STM с HAL-ом будет ни чем не лучше чем mbed, µC/OS или Zephyr с тем же HAL-ом. Но может я чет не знаю про CubeMX. Скажем вы видели в CubeMX ту самую поддержку THREADX MODULES? Автрр статьи на хабре их разрекламировал, а потом как-то забыл. Между тем эти THREADX MODULES требуют плотной интеграции с MPU, а это серьезная вещь. У Synergy такого нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Chudik 0 15 августа, 2020 Опубликовано 15 августа, 2020 · Жалоба 7 hours ago, x893 said: Не любите HAL - не используйте. Берите LL или в регистры руками. Согласен. Использование кубика не означает, что после первичной настройки периферии нельзя использовать какой угодно интерфейс. Единственно ST предупреждает, что лучше использовать во всё коде одинаково. 2 hours ago, AlexandrY said: я не видел RTOS в которые нельзя было бы впихнуть некий уровень абстракции периферии третьей стороны. Но это всегда выливается в проблему поддержки. Так-то оно так. Но когда я пытался поиграться с ChibiOS, которая мне очень понравилась, то в общении с автором было сказано, что никаких сторонних HAL, только его личный. Иначе будет крах системы. Здесь вроде как использование HAL от ST не возбраняется. 2 hours ago, AlexandrY said: Например для Synergy сделан HAL заточенный под ThreadX Я не знаю, что такое Synergy. Но я пока не видел ни одной оболочки для настройки периферии, близкой по возможностям к CubeMXю Если в TheadX будет свой HAL, который работает лучше, чем от ST, никто не ограничивает переключиться на него после инициализации. 2 hours ago, AlexandrY said: для STM я бы оставался на FreeRTOS. Однозначно нет. Есть опыт. 2 hours ago, AlexandrY said: вы видели в CubeMX ту самую поддержку THREADX MODULES? Нет. Там вообще ничего кроме FreeRTOS ничего нет. И это меня сильно угнетало. 2 hours ago, AlexandrY said: Автрр статьи на хабре их разрекламировал, а потом как-то забыл. Он не забыл, это первая статья из задуманной серии. И она вышла буквально пару недель назад. Я очень надеюсь, что следующая будет по GUIX Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 2 17 августа, 2020 Опубликовано 17 августа, 2020 · Жалоба On 8/16/2020 at 1:47 AM, Chudik said: Я не знаю, что такое Synergy. Но я пока не видел ни одной оболочки для настройки периферии, близкой по возможностям к CubeMX. Если в TheadX будет свой HAL, который работает лучше, чем от ST, никто не ограничивает переключиться на него после инициализации. Он не забыл, это первая статья из задуманной серии. И она вышла буквально пару недель назад. Я очень надеюсь, что следующая будет по GUIX Конфигураторы типа CubeMX есть как минимум у Renesas, NXP, Infineon. Это из тех что я рассматривал. CubeMX не есть некий феномен. Сейчас посмотрел что нового в CubeMX. И да, они вообще не знают про Azure RTOS. Т.е. их middleware никак не интегрируется в Azure. А Azure RTOS ничего не знает от таком чуде как Cude IDE. А скажем менеджер загрузочных модулей в Azure сделан только под IAR. Перетаскивать его в Cude IDE будет довольно больно. Потому автор и помалкивает. Парочка примитивных примеров Azure RTOS использующих HAL от ST будет слабой пормощью. Нагенеренное в CubeMX все равно туда автоматически не вставить. А вот Synergy вставляет любую периферию в любой комбинации прямо в ThreadX со своим HAL-ом. Визуальный конфигуратор Synergy гораздо мощнее в этом плане чем CubeMX. Кстати, GUIX не имеет набора драйверов для разных типов дисплеев и дисплейных интерфейсов. А вот µC/OS имеет очень большой выбор таковых. Думаю следующая статья автора с хабра про GUIX будет просто обсасывать готовый пример из Azure_RTOS_6.0_STM32L4+-DISCO_STM32CubeIDE_Samples_2020_08_10.zip и не даст никаких ответов по поводу интеграции с разными дисплеями и разработке драйверов под них. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Chudik 0 29 августа, 2020 Опубликовано 29 августа, 2020 · Жалоба On 8/17/2020 at 1:05 AM, AlexandrY said: типа CubeMX есть как минимум у Renesas, NXP, Infineon. Это из тех что я рассматривал. CubeMX не есть некий феномен. Не феномен, но я работал с конфигураторами для TI (MSP439 и какой-то из последних ARM для работы под Линуксом), там только назначение пинов и небольшая помощь, что какие можно использовать вместо занятых. CubeMX помогает настроить дерево клоков, исправляет ошибки, сигнализирует если параметры, выставляемые для одной периферии конфликтуют с другой периферией. Может другие конфигураторы тоже это умеют, не знаю. У меня не было времени исследовать кучу других процессоров. Перешёл с MSP430 на STM32. Понравилось то, что errata чуть ли не на порядок меньше, чем у MSP, у которых errata растёт с каждым новым поколением и пока не вижу смысла перескакивать на другие процессоры. На новой работе вот только используют DSPic... , но не мне его программировать. Так что пофиг. On 8/17/2020 at 1:05 AM, AlexandrY said: Сейчас посмотрел что нового в CubeMX. И да, они вообще не знают про Azure RTOS. Т.е. их middleware никак не интегрируется в Azure. А Azure RTOS ничего не знает от таком чуде как Cude IDE. И бог с ним. Чем меня устроила статья на хабре - показала, как встроить и как запустить. On 8/17/2020 at 1:05 AM, AlexandrY said: GUIX не имеет набора драйверов для разных типов дисплеев и дисплейных интерфейсов. И слава богу. :-) Можно написать свой на базе того, что даёт производитель с учётом конфигурации своего проекта, а не стандартного, рассчитанного на готовые платы. У меня вот два дисплея и EEPROM сидят на одной шине SPI. Какая Synergy это поддержит? On 8/17/2020 at 1:05 AM, AlexandrY said: Думаю следующая статья автора с хабра про GUIX будет просто обсасывать готовый пример из Отлично. У меня как раз L4 Правда, без +. Но там отличий немного. Собственно, только .ld поменять. Но только я не увидел там примера GUIX. Только NETX для IoT И, кстати, своего HAL у ThreadX нет, что является огромным плюсом этой системы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Chudik 0 29 августа, 2020 Опубликовано 29 августа, 2020 · Жалоба А вот в Azure_RTOS_6.0.2_STM32F746G-DISCO_STM32CubeIDE_Samples_2020_08_18.zip GUIX действительно есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AleksBak 0 30 августа, 2020 Опубликовано 30 августа, 2020 · Жалоба 7 часов назад, Chudik сказал: А вот в Azure_RTOS_6.0.2_STM32F746G-DISCO_STM32CubeIDE_Samples_2020_08_18.zip GUIX действительно есть. А у Вас эта дискавери имеется (746-ая)? Или какой у Вас дисплей/на какой плате? Может отделить бы уже часть постов от этой темы т.к. они пошли больше по самой ОС и ее компонентам? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 2 30 августа, 2020 Опубликовано 30 августа, 2020 · Жалоба On 8/29/2020 at 9:58 PM, Chudik said: И слава богу. :-) Можно написать свой на базе того, что даёт производитель с учётом конфигурации своего проекта, а не стандартного, рассчитанного на готовые платы. У меня вот два дисплея и EEPROM сидят на одной шине SPI. Какая Synergy это поддержит? И, кстати, своего HAL у ThreadX нет, что является огромным плюсом этой системы. В Synergy драйвера довольно продуманные. Они, во-первых, тесно интегрируют между собой связанную периферию. Скажем DMA, контроллер прерываний и SPI или I2S или I2C. Связи между ними настраиваются в графической среде. Там можно выбирать номера каналов, планировать размеры буферов, приоритеты, подменять одну периферию другой и т.д. В драйверах Synergy есть понятие драйвера шины. Это, например, когда на SPI сидит пара дисплеев, FLASH память, инерциальный модуль, контроллер BLDC и RF модуль. И ко всему этому идут обращения из разных задач. Вы, как понял, писали такое вручную. В Synergy это уже есть готовое. Каждой периферии открывается логический канал на шине как будто другой периферии там нет, совершенно прозрачно и без головной боли об объектах синхронизации, критических секциях и проч. Потом в Synergy есть уже встроеные в RTOS бинарные драйвера периферии к которой вам никогда не дадут документации и где вы сами драйвер не напишите. Это и аппаратный криптографический модуль и модуль видеообработки и т.д. И да, в Synergy для ThreadX есть не просто примитивный HAL, а стеки программного обеспечения, которые можно наращивать и расшаривать между собой. Это концепция до которой в CubeMX еще не доросли. Одна беда. Пару месяцев назад IAR отказался бесплатно давать для Synergy свой компилятор и теперь хотя за него 900$, А в доступных народу выпусках IAR Embedded Workbench нет поддержки серии микроконтроллеров Synergy. Видать IAR учуял спрос и большие деньги и решил немного состричь. Так что как-то уже опасаюсь предлагать Synergy. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Chudik 0 30 августа, 2020 Опубликовано 30 августа, 2020 · Жалоба 14 hours ago, AleksBak said: А у Вас эта дискавери имеется (746-ая)? Нет, но это непринципиально. У меня нет и той Дискавери, на которой автор с хабра показывал пример установки. Для себя использовал ту, что у меня есть на L476 с соответствующими изменениями. Сейчас меняю этот учебный проект, слегка усложнив задачу. Просто для того, чтобы получше освоиться. 14 hours ago, AleksBak said: Или какой у Вас дисплей/на какой плате? Кастомная плата, на которой стоят два 5" OLED дисплея 256х64 на одной шине SPI. Ни на одной продающейся eval board такого нет и вряд ли будет. Так что точно придётся делать полностью своё. Главное - понять суть работы с GUIX. Самое близкое из примеров, наверное, будет спидометр, возможно, какие-то моменты можно будет взять и из medical. 14 hours ago, AleksBak said: Может отделить бы уже часть постов от этой темы Это, наверное, вопрос к модераторам. Наверняка есть такая возможность. ----------------------------------------------- 39 minutes ago, AlexandrY said: тесно интегрируют между собой связанную периферию. Скажем DMA, контроллер прерываний и SPI или I2S или I2C. Это я и так умею. 41 minutes ago, AlexandrY said: Связи между ними настраиваются в графической среде. Там можно выбирать номера каналов, планировать размеры буферов, приоритеты, подменять одну периферию другой и т.д. Лишний уровень абстракции. Не уверен, что это необходимо. 43 minutes ago, AlexandrY said: Пару месяцев назад IAR отказался бесплатно давать для Synergy свой компилятор И на этом можно закончить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 2 31 августа, 2020 Опубликовано 31 августа, 2020 · Жалоба 10 hours ago, Chudik said: Это я и так умею. Лишний уровень абстракции. Не уверен, что это необходимо. И на этом можно закончить. Вопрос не в умении. И речь не об уровене абстракции, а об уровене архитектуры. От архитектуры не убежишь. Так или иначе все хотят архитектуры, где все разбито по слоям и по модулям. Закончить можно, но вопрос не решается. Azure RTOS как она представлена Microsoft-ом все же голая. Она юзабельна только если иметь адаптированный аппаратный уровень. И Synergy на сегодня единственная открытая платформа такой уровень предлагающая. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться