Reply
Expert Employee
Kjell_E
Posts: 28
Registered: ‎09-05-2012

The emIDE, an opensource IDE especially suited for EFM32 software development

Want to try a nice opesource IDE for EFM32 development ?

Try emIDE !

Download here http://emide.org/dl.php?fid=17

Install, drop the attached Test3.txt file into kits\EFM32GG_DK3750\examples\blink\codesourcery and rename it to Test3.emP.

Open it in emIDE and hit F5

-kjell eirik




Attached Files

My views are my own and do not necessarily represent the views of Silicon Labs
Expert Employee
Kjell_E
Posts: 28
Registered: ‎09-05-2012

The emIDE, an opensource IDE especially suited for EFM32 software development

Try this link for download :

http://emide.org/dl.php?fid=16
My views are my own and do not necessarily represent the views of Silicon Labs
Occasional Contributor
Sylv1
Posts: 14
Registered: ‎01-28-2013

The emIDE, an opensource IDE especially suited for EFM32 software development

I knew Em::Blocks (link below) for embedded development and it looks like emIDE (without J-Link). It seems the two IDE are built from Code::Blocks (why two IDE for the same goal ?!)

http://www.emblocks.org/web/
Valued Contributor
vanmierlo
Posts: 1,941
Registered: ‎02-07-2002

The emIDE, an opensource IDE especially suited for EFM32 software development

Does it support debugging or is it a compiler front end only? If it does support debugging, which debug interfaces are supported?
Regular Contributor
brouhaha
Posts: 197
Registered: ‎09-16-2012

The emIDE, an opensource IDE especially suited for EFM32 software development

Unfortunately the post didn't include the base URL, http://emide.org/, which describes that it supports debugging using JLink.
Expert Employee
Marius_G
Posts: 76
Registered: ‎09-07-2012

The emIDE, an opensource IDE especially suited for EFM32 software development

Debugging works, and it's very fast :robothappy:. The big downside of this IDE is that it doesn't contain a register view, otherwise I would say it's an excellent tool.
Valued Contributor
vanmierlo
Posts: 1,941
Registered: ‎02-07-2002

The emIDE, an opensource IDE especially suited for EFM32 software development

