LINUX.ORG.RU

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

 , ,


2

5

Компания 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 ★★★★★ ()

6-13 мегабайт, микроконтроллер, ага. Не зря они себя Trolltech-ом называли раньше.

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

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

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

Qml - убийца HTML5.

baist ()

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

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

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

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

Qml - убийца HTML5.

Что-то я не вижу, чтобы он, перемазанный кровью W3C, стучался в подъезд к Mozilla.

t184256 ★★★★★ ()
Последнее исправление: t184256 (всего исправлений: 1)

Подробности

IP-адрес данного ресурса заблокирован в соответствии с действующим законодательством.

Это я такой визунчик?

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

Это я такой визунчик?

Это в России пытаются забанить Telegram! :)))

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

Что-то я не вижу, чтобы он, перемазанный кровью W3C, стучался в подъезд к Mozilla.

Видишь и ты согласен, что HTML+JS годен только для интернет страничек. Даже здесь это справедливо!

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

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

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

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

anonymous ()

Вот, Qt все улучшается и улучшается, а GTK/GNOME так и будет гнить в муках до самой своей смерти.

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

Почти угадал, кроме того поддерживают M4.

cvv ★★★★★ ()

А если короче, то это хорошо или плохо?

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

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

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

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

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

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

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

Ну из меня «девелопер/пограмизд» не очень

И питон пока у меня не идеал. Так что, возможно, столкнетесь с некоторыми нюансами

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

Ну из меня «девелопер/пограмизд» не очень

Аналогично.

так что, возможно, столкнетесь с некоторыми нюансами

Куда ж без этого.

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

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

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

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

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

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

«пригоден»

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

t184256 ★★★★★ ()
Последнее исправление: t184256 (всего исправлений: 2)

Сейчас же, вследствие проведённых оптимизаций, тестовые программы на 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 ★★★★★ ()
Ответ на: комментарий от BceM_IIpuBeT

А ты хотел Qt на STM32 или ATmega'у?!

Нет уж. Там уже жаба есть.

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

ARM Cortex-M это очень даже микроконтроллеры (например всякие STM-32)

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

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

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

А если короче, то это хорошо или плохо?

Неплохо

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

Это я такой визунчик?

Типа того. У мну всё открывается без прокси и ВПНов.

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

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

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

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

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

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


и даже:

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

вместо nop

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

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

А если короче, то это хорошо или плохо?

Посмотри коммент выше. Это отвратительно!

anonymous ()
Ответ на: комментарий от anonymous
unsafe { write_volatile(ACSR, ((1<<ACIE)|(1<<ACI))) }

Ну это же запись в регистр.

BceM_IIpuBeT ★★ ()
Ответ на: комментарий от 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 ()
Ответ на: комментарий от DATRAT

Python + Gtk как по мне гораздо лучше. https://ru.wikipedia.org/wiki/PyGTK

Ты не поверишь но Gtk писавшиеся для C/C++ тусовки, пользуется больше популярностью у питонщиков всяких. И для Mono оно тоже есть.

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

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

А вдруг у тебя проц команду nop не поддерживает! :)

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

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

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

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

baist ()

Лицензия на этот embedded qt только коммерческая ?

x905 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.