For those who are interested in Bare Metal Programming - as myself - or simply starting to develop Embedded Applications, in my opinion the high sophisticated tool-chains (i.e. Eclipse based) and commercial available tool-chains (I.e. IAR EWARM or Keil ARM) are sometimes more complicated to use than simple tools available for free and Open Source.
Also we get from time to time questions on how to get started with free of charge tools without limitations - i.e. code-size or time-limits.
So I made some investigations on Windows and Linux about IDEs and tools to be used with our Analog Microcontrollers or CM4xx Mixed-Signal Control Processors, which are based on ARM cores. Most of the Evaluation-Kits we provide come with J-Link Debugger-Dongles for programming and debugging, so the main interest was about Software which works with those.
On Windows I discovered already some time ago emIDE - this is a lightweight simple to use IDE with some basic Bare Metal Code examples and some nice features. In another thread I attached a very, very basic example project for the ADuCM3029 done on emIDE - Not working after HW-Reset or Power-Cycle.
Also there are other tool-chains which can be used for this purpose available for Windows, i.e. Code::Blocks (emIDE is based on this), CodeLite, emBlocks (also based on Code::Blocks) and maybe more.
Nowadays we also get more and more questions about tools running on Linux systems.I used Code::Blocks now for test on Linux to do an bit more enhance version of the ADuCM3029 example project. This is attached here with a more comprehensive header-file, linker-control-file and Interrupt-Vectors for all peripherals included in the startup.s file.
In all cases the key is the GDB-server support for the J-Link Debugger-Dongles from Segger.Other tool-chains besides Code::Blocks are also CodeLite and a complete different, but very interesting approach ddd (DataDisplayDebugger) working perfectly on Linux systems.All those are free of charge and in combination with the GNU C Compilers for ARM have no limitations.
The J-Link GDB-server is also available for small, lightweight and low-power ARM-Linux-systems like a Raspberry Pi.I tried running Code::Blocks on a Raspberry PI 2 and below a screen-shot where I did develop the attached example project on an Orange PI Plus - which has a quad-core running up to 1.56GHz. With a Debian 8 Jessie Linux Distribution it works reliable fast and can be used to develop Embedded Applications for Analog Microcontrollers like the ADuCM3029.
Hi MMA: the following is the key point to build a free IDE for one new analog devices ARM processor:
Interesting article! Thanks!
For Cortex-M (ADuCM360, ADuCM3029 and ADuCM4050), you can now use CrossCore Embedded Studio (CCES) and Eclipse-based IDE which comes with GCC ARM Embedded (v6) and tools such as OpenOCD with support for J-Link Lite, CMSIS-DAP and ICE-1000/2000.
Included in the set-up instructions and how to guide on using the CMSIS Packs is also an serial number to fully activate your Cortex-M support.
Hopefully the following articles prove useful:
EVAL-ADICUP3029 Tool Chain [Analog Devices Wiki]
EVAL-ADICUP360 Tool Chain [Analog Devices Wiki]
Thank you for the information R.L.
This is a nice overview about how to adapt micros to eclipse.
But sometimes eclipse is simply a overkill for a quick small project or students.
So I did search for other, simpler to use open-source tools.
The pretty nice thing with ADI ARM micros so far is that they are supported from Segger with the J-Link GDB-server.
The found tools are using remote GDB-Server for flash programming and debugging.
So with a J-Link it is easy to program flash on the parts and debug - all is handled by the GDB-Server correctly.
Very interesting information.