Отговори на тема  [ 32 мнения ]  Отиди на страница Предишна  1, 2, 3
ползване на вц6 за иде 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Ное 12, 2011 9:21 pm
Мнения: 62
Мнение Re: ползване на вц6 за иде
mp607 написа:
Здравейте

Поздрави на всички участници за полезната информация.
Имам въпрос към колегата loser може ли по подробно да обясни как се настройва qt creator да
да компилира и дебъгва проект за stm32.


първо, трябва да се инсталира qt creator, най-лесно е да се изтегли компилирана версия от сайта на nokia; след това - ако няма инсталиран инструментариум arm-none-eabi - трябва и той да се инсталира - това колегите да кажат откъде е най-добре се тегли компилирано, като че ли yagarto вече не се поддържа, но все още трябва да върши работа, не съм ползвал последните неща на codesourcery откакто mentor ги купиха, в linaro също има компилирани версии за windows; от около 3 години ползвам домашно компилиран arm-none-eabi пакет (към момента с gcc 4.6.3 и gdb 7.4), сигурно не е идеален, на мен върши работа

като се инсталират qt creator и arm-none-eabi пакетите, в qt creator, меню Tools->Options->Build & Run->Toolchains се добавя инструментариум arm-none-eabi - задава се архитектурата и местоположението на дебъгера (gdb); пример:

Прикачени файлове:
arm-toolchain-settings.png
arm-toolchain-settings.png [ 45.3 KiB | Прегледано 591 пъти ]


пътят към arm-none-eabi изпълнимите файлове трябва да бъде добавен в променливата на обкръжението PATH

------------------------ дебъг в qt creator ------------------------
трябва да имаш дебъг сонда, която се поддържа от някакъв gdb сървър; комбинацията ftdi базирана сонда (olimex продават такива) - openocd е популярна, но лично аз си скъсах нервите; колегата TheHungry тук продава отлични j-link сонди, те имат gdb сървър, но съм ги пробвал само с keil и iar в службата, вкъщи не съм пробвал - аз се снабдих наскоро с такава сонда и нямах време досега да я пробвам с qt creator у дома, но би трябвало да става; преди да почнеш да дебъгваш в qt creator - пускаш си платката, връзваш сондата, програмираш си платката и пускаш gdb сървъра за сондата; след това пускаш qt creator - избираш меню Debug->Start Debugging->Attach To Remote Debug Server:

Прикачени файлове:
debug-menu.png
debug-menu.png [ 35.43 KiB | Прегледано 591 пъти ]


след това попълваш настройките според конкретния gdb сървър, който ползваш:

Прикачени файлове:
debugger-settings.png
debugger-settings.png [ 14.91 KiB | Прегледано 591 пъти ]


като натиснеш ОК, следват следните прозорци:

Прикачени файлове:
debugger-warning.png
debugger-warning.png [ 9.89 KiB | Прегледано 591 пъти ]


Прикачени файлове:
debugger-just-launched.png
debugger-just-launched.png [ 95.75 KiB | Прегледано 591 пъти ]


натискаш бутона за пауза - и си дебъгваш:

Прикачени файлове:
debugger-main.png
debugger-main.png [ 134.66 KiB | Прегледано 591 пъти ]


това упражнение звучи тегаво, защото е тегаво; аз имах късмета миналата година да трябва да преработвам една платка (stm32f4discovery) да може да програмира някакви nuvoton-ски кортекси м0, stm32f103 и stm32f4 чипове на st по серийна шина за дебъг (swd), и да има и gdb сървър; проектът се провали, но пак се налага да работя с такива чипове, и кодът, който написах - пригодих като plugin към qt creator, и при мен цялата свинщина, описана горе, става с натискане на бутон; ако ставаше и за други процесори, и първоначалната инсталация на системата беше лесна, и ако имаш такава сонда (каквато само аз имам), и ако не гърмеше всичко ако не внимаваш - бих ти предложил да ти дам този plugin, обаче просто няма смисъл - много бързо ще си скъсаме нервите - ти да го подкараш, аз да ти обяснявам как да оправяш нещата

като цяло - така става дебъгването в qt creator

------------------------ работа с проекти в qt creator ------------------------

