LINUX.ORG.RU

Qt на микроконтроллерах

 , ,


2

4

Компания Qt опубликовала на своём сайте результаты исследования и ответы на часто задаваемые вопросы при разработке программ на встраиваемых системах.

Мотивацией проведения этого эксперимента было то, что на данный момент нет одновременно свободного, универсального и переносимого инструмента для разработки программ для встраиваемых систем, а несвободные аналоги представляют собой «чёрный ящик» с последующей завязкой на поставщика.

К несчастью, до этого момента официально поддерживаемым оборудованием были процессоры класса «ARM Cortex-A» под управлением ядра Linux и несвободных операционных систем реального времени, а системные требования были крайне высоки: 256 мегабайт оперативной памяти, 512 мегагерц тактовой частоты процессора и видеочип с поддержкой технологии OpenGL ES 2.0.

Сейчас же, вследствие проведённых оптимизаций, тестовые программы на Qt Widgets, QML и Qt Quick Controls 2 могут работать на чипе класса «ARM Cortex-M» под управлением свободной операционной системы реального времени RTEMS, а размер итоговой прошивки разнится от 6-13 мегабайт, с потреблением 3-10 мегабайт оперативной памяти.

>>> Подробности

★★

Проверено: Shaman007 ()

О, хорошо. Где-то может пригодиться, где энергопотребление важно. Сейчас та же Orange Pi Zero по цене песка, но пирожки на ней испечь можно какая горячая.

I-Love-Microsoft ★★★★★ ()

размер итоговой прошивки разнится от 6-13 мегабайт, с потреблением 3-10 мегабайт оперативной памяти.

жесть. характеристики нормального роутера который может нормально работать. зачем-то туда вкорячили кутэ. хотя я догадываюсь зачем, некоторые альтернативно-одарённые личности под андроид на кутэ пишут, бывает и такое. тут видимо тоже имеется ввиду мобайл, а не эмбеддед, и слово «микроконтроллеры» в заголовке лишнее. но эмбеддед конечно уже всё равно не торт.

anonymous ()
Ответ на: комментарий от anonymous

тут видимо тоже имеется ввиду мобайл, а не эмбеддед, и слово «микроконтроллеры» в заголовке лишнее.

ЕМНИП, это для всяких свежих навороченных комбинаций приборов в авто.

devl547 ★★★★★ ()
Ответ на: комментарий от anonymous

Микроконтроллер - это как-то громко. Но Qt на embeded давно обосновался. Он всегда был тяжеловесом.

Тут имеется ввиду что QtQuick и новшества работают норм. Qt офигенен тем что там можно педалить со скоростью света и с минимальным кодом.

Qml - убийца HTML5.

baist ()

Не читая оригинальной новости предположу, что речь идет о Cortex-M7, которые от A5 в основном отличаются отсутствием MMU, которое Qt вообще не волнует. Так что событие не особо огромное, ну портировали на новое ядро.

alexru ★★★★ ()
Ответ на: комментарий от devl547

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

anonymous ()
Ответ на: комментарий от DATRAT

Очень даже хорошо

Как же я отстал от жизни! Насколько этот КуТэ осваивается? Как с входным порогом? А то ассемблеры с Сями на многих задачах как-то начали подзадалбывать.

Oberstserj ()
Ответ на: комментарий от Oberstserj

Я лично юзал с Python'ом вместе Некоторые моменты не понравились но довольно удобно

Интерфейс делал в дизигнере КуТэшном а прикручивал потом к Python через либу

DATRAT ★★ ()
Ответ на: комментарий от I-Love-Microsoft

Сейчас та же Orange Pi Zero по цене песка, но пирожки на ней испечь можно какая горячая.

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

anonymous ()

Сейчас же, вследствие проведённых оптимизаций, тестовые программы на Qt Widgets, QML и Qt Quick Controls 2 могут работать на чипе класса «ARM Cortex-M» под управлением свободной операционной системы реального времени RTEMS, а размер итоговой прошивки разнится от 6-13 мегабайт, с потреблением 3-10 мегабайт оперативной памяти.

Я даже не знаю, что хуже: Qt на микроконтроллерах или Electron на десктопах.

Quasar ★★★★★ ()
Ответ на: комментарий от baist

Qt офигенен тем что там можно педалить со скоростью света и с минимальным кодом.

Вот только этот Qt заставляет микроконтроллер педалиться со скоростью улитки.

Qml - убийца HTML5.

Если учесть, что в Qt есть веб-движок, то нафиг такого «убийцу».

Quasar ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

этот ваш orange pi слишком велик, он как модульное решение конечно годится, но далеко не везде. А так да, для встраиваемых решений Cortex Mx - самое то. У ST вот интересная серия вышла stm32h7xx, со встроенным графическим контроллером и достаточно производительная. Туда Qt - самое то.

aiqu6Ait ★★ ()
Последнее исправление: aiqu6Ait (всего исправлений: 1)
Ответ на: комментарий от Oberstserj

А то ассемблеры с Сями на многих задачах как-то начали подзадалбывать.

... Сказал системный программист и перешел на питон
Есть ведь и обратная крайность - когда питонист с тоской глядит на свой код и испытывает муки творчества

kto_tama ★★★★★ ()
Ответ на: комментарий от BceM_IIpuBeT

В наше время может произойти любое непотребство.
Открываешь толксы, а там Vit с rust'ом.
Безопасность и все такое... но в коде сплошные:

unsafe { write_volatile(ACSR, ((1<<ACIE)|(1<<ACI))) }


и даже:

unsafe { asm!("" :::: "volatile")}

вместо nop

Хипстота, чтоб ее.

anonymous ()
Ответ на: комментарий от devl547

ЕМНИП, это для всяких свежих навороченных комбинаций приборов в авто.

RTEMS == Real-Time Executive for Military (old - Missile) Systems так что автомобилями там и не пахнет.

anonymous ()
Ответ на: комментарий от anonymous

ага, нормальный гуй который отожрёт main loop и придётся писать приложение вокруг гуя, а не гуй вокруг приложения.

Я работал на осцилогрофе, на котором стоит WindowsXP(чуть ли не полноценная), в котором запускается единственное приложение. И это все включается не сразу, ты ждешь пока оно прогрузиться. Обычный такой средненький осцилогроф

baist ()
Ответ на: комментарий от Oberstserj

А то ассемблеры с Сями на многих задачах

С никогда не был предназначен для GUI.

Как же я отстал от жизни!

Современный Qt - это уже давно не набор виджетов. Там уже матрицы и векторы. Парсеры XML и JSON. WebKit. Qml с разметкой HTML и JavaScript. Работа с TCP и прчим. OpenGL. Базы данных. Видео плееры. Работа с Web-камерой(недавно по работе). MVC. Картинки вплоть до SVG. Интернационализация. Обработка звука. 3D графика. Я не все назвал.

Как ты понимаешь порог вхождения не самый низкий.

Qt стал де-факто основным фреймверком для C/C++(как .NET).

baist ()
Ответ на: комментарий от anonymous

Но пригоден для апликух на Electron.

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

Вместо того чтобы взять класичейский Qt и написать все на плюсах сразу, а дизайн GUI в редакторе, сохранив в XML файл.

baist ()