Have been using codeblocks to work with ARM processors. Using these toolchains:
WinARM, GNUARM, ours: sarm (www.st-angliamicro.com/software.asp
), and now started to use code-sourcery for cortex M3 support.
Project management and compiling works fantastic, however I am using the Insight debugger as there some issues with arm-elf-gdb under codeblocks.
These are mainly to do with some differences with mingw gdb, and arm-elf-gdb.
For instance, arm-elf-gdb seems to output breakpoint information slightly differently, so I have added some simple regex expressions in the source, and added support code in debugger_gdb.cpp
Also, there are some other options which are not recognised that need minor tweaks.
I am currently hacking at the debugger plugin source to get arm-elf-gdb working.
A couple of questions though...
Before I go much further, codeblocks has a parseoutput() function in gdb_driver.cpp that regex's the console output of GDB, to set the cursor position.
Is it worth adding support for GDB/MI format? Any technical or emotional issues here?
I have code blocks setting the cursor at the correct place upon a breakpoint stop, however I still have some way to go.
What I was planning to add:
1) Finish support for arm-elf-gdb.
2) Add some sort of ProcessorFactory class to store localized information for specific CPU/architecture target. Or would this information be better stored in compiler options, would probably make sense?
3) Add support for OpenOCD JTAG engine on the debugger panel. (Remote debugging).
4) Startup wizard to select processor and target settings, default build options, relevant linker and OpenOCD scripts.
5) Flash programming plugin.
Appreciate and feedback or comments, as I am fairly new to the source code and architecture (few weeks in).