Програмираме микроконтролери в QtCreator

qtcreator

Но повярвайте ми, това е доста бързо. За Windows - MSVC, за ARM - CooCox или Keil (изказвам своите съболезнования на принудените да работят по IAR), за MSP - CCS, за android - eclipse, за ios - Xcode, за пикове - MPLAB. И би било добре, би било възможно да се работи с всичко това, но фиг: навсякъде има проблеми, тънкости и неписани правила. Всичко това се наслагва върху общото инхибиране на толкова популярното затъмнение, умножено по кривите добавки от производителите.

Преди време започнах да събирам всичките си разработки за мобилни и настолни приложения под една платформа. След доста дълго време в интернет, моят избор беше Qt. Има всичко необходимо, ако е необходимо, можете да вземете родния код. Като цяло задачата е затворена.

Тези, които желаят, могат сами да се ровят в интернет, но накратко, това е заместител на всеки make и cmake, използвайки нормален (трябва да има усмивка) език за програмиране. А самият QtCreator се сглобява с негова помощ, което означава, че вече е излязъл от гащите ...

Да, котката извика документацията за нея, както обикновено, но все още никой не е отменил изходния код, така че разбирането ми дойде доста бързо, че на практика това е, което търсех. Преценете сами: седите в една среда за разработка (сама по себе си много приятна и бърза) и спокойно пишете и редактирате файлове за няколко платформи. И вие, като писател на кодове, не ви интересува дали има някакви проблеми с „родната“ среда.

Достатъчно изливане, време е да опитате. Нека създадем много прост проект, в който ще имаме компонент за настолен компютър и микроконтролер.

Отворете QtCreator, изберете да създадете проект, който не е Qt (за да не се притеснявате твърде много) и след това изберете къде присъстват C и Qbs. Обърнете внимание на приятно изглеждащите думи Независими от платформата

програмираме

В резултат получаваме по един main.c и qbs. Вече можете да натиснете "build" и да получите изхода Hello World.

Отваряме qbs и не разбираме нищо. Затова изтриваме всичко, въоръжаваме се с интернет и започваме да пишем. Javascript и всичко това.


Така че, тук изглежда ясно. Внасяме всичко необходимо за работата на самата qbs.


Запазете и гледайте main.c да изчезва от левия прозорец. Когато се опитате да стартирате проект, QtCreator ще попита: защо да започнете? По принцип засега всичко е логично.

От какво се състои проектът в терминологията на qbs? От продукти. И може да са няколко, но засега ще направя една.


Сега за нашия „десктоп“ ще посочим източника.


Когато се опитате да компилирате, абсолютно нищо няма да се промени. Нека да разгледаме някои уроци и да добавим зависимост от cpp и да посочим, че това всъщност е приложение.


И сега, когато се опитвате да изградите приложението QtCreator, то ще шумоли малко с диска и желаният ще се появи в панела за изход на приложението

qtcreator

Да, значи сме на прав път. Остава да разберем какво правят тези две вълшебни линии.


Чета документацията и разбирам, че с тази команда инсталирам зависимостта на проекта от някакъв модул с име cpp. Стана ли по-ясно? Аз не.

С просто търсене намирам нещо подобно в/usr/share/qtcreator/qbs/share/qbs/modules/(Ако имате различна операционна система, най-вероятно същото е някъде близо до QtCreator). Накратко, има много javascript, който в зависимост от платформата избира компилатора за тази платформа. Няма смисъл да повтарям нещо подобно изцяло, затова го оставям така, както е.


От документацията: Файловите маркери, съответстващи на целевите артефакти на продукта. Артефакт ... Артефакт представлява един файл, създаден от правило или трансформатор.... грешка ... Правило? Създава трансформатори за входни тагове. Напомня за ситуация относно сепулкариум ... Трансформатор? Създава файлове, обикновено от други файлове