I think an Open Source project like this should support debugging through Open Hardware debug interfaces. The ones that come to mind are the FTDI based JTAG adapters and CoLinkEx ( http://www.coocox.org/Colinkex.htm ).
Regular Contributor
brouhaha
Posts: 197
Registered: ‎09-16-2012

The emIDE, an opensource IDE especially suited for EFM32 software development

The EFM32 doesn't support JTAG, so FTDI based JTAG adapters aren't going to be of any help, unless they also happen to support SWD, which most don't. The CooCox looks interesting, but AFAICT it doesn't support any open source debugger.

The state of the art for open source SWD support is not very good yet.
Contributor
cprogrammer
Posts: 47
Registered: ‎10-10-2012

The emIDE, an opensource IDE especially suited for EFM32 software development


vanmierlo wrote:

CoLinkEx ( http://www.coocox.org/Colinkex.htm ).




If you like to use the CoLinkEx only for programming only, I think you could use the CoFlash in Command Line:

look here http://coocox.org/CoFlashGuide/CoFlash_UserGuide_Commandline.htm.

Maybe someone could write an Plugin for EMIDE with CoLinkEx like there is a Plugin for Keil MDK-ARM with CoLinkEx witch I use in an example Project here: https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example
Occasional Contributor
EmBlocks
Posts: 13
Registered: ‎03-27-2013

The emIDE, an opensource IDE especially suited for EFM32 software development


Sylv1 wrote:


I knew Em::Blocks (link below) for embedded development and it looks like emIDE (without J-Link). It seems the two IDE are built from Code::Blocks (why two IDE for the same goal ?!)

http://www.emblocks.org/web/




Hi,

EmBlocks supports JLink and STlink (or any other GDB server) both with GUI settings. In the install package is a STLink gdb server which supports flash/ram execution (settings of registers or memory like vector allocation table).

The Graphical user interface for the debugger probes are completely written with external scripts which can be modified or extended by users. So even OpenOCD or any other GDB can be supported with the same GUI mechanism. For the JLink there is currently ST, NXP and Generic UI interface scripts. It's quite easy to add EFM to the JLink product family with his own graphical UI instead of using the Generic's.

The JLink settings dialog for e.g. ST:

jlink.PNG

The install package contains all the necessary tools (special embedded GDB's and GCC's) to instantly start a project.

Regards.
Occasional Contributor
Sylv1
Posts: 14
Registered: ‎01-28-2013

The emIDE, an opensource IDE especially suited for EFM32 software development

Oups, I hadn't seen that Emblocks supported JLink.

About the GNU 'bare-metal' compiler included in this IDE, what is the expected performance of the optimized Newlib and especially Nano-branch compared to Sourcery CodeBench Lite Edition (size and/or speed)?
Occasional Contributor
EmBlocks
Posts: 13
Registered: ‎03-27-2013

The emIDE, an opensource IDE especially suited for EFM32 software development

Whoo


Sylv1 wrote:

About the GNU 'bare-metal' compiler included in this IDE, what is the expected performance of the optimized Newlib and especially Nano-branch compared to Sourcery CodeBench Lite Edition (size and/or speed)?




Whooo, I don't know.

I know that the code size, with nano-lib, can be the same (even smaller) than the RealView ARM compiler. I will upload a video later on where I have two build targets, one GCC-bare and one RLView, so that we can compare them directly. What is that lite? only command line tools from GNU?
Occasional Contributor
Sylv1
Posts: 14
Registered: ‎01-28-2013

The emIDE, an opensource IDE especially suited for EFM32 software development

Yes, the 'Lite Edition' is only a command lines tool from GNU but it can be integrated into Eclipse as explained in the Application Note AN0023 (see 'Downloads' section or http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf) or in EmIDE (see the first post of this topic) or others.
Occasional Contributor
EmBlocks
Posts: 13
Registered: ‎03-27-2013

The emIDE, an opensource IDE especially suited for EFM32 software development


Sylv1 wrote:

Yes, the 'Lite Edition' is only a command lines tool from GNU but it can be integrated into Eclipse as explained in the Application Note AN0023 (see 'Downloads' section or http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf) or in EmIDE (see the first post of this topic) or others.




I guess that it can be used with any IDE which is supporting GCC. Just select Yagarto (or any other suitable) GCC and change the toolchain path (and possibly exectuable names).

For EmBlocks, don't use the emblocks bare-metal driver. This one is using specific commandline switches to select different optimized libraries. These switches are still GCC but they are using spec-files which are most likely not available in the Lite toolchain. Its better to use the Yagarto driver.

If it's worth, I will add this toolchain to the supoorted auto-detectables, but I think that it won't be much different compared to the bare-metal compiler which is packaged with EmBlocks if you are using Cortex devices..
Contributor
hairykiwi
Posts: 57
Registered: ‎09-11-2012

The emIDE, an opensource IDE especially suited for EFM32 software development

Kjell E - Thanks so much for the heads-up on emIDE :-)

For anyone interested in trying emIDE with a STK3700, here's Kjell E's Test3.txt (emP file) modified for the STK3700:

blink_STK3700_emP-for_emIDE.txt

To use it, drop it into: %AppData%\energymicro\kits\EFM32GG_STK3700\examples\blink\codesourcery

and rename it: blink_STK3700.emP

Compared to Eclipse+GCC, I found emIDE much less hassle to install and get my first project working. Additionally, it's lightweight (48MB), cleaner looking, (easier on the eye) and Segger's J-Link is very nicely integrated, thanks to some work Segger did for the project.

I did initially overlook Kjell E's Test3.txt project file, so I spent a while trying to get it working under my own steam. Being a complete makefile novice, I ended up learning a lot more about makefiles, compiler flags and options - and some of the current limitations of emIDE. For example, Windows system environment variables like %UserName% are not as yet being properly reformed at compile time:



currently reforms to become:

...\Usershairykiwi\AppData\...

instead of:

...\Users\hairykiwi\AppData\...

Being able to use such variables would mean better project portability - among Windows users at least. And this is probably the single biggest limitation of emBlocks right now - it's Windows only until the author finds time to work on a Linux release.

---

I did also take a look at EmBlocks, but got a little despondent about trying it after taking so long trying setting up emIDE without Kjell E's Test3.txt (emP file). It would be good to compare emIDE and emBlocks side-by-side, but right now I don't have a lot of spare time.

EmBlocks, if you're able to offer some guidance or assistance on setting up a project with an EFM32 device, I'd be interested in trying EmBlocks too.