Наврятли CMake лекго заработает, к примеру, с 8051 контроллерами, например тот же Keil, IAR И прочие. Придется писать свой синтаксис для таких тулчейнов. И CMake не предоставит нормальную подсветку заголовков и прочих вещей для таких компиляторов.
Хотя в Qbs это все есть из "коробки".
Кроме того, CMake ничего сам не собирает, ему нужны или Ninja Или Make, но Qbs не требует ничего лишнего и собирает сам. Кроме того, декларативный синтаксис самого Qbs гораздо лучше ложится на любые требования.
Да, Qbs замечательная и интересная штукенция, но из за политики Qt в связи с сами знаете какими событиями, много русскоязычных разработчиков приостановили свою работу.
Например, и меня постигла та же идея, и к сожалению, сейчас в Qbs наблюдается застой, коммиты перестали поступать. По факту там остался один Кристиан из Qt Company.
Вот, так не дальновидная политика компании убивает хорошие проекты. У меня сейчас желания нет что то добавлять в Qbs, увы.
А те, кому не нравится QtCreator, могут попробовать VSCode, для которой я написал расширение и пока планирую его поддерживать. ))
Все бы вроде хорошо, но использование мейкфайлов это конечно, дичь.
Для программирования МК хорошо подходит сборочная система Qbs. Хотя, на крайний случай, можно извратиться и с CMake.
Еще в QtC есть поддержка кейловского отладчика, т.е можно использовать KEIL и для сборки и для отладки в самом QtC.
Я хотел в QtC добавить и поддержку отладчика CSpy из IAREW, но это желание как то пропало после их реакции на известные события.
Кроме того, GDB отладка в QtC, требует наличия питона v2.x, а также условия чтобы сам GDB, был собран с поддержкой питона, что не во всех ARM тулчейнах сделано. Это минус у QtC, я считаю, что нельзя без питона.
Там был еще казус, в том, что они хотели дропнуть питон 2x и заменить на 3x. Я им говорил, что тогда половина bare-metal тулчейнов сразу отвалится. Те не поверили, дропнули, но у них провалился их плагин McuSupport и они откатили взад это как было. Смех и грех в общем.
А сейчас тоже, вот, присматриаюсь к VSCode, т.к. там завезли плагин отладки для IAR, для отладчика CSpy. Т.е. можно взять любимую систему сборки Qbs, или CMake и все делать из VSCode.
GDB, плагин для VSCode, был уже сто лет как. Возможно для полного комплекта подумаю, а не добавить ли туда плагин и для отладки KEIL овским отладчиком. ))
В общем, для меня VSCode, выглядит более заманчиво.
Ооооо.. Я когда то давным давно пацаном, прочитав книжку 300 советов (или как то так), металлизировал майского жука. Брал графит из карандаша, прокаливал его, толок до порошка, обмазывал им жука (дохлого) и опускал на проволочке в медный купорос.. Даа, было время... :)
Недавно зарелизили версию 1.20 (с тех пор как задепрекейтили) и я уже и не помню, какой это релиз по счету).
PS: На данный момент имеем желание полностью уйти от инфраструктуры Qt Company на GitHub. Также, пилится отдельный сайт (как я понял). Так что все хорошо.
UPD: Кстати, для тех кому интересны изохронные конечные точки с «почти на регистрах» (имеется ввиду использование библиотеки libopencm3), то я там добавил дополнительные исправления (пока что в свой форк). Проверена работа только для IN точек (для создания всяких микрофончиков), т.к. для OUT точек (для всяких спикеров и матюгальников) проблемно это протестировать (т.к. надо подавать на ЦАП, плюс — усилитель подключать, время тратить).
Какие-то отдельные драйвера нужны только если используются Vendor-specific USB устройства.
Можно обойтись и без дров для Vendor-specific устройств, если использовать libusb. Можно даже и без libusb, т.к. винда предоставляет «стандартный» драйвер для таких устройств, нужно только правильно оформить INF файл (возможно и VID/PID) подкрутить, и тогда откроются широчайшие возможности (весь WinAPI для доступа из юзер-спейса к таким устройствам). Только одно ограничение (как помню), что чтение/запись в изохронные конечные точки реализован то ли с Windows 8 то ли с Windows 10 (надо MSDN читать для конкретики).
И вроде как сам libusb и использует эту виндовую фичу тоже (если не ошибаюсь), или может использовать (как я понял там два варианта, или ставить спец драйвер от libusb, или использовать стандартный от винды? просветите плз).
А вот audio и прочие устройства являются Class-specific устройствами, для которых также есть стандартные драйвера во всех нормальных ОС. Т.е. ничего писать дополнительно не надо, не надо никаких libusb, также не надо и мутить с VID/PID. Я, например, всегда использую связку 0xFFFF/0xFFFF и работает на любой ОС.
Только в винде (вроде до WIndows 8) было ограничение в том, она не подедрживала спецификацию для USB AUDIO CLASS v2 устройств (может уже это пофиксили сейчас).
Вот, если бы можно было «поднять» орбиту венеры к марсу и мягко приземлить марс на венеру…
Получится одна планета «венеромарс», по размерам почти как земля (правда, воды вроде мало будет, но можно потом и приземлить еще что-нить ледяное). На первых порах — там будет ад… но за тыщщу лет все устаканится и под-остынет… Как раз будет плацдарм на случай когда солнышко подраспухнет.
1. Нормальной подсветки файлов ассемблера (а их много разных бывает).
2. Нормальной подсветки файлов линкера (а их много разных бывает).
3. Нормальной подсветки компилеро/архитектуро специфичных ключевых слов компилятора и пр.
VitGo, Вот, было бы здорово если бы объединить усилия ;)
А то каждый лепит свой костыль (это и меня касается), а в итоге как в известной басни Крылова (про лебедя, щуку, рака). ))
В каком смысле ничего хорошего не сказали? Кто и почему?
Я бы, к примеру хотел бы видеть хороший плагин для подсветки синтаксисов ассемблеров (а их вагон и маленькая тележка, не только для АРМ-ов) как в VSCode, так и в QtCreator. И чтобы оно как-то автоматом подсвечивало синтаксис в зависимости от типа выбранного компилятора/архитектуры (ну, или хотя — бы был выбор как подсветить).
А то вроде плагинов много — но выбрать нечего, т.к. они или узко-спецализированные для какой-то одной архитектуры/тулчейна, или что-нибудь еще не то. :)
Тем более, что эти IDE-шки универсальные, т.к. поддерживают такие системы сборки как CMake или Qbs (Qbs — лучший выбор, т.к. поддерживает чисто железячные компиляторы, а не только GCC прямо «из коробки»). И можно создав однажды проект в этих системах сборки, открывать его в любых IDE и компилировать.
Это я к тому, что незачем (ИМХО) распалять ресурсы на пиление чего-то своего, а лучшее решение — проанализировать что уже есть и попытаться улучшить.
Ну, прошло уже два года, но Qbs еще живее всех живых. Развивается по-тихонечку (даже и без Qt company, они особо ничего и не развивали при жизни тут). ;)
Есть очень хорошая поддержка его в QtCreator, а недавно вообще запилили плагин и для VSCode. В дальнейших планах вроде как есть идеи запилить и для KDevelop, но это еще на воде писано.
> На уровне кода Qt 6, полагаю, сможет работать и на Win2k
Наврятли, т.к. там изменения не только связанные с отрисовкой. Начиная с версии 5.7 (если не ошибаюсь), минимальная версия Windows это 5.7. Там изменения, как минимум коснулись с работой с сетью, там используется теперь Win API из Windows 7 (которых нету в XP и ниже). Может и еще где что-то «обновили», не знаю… Я бы не надеялся на все что ниже 7-ки ))
Все нормальные люди собирают при помощи Qbs
Наврятли CMake лекго заработает, к примеру, с 8051 контроллерами, например тот же Keil, IAR И прочие. Придется писать свой синтаксис для таких тулчейнов. И CMake не предоставит нормальную подсветку заголовков и прочих вещей для таких компиляторов.
Хотя в Qbs это все есть из "коробки".
Кроме того, CMake ничего сам не собирает, ему нужны или Ninja Или Make, но Qbs не требует ничего лишнего и собирает сам. Кроме того, декларативный синтаксис самого Qbs гораздо лучше ложится на любые требования.
Да, Qbs замечательная и интересная штукенция, но из за политики Qt в связи с сами знаете какими событиями, много русскоязычных разработчиков приостановили свою работу.
Например, и меня постигла та же идея, и к сожалению, сейчас в Qbs наблюдается застой, коммиты перестали поступать. По факту там остался один Кристиан из Qt Company.
Вот, так не дальновидная политика компании убивает хорошие проекты. У меня сейчас желания нет что то добавлять в Qbs, увы.
А те, кому не нравится QtCreator, могут попробовать VSCode, для которой я написал расширение и пока планирую его поддерживать. ))
В общем, вот такие вот дела, ребятушки.
Не, не нужно ничего в PATH добавлять, т.к. в QtC реализовано обнаружение IAR/KEIL по ключам в реестре.
Все бы вроде хорошо, но использование мейкфайлов это конечно, дичь.
Для программирования МК хорошо подходит сборочная система Qbs. Хотя, на крайний случай, можно извратиться и с CMake.
Еще в QtC есть поддержка кейловского отладчика, т.е можно использовать KEIL и для сборки и для отладки в самом QtC.
Я хотел в QtC добавить и поддержку отладчика CSpy из IAREW, но это желание как то пропало после их реакции на известные события.
Кроме того, GDB отладка в QtC, требует наличия питона v2.x, а также условия чтобы сам GDB, был собран с поддержкой питона, что не во всех ARM тулчейнах сделано. Это минус у QtC, я считаю, что нельзя без питона.
Там был еще казус, в том, что они хотели дропнуть питон 2x и заменить на 3x. Я им говорил, что тогда половина bare-metal тулчейнов сразу отвалится. Те не поверили, дропнули, но у них провалился их плагин McuSupport и они откатили взад это как было. Смех и грех в общем.
А сейчас тоже, вот, присматриаюсь к VSCode, т.к. там завезли плагин отладки для IAR, для отладчика CSpy. Т.е. можно взять любимую систему сборки Qbs, или CMake и все делать из VSCode.
GDB, плагин для VSCode, был уже сто лет как. Возможно для полного комплекта подумаю, а не добавить ли туда плагин и для отладки KEIL овским отладчиком. ))
В общем, для меня VSCode, выглядит более заманчиво.
Ооооо.. Я когда то давным давно пацаном, прочитав книжку 300 советов (или как то так), металлизировал майского жука. Брал графит из карандаша, прокаливал его, толок до порошка, обмазывал им жука (дохлого) и опускал на проволочке в медный купорос.. Даа, было время... :)
Да, активно развивается, но не Qt Company, а сообществом. Вот пруф на последние коммиты: https://github.com/qbs/qbs/commits/master
Недавно зарелизили версию 1.20 (с тех пор как задепрекейтили) и я уже и не помню, какой это релиз по счету).
PS: На данный момент имеем желание полностью уйти от инфраструктуры Qt Company на GitHub. Также, пилится отдельный сайт (как я понял). Так что все хорошо.
Какие-то отдельные драйвера нужны только если используются Vendor-specific USB устройства.
Можно обойтись и без дров для Vendor-specific устройств, если использовать libusb. Можно даже и без libusb, т.к. винда предоставляет «стандартный» драйвер для таких устройств, нужно только правильно оформить INF файл (возможно и VID/PID) подкрутить, и тогда откроются широчайшие возможности (весь WinAPI для доступа из юзер-спейса к таким устройствам). Только одно ограничение (как помню), что чтение/запись в изохронные конечные точки реализован то ли с Windows 8 то ли с Windows 10 (надо MSDN читать для конкретики).
И вроде как сам libusb и использует эту виндовую фичу тоже (если не ошибаюсь), или может использовать (как я понял там два варианта, или ставить спец драйвер от libusb, или использовать стандартный от винды? просветите плз).
А вот audio и прочие устройства являются Class-specific устройствами, для которых также есть стандартные драйвера во всех нормальных ОС. Т.е. ничего писать дополнительно не надо, не надо никаких libusb, также не надо и мутить с VID/PID. Я, например, всегда использую связку 0xFFFF/0xFFFF и работает на любой ОС.
Только в винде (вроде до WIndows 8) было ограничение в том, она не подедрживала спецификацию для USB AUDIO CLASS v2 устройств (может уже это пофиксили сейчас).
Получится одна планета «венеромарс», по размерам почти как земля (правда, воды вроде мало будет, но можно потом и приземлить еще что-нить ледяное). На первых порах — там будет ад… но за тыщщу лет все устаканится и под-остынет… Как раз будет плацдарм на случай когда солнышко подраспухнет.
Эхх, мечты… :)
Лучше придумайте как доставлять водяные астеройды к орбите венеры, и как построить там орбитальную ширмочку от солнца. Сделаем венеру снова курортом!
А как планируется сохранять водород в баках в течении 30-ти лет? Это же не мешки с цементом, не долбанет ли? ;)
* marketplace.visualstudio.com/items?itemName=qbs-community.qbs-tools
* habr.com/ru/post/526256
Чего пока не хватает — так это:
1. Нормальной подсветки файлов ассемблера (а их много разных бывает).
2. Нормальной подсветки файлов линкера (а их много разных бывает).
3. Нормальной подсветки компилеро/архитектуро специфичных ключевых слов компилятора и пр.
VitGo, Вот, было бы здорово если бы объединить усилия ;)
А то каждый лепит свой костыль (это и меня касается), а в итоге как в известной басни Крылова (про лебедя, щуку, рака). ))
Я бы, к примеру хотел бы видеть хороший плагин для подсветки синтаксисов ассемблеров (а их вагон и маленькая тележка, не только для АРМ-ов) как в VSCode, так и в QtCreator. И чтобы оно как-то автоматом подсвечивало синтаксис в зависимости от типа выбранного компилятора/архитектуры (ну, или хотя — бы был выбор как подсветить).
А то вроде плагинов много — но выбрать нечего, т.к. они или узко-спецализированные для какой-то одной архитектуры/тулчейна, или что-нибудь еще не то. :)
Тем более, что эти IDE-шки универсальные, т.к. поддерживают такие системы сборки как CMake или Qbs (Qbs — лучший выбор, т.к. поддерживает чисто железячные компиляторы, а не только GCC прямо «из коробки»). И можно создав однажды проект в этих системах сборки, открывать его в любых IDE и компилировать.
Это я к тому, что незачем (ИМХО) распалять ресурсы на пиление чего-то своего, а лучшее решение — проанализировать что уже есть и попытаться улучшить.
Ну, прошло уже два года, но Qbs еще живее всех живых. Развивается по-тихонечку (даже и без Qt company, они особо ничего и не развивали при жизни тут). ;)
Есть очень хорошая поддержка его в QtCreator, а недавно вообще запилили плагин и для VSCode. В дальнейших планах вроде как есть идеи запилить и для KDevelop, но это еще на воде писано.
Наврятли, т.к. там изменения не только связанные с отрисовкой. Начиная с версии 5.7 (если не ошибаюсь), минимальная версия Windows это 5.7. Там изменения, как минимум коснулись с работой с сетью, там используется теперь Win API из Windows 7 (которых нету в XP и ниже). Может и еще где что-то «обновили», не знаю… Я бы не надеялся на все что ниже 7-ки ))