plugin for avr-gcc

Mohammad H. Amir Amjadi m.amjadi at engineer.com
Thu Feb 27 22:16:05 UTC 2014


hey guys.
it's a while that I'm working on Ateml AVR chips and the lack of a great IDE 
for this kind of stuffs is killing me. There are a number of IDEs out there 
for linux, but actually they can't satisfy me and/or other avr programmers. 
for example there is a plugin for eclipse but it is not enough as it doesn't 
provide code generator and also (as you know) java sucks in so many aspects 
(slow performance, ugly interface which is not native and high resource 
usage).
So I was thinking about a new IDE for avr-gcc developed on Qt, but actually I 
don't have enough time to invent a new wheel, so I thought a cool plugin for 
KDevelop can handle the job.
But before going further, I would say that it won't be so much of hard works 
to develop this plugin, as the programming lanuage is based on Gnu C (or pure 
gcc or whatever it is called) with a few differences. So it can be built on 
top the built-in C or C++ feature of KDevelop.

avr-gcc has it's own toolchain (the gnu toolchain built for Atmel products) 
and brings its own headers and library files.
avr-gcc has some predefined variables (as registers) which will store the state 
of a bit (which has a special name). An example is TCCR0 which a register for 
setting the functionality of Timer 0 and it contains 3 bits named CS00, CS01 
and CS02 which stores the status of prescaler.
There are also some predefined functions like ISR (Interupt Service Routine) 
which stores some statements for particular events.
the number of these registers and ISRs is not too high and all of them are 
provided in the datasheets of Atmel products.

So what are you saying guys? you think we can develop a cool plugin for that?
and also beside the code highlight and code suggestion, we need a code 
generator which will generate  prebuilt codes based on the selections of check 
boxes and graphical elements. (it's actually for ease of programming as it's 
hard to remember the name of registers and its bits)
And a graphical frontend for AVRdude (which I have worked on that a while ago 
on here https://github.com/nixmd/qvrdude/tree/develop)




More information about the KDevelop-devel mailing list