ще трябва да пътувам скоро, и ще ставам - подръжка за embedded проекти в qt creator официално няма - обаче има подръжка за Makefile базирани проекти; накратко - правиш си Makefile, в qt creator импортираш проекта като generic, и дефинираш основните цели (build targets - напр. clean, RAM debug, RAM release, FLASH debug, FLASH release, и т.н.) - оттам нататък работиш с Makefile-базирания си проект както си пожелаеш - редактираш сорсове, компилираш, дебъгваш (както казах, дебъгването може да е тегаво), теглиш/слагаш файлове към сървър за контрол на версиите, и т.н.; qt creator съдържа повечето логика, която се очаква от инструментариум за писане на C/C++, и е оптимизиран за QT (все пак е собственост на nokia) - текстовият редактор е специално пригоден за C/C++ - ходене м/у дефиниции/декларациии на функции, оцветяване, сгъване, рефакторинг елементи - преименуване на идентификатори/добавяне на дефиниции към Ц++ клас/синхронизация и/или пренареждане на параметри на функции, разцепен изглед на файлове, контрол на версиите (поддържат се Bazaar, Git, Mercurial, Subversion, Perforce, архаичната CVS - честно казано, ползвам само SVN, но тези системи са изброени в менютата), търсене на всички места на употреба на даден идентификатор, и доста други, и т.н.; има и fake-vim режим... аз понеже пердаша много с vim - колкото и да е куца емулацията, това е една от точките, заради които qt creator ми допада много


ако нещо не е ясно, ако знам - ще споделя опит


Сря Май 23, 2012 8:03 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: ползване на вц6 за иде
zaphod написа:
а миро, има ли еквивалент еклипса на F12?


естествено!

Цитат:
въобще иде без способности да разбира езика на който пишеш - не благодаря


не е така.... имаш грешни разбирания ;-)
Еклипс е една основа, хастар, скелет - не знам как да нарека, но във всеки случай няма обвързване с конкретен език или каквото и да е друго конкретно нещо. Винаги ми става смешно като чуя как някой "компилирал" с Екслипс и т.н.
Това си е просто един гол фундамент за работна среда, нищо конкретно - една гола абстракция, за която обаче има хиляди модули и може да си я нагаждаш според нуждите.
Примерно имаш сложен проект с някакво устройство, което има процесор демек ползваш С/С++, имаш ФПГА демек VHDL и ако това устройство комуникира със сървър може да имаш и сървърна част с php, java, html, xml, SQL бози и т.н. Всичко това може да ти е в един workspace, демек бърникаш някъде и като натиснеш един клавиш/бутон да ти се компилира каквото има за компилиране. Като изобщо не е задължително да е само един език/компилатор щото обикновено първо се компилира fpga (vhdl/verilog), полученият файл се вкарва във фърмуера на устройство, после се криптира за да може да се публикува и т.н. А пък сървърната част при релийз може да се качва на съответния сървър и т.н. и т.н.
Нещо повече, подобен род проекти почти винаги се разработват от екип, а не от сам човек. Демек имаш нужда от менажиране (TO DO - задачи, кой кво да прави), имаш нужда репозиторита (CVS, SVN, Git ала-бала) и когато някой някъде пипне нещо да се вижда от останалите в екипа, независимо какво и къде е барал. Да има история кой какво, кога и защо е правил.
Имаш нужда от документация, една част от която да е в самите сорсове (за да се актуализира, когато го променяш), демек говоря за неща като doxygen. Друга част пък да е за тъпите потребители, демек Microsoft Word документи с текст, слайдове и картинки.

Всичко това е Еклипс.... а ти ме питаш дали имал F12 ??!
Естествено, че може да ходиш и напред и назад по дефиници, декларации и то не само на Ц/Ц++ ами и на vhdl, дори на обикновен XML файл, ако имаш xsd -схеми може да ходиш по дефинициите на таговете. Това с навигациите е съвсем елементарно нещо и е немислимо да го няма. Аз се опитвам да ви обясня, че Еклипс е мислен за огромни и много сложни проекти.
Как си представяте бачкане в огромен проект без бързи и удобни навигации изобщо??? Ами аз във всеки един момент имам поне 50-на отворени файла от най-различни типове. Ако няма навигация на втората минута ще съм се опетлал като пате в калчища!!

Между другото Microsoft са един от големите участници в проекта Еклипс. При това не говоря само за връзка с компилаторите им, доколкото знам поддръжката там е супер, но аз не съм ги ползвал. За мен по-ценно е интегрирането с останалите продукти като Word. Естествено word-a си се интегрира навсякъде и това не е кой знае каква новина. По-интересно е, че са интерирани и функции като document compare и т.н. Примерно един word документ от няколко стотин страници, може да се редактира едновременно от много хора, всеки си бачка в собствения workspace и като е готов си качва промените на общо репозитори. Ако двама човека са редактирали едновременно се вижда кой къде и какво е правил, дали има конфликти и т.н.
Разбира се тия неща могат да се правят и без Еклипс, макар че повечето хора не са чували за document compare и бачкат по допотопния начин - всеки редактира и праща по мейл на останалите последната версия, а промените се търсят на око... Докато под Еклипс тия функции са де-факто стандарт. И това е всъщност Еклипс... събира ти на едно място всички инструменти, унифицира ги и ги прави съвместими.


Чет Май 24, 2012 11:46 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 32 мнения ]  Отиди на страница Предишна  1, 2, 3

Кой е на линия

Потребители разглеждащи този форум: Google [Bot] и 31 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни