Evgenii Legotckoi
Evgenii Legotckoi1 апреля 2016 г. 23:34

Три шага к успешной встраиваемой системе с Qt

Разработка встраиваемых продуктов требует трех главных шагов: выбор аппаратной платформы, выбор операционной системы, и разработка пользовательского интерфейса (UI). Все три этих шага тесно связаны друг с другом и оказывают существенное влияние на время выхода на рынок, расходы по проекту и конечное качество продукта. Очень важно выбирать подходящую аппаратную платформу, которая также поддерживает отличную операционную систему и лучшие инструменты для разработки пользовательского интерфейса.

1. Выбор вашей аппаратной платформы

Выбор правильной аппаратной платформы является первым шагом в процессе разработки встраиваемого решения и может оказать существенное влияние на конечную стоимость продукта в пересчёте на стоимость одной единицы, а также на время разработки. Вот некоторые из важных вопросов, на которые требуется ответить:

  • Имеется ли стабильная линия поставок/гарантий/долговременной поддержки/доступности? Если выбранная аппаратная платформа не доступна более шести месяцев, всё время разработки будет потрачено впустую и приведёт к значительным задержкам в проекте и увеличению стоимости.
  • Является ли эта платформа качественным продуктом? Многие разработки не сделаны с точки зрения лучших практик, что может вызвать сильную головную боль при будущих сбоях. В итоге замена одного бренда на другой приведёт к увеличению стоимости.
  • Является ли продукт гибким в плане обновления, что предоставит уменьшение времени и стоимости разработки для будущих ревизий?

Различные варианты встраиваемых систем доступны в качестве одноплатных компьютеров (ingle Board Computers - SBC), модульных систем (SOM) и нестандартных разработок.

Одноплатные компьютеры являются полноценными разработками, требующими лишь экран и питание. SBC может быть уже сертифицированным устройством, что означает, что многим пользователям не нужно будет беспокоиться о проблемах сертификации. Стоимость некоторых одноплатных компьютеров также может быть снижена, за счёт исключения ненужных компонентов.

Nitrogen6_MAX: High-end Embedded single board computer based on the NXP/Freescale i.MX6 Quad Processor. Kit includes 5V Power Supply, 4GB microSD card with Linux OS, and Serial Console Cable.

Модульные же системы предоставляют большую гибкость для тех, кто имеет конкретные требования к остальным схемам, которые они хотели бы включить на несущую плату. SOM в стандартной поставке содержит CPU, оперативную и флеш память, а также питание. Остальная часть разрабатывается для установки на несущую плату.

И последний вариант - это найм специалиста, который разработает нестандартный вариант устройства по конкретным спецификациям проекта. В производстве такой вариант будет иметь наименьшую стоимость, поскольку разрабатывался в соответствии с минимальным необходимыми требованиями проекта.

2. Выбор доверенной операционной системы

Имея стабильную, качественную операционную систему можно сократить время разработки, что позволит быстрее выйти на рынок. Плохая операционная системы может тратить ресурсы программного обеспечения из-за времени, потраченного на исправление ошибок, вместо доработки функционала, а также создаст потенциальные проблемы в будущем. Выбор должен падать на лидирующие операционные системы, такие как Android 5.0, Yocto, Ubuntu, QNX, CE7/CE2013, или Buildroot, которые снижают риск подобных проблем.

3. Создание пользовательского интерфейса

Третья и финальная часть паззла - это пользовательский интерфейс. Одним из наиболее комплексных и затратных по времени элементов встраиваемых систем является разработка пользоватльеского интерфейса. При использовании известного и проверенного инструмента для разработки пользовательского интерфейса разработка встраиваемых систем завершается быстрее, что ускоряет выход на рынок и снижение конечной стоимости продукта.

Аппаратные платформы, такие как Boundary Devices, поддерживают Qt for Device Creation, для которых можно скачать IDE  и сразу приступить к разработке.

Подведём итоги

Когда вы приступаете к новому проекту встраиваемых систем, позаботьтесь о выборе правильной аппаратной платформы и операционной системы, а также убедитесь, что ваши партнёры имеют соответствующий опыт и способности для этого проекта. Относительно Qt, Вы можете получить фору при выборе аппаратных платформ, поддерживаемых Qt. Например, технологический партнёр Qt, Boundary Devices, может предложить требуемое аппаратное обеспечение.

Источник Qt Blog

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
1
  • 12333
  • 18 июля 2024 г. 15:34

Qt - Тест 001. Сигналы и слоты

  • Результат:63баллов,
  • Очки рейтинга-1
1
  • 12333
  • 18 июля 2024 г. 15:25

C++ - Тест 005. Структуры и Классы

  • Результат:50баллов,
  • Очки рейтинга-4
AM

C++ - Тест 005. Структуры и Классы

  • Результат:33баллов,
  • Очки рейтинга-10
Последние комментарии
d
dblas55 июля 2024 г. 21:02
QML - Урок 016. База данных SQLite и работа с ней в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssr9 февраля 2024 г. 5:43
Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Анатолий Кононенко5 февраля 2024 г. 12:50
Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVA25 декабря 2023 г. 21:30
Boost - статическая линковка в CMake проекте под Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
J
JonnyJo25 декабря 2023 г. 19:38
Boost - статическая линковка в CMake проекте под Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
Сейчас обсуждают на форуме
F
Fynjy22 июля 2024 г. 14:15
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
BlinCT
BlinCT25 июня 2024 г. 11:00
Нарисовать кривую в qml Всем привет. Имеется Лист листов с тосками, точки получаны интерполяцией Лагранжа. Вопрос, как этими точками нарисовать кривую? ChartView отпадает сразу, в qt6.7 появился новый элемент…
Evgenii Legotckoi
Evgenii Legotckoi25 июня 2024 г. 1:11
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
BlinCT
BlinCT5 мая 2024 г. 15:46
Написать свой GraphsView Всем привет. В Qt есть давольно старый обьект дял работы с графиками ChartsView и есть в 6.7 новый но очень сырой и со слабым функционалом GraphsView. По этой причине я хочу написать х…
Evgenii Legotckoi
Evgenii Legotckoi3 мая 2024 г. 0:07
Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.

Следите за нами в социальных сетях