
Re: ползване на вц6 за иде
първо, трябва да се инсталира 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-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:
след това попълваш настройките според конкретния gdb сървър, който ползваш:
като натиснеш ОК, следват следните прозорци:
натискаш бутона за пауза - и си дебъгваш:
това упражнение звучи тегаво, защото е тегаво; аз имах късмета миналата година да трябва да преработвам една платка (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 ми допада много
ако нещо не е ясно, ако знам - ще споделя опит