How to - ADuCM3029 with simple and free Open Source Tools?

Document created by MMA Employee on May 22, 2016Last modified by carol.nelson on Jan 24, 2018
Version 4Show Document
  • View in full screen mode

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.




6 people found this helpful