Обновить
2
0

Пользователь

Отправить сообщение
Начнем с простого, Вы пишите что хотите чтобы код M0,..4,7
приложения (без перекомпиляции) для любого МК (конечно одной архитектуры типа М3, М4, М7)
имелась ввиду именно одной архитектуры, с разными без перекомпиляции и так понятно что не возможно.
Если одна архитектура то могут быть разные реализации плавающей точки
Приложение должно проверить наличия сопроцессоров и спец. инструкций, как в х86 архитектуре.
Получается возможность запуска произвольного приложения — просто дыра в безопасности.
Ну это из серии не баг, а фитчя. Дайте возможность выбора, а там пользователь уже решит как ему будет лучше(безопаснее).
модифицируем компилятор
то есть текущие компиляторы не позволяют решить эту задачу?
Когда есть такие МК, то они как бы просят её сами.
Мне они заявили что архитектура МК не позволяет им это сделать, наверное просто парится не стали. А по поводу доработки FreeRTOS, то там всё плохо, надо позиционно независимые инструкции и глобальную память для каждого приложения, но приложения таки смогут навредить друг другу даже если использовать MPU т.к. глобальная память самой ОС для них общая. Всё равно проще написать ОС заново с учётом всех моментов.
Я так понимаю в EMBOX это недавно добавили, потому что буквально месяц назад я терзал их по этому вопросу и они сказали что теоретически это возможно, но ни о каких вызовах сторонних приложений даже и не шло речи.
Да запросы у меня «небольшие»: приложения (без перекомпиляции) для любого МК (конечно одной архитектуры типа М3, М4, М7), и работали чтобы независимо и защищены от взаимного доступа к памяти, и вызывались как EXE файлы, и чтоб библиотеки для них были именно динамические, и т.д. и т.п. Ну в общем полноценная во всех смыслах ОС.
Та я уже понял что это сложно и времени много надо, но придется делать как в пословице: «Если хочешь чтобы было хорошо, то ...», ну в общем вы поняли.
Ну тогда очень жаль, что идеальной ОС для МК нам не видать.
Так глядишь и полноценная ОС для Cortex M не за горами, с нормальными приложениями, динамическими библиотеками и защищённой памятью.
Так может для М0 ОС (тем более своя) — это избыточно, а для М3, М4, М7 и FreeRTOS'а уже хватит?
Значит в M0 эксклюзивного доступа к памяти нет. Почему бы вам не использовать М3, М4 или М7. В М0 есть что то особенное?
При синхронизации отключаются ли на время все прерывания?
он был бы круче, если бы в нем что-то можно было написать текстом и потом это бы перешло в блоки
Вообще то он так и работает.
Внутри ОС такой же цикл.
Для каждой задачи он свой, и время для них распределяется по приоритетам.
С этим нет проблем
Возможно, но я лично привык использовать ОС даже в маленьких проектах, хуже от этого не становится, а поддержка и масштабирование гораздо проще.
Чтобы подрыгать сервоприводами? Для светодиодов тоже ОС ставить?
Мне показалось что там задач на контроллере было побольше, да и новые возможности добавляться скорее всего тоже будут.

Как мне кажется использование ОС во всех проектах дисциплинирует разработчика делать упор в сторону гибкости масштабирования и удобства поддержки программы. Но тут нужно самому попробовать и решить для себя как будет удобно работать дальше. Конечно же это решение будет зависеть и от того какая ОС для МК будет использоваться.
А вы не думали использовать ОС в прошивке контроллера управления? При беглом осмотре исходников меня смутил гигантский while(true). Поддерживать такие проекты наверное не очень удобно.
Там вроде ещё и дельфин-тамагочи есть. С ним же можно как то взаимодействовать, это ведь такая фишка устройства. А может ли в будущем вы напишете программу-эмулятор для смартфона, чтобы поиграть с дельфином без самого устройства? Или даже web-сайт эмулятор флипера?
А вы пробовали использовать колесо например с 5 лучами, вместо 3. Может и не понадобилось бы так усложнять редуктор?
Можете рассказать что-нибудь про электронику, аккумуляторы и ПО?
Что на это ответила официальная поддержка?
И как вам качество прототипов? Всё ли было в порядке?

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность