BareEmbeddedProjectMaanger Plugin for Qt
Source (required if based on other people's work):
I always wanted wanted to use QtCreator for embedded(ARM) programming. But i never found any documentation regarding that.Most of the tools for arm programming are only available for windows and they are very expensive. With their evaluation version either we can compile up to 32KB or we can use them only for one month.Other free IDE are based on Eclipse. So i decided to write a small plugin for QtCreator so that i can create and manage basic ARM projects without maintaining their makefile and writing other assembly and linker files each time.
What problems this plugin will solve ?
You can create a new project with some clicks. It will automatically create a generic start up code and linker file, so that you can directly start with main function.
For each linker file you add to project it will create two build configuration one for release and second for debug mode.With project wizard you will find a ROM.ld file and two build configuration ROM-debug and ROM-release.
you don’t need to maintain a makefile for the project. When ever you add any source file(c or assembly) it will automatically update the makefile according to its dependency. Right click on project will give you options to build , clean the project and generate makefile for the project.
What are the limitations ?
Right now it only support C and assembly.
Only work with GNU Arm compiler (elf or eabi )
There is no run configuration because running an arm program means loading the bin or hex file to the micro controller and it depends on hardware.
No debug support.
If you are professional embedded programmer than its not the right plugin for you, but if you are beginner to arm programming this plugin will help you a lot, and i can surely say that QtCreator will save a lot of time. Its editor is the best i have ever seen.This is just a start for this plugin. Right now you can create and manage the basic projects.But i will add lot more feature like full C++ support and debugging along with graphical interface to configure each and every aspect of project.