Friday, October 21, 2011

Energy Micro EFM32 "Tiny Gecko" Developer Board

I recently attended a seminar featuring the EFM32 Gecko processor from Energy Micro, an ARM Cotex M3 architecture based chip, with a focus on ultra low energy applications. I enjoyed the seminar a lot, though I'm not sure if that was due in part to the change of pace from my day job. The seminar was 20 minutes from my house, and attendees recieved a EFM32 starter kit.


Energy Micro is a relatively new chip manufacture based in Norway.



The starter kit has on board:

  • Coin battery holder
  • Segmented LCD display
  • Capacative and inductive sensors
  • Ambient light sensor
  • 2 user and 1 reset momentary buttons.
  • Expansion header,
  • USB 
  • Energy consumption monitor
It also features a Segger Jlink JTAG adapter that is also capable of using ARM "Serial Wire Debug" protocol. The Jlink can be used to debug off board targets too, though my understanding is that it is only enabled for use with other EFM mcu's. I'm curious to see what OpenOCD thinks of this JLink, I'm still looking for a cheap SWD capable device to program my LPC 11xx chips I bought last year.

As far as the EFM32 processor itself, I was pretty impressed with it's capabilities, it comes with a slew of peripherals standard, depending on the "family" of Gecko processor. LCD controllers and USB are avalable on the higher-end version of the chip. It has ADC, DAC, RTC, as well as the usual suspects for serial comms, I2C, SPI, U(S)ART, and USB. It also features a DMA (Direct Memory Access), something that allows peripheral controllers to access RAM without CPU assistance. It's something desktop pcs have had for at least 20 years, but seems very exotic for a "low end" microcontrollers. It also has some op-amps built in.

The seminar also had a rep from IAR, and there IDE integrated nicely. Being used to open source, non commercial tools, it was strange to me for everything to "just work", I'm used to a few hours of Googling and configured before I get anything to work :). The thing that made me giddy was the "Energy Profiler" that was possible because of the current sensing circuitry on the Dev Board, which I think also has JLink support. This let you run your code and profile how much power was consumed by each line of code. All the same, the version that comes with the dev board is the "starter edition". When I went to IAR's website to look for pricing info, and all I could was the "request a quote" button. For me that translates to "if you have to ask...". 

The main negative to the EFM32 chip from a hobbyist perspective is form factor: it's currently comes in QFP, QFN, or BGA form factors. I swear however puts out a DIP ARM chip will have my admiration for life. The other major drawbacks are ones I've already hinted at. The open source tools support for this chip seems to be in it's infancy, at least with a quick web search. Also, the SWD interface is not yet well supported for hobbyist, even though I think it will eventually outnumber JTAG in popularity.


--P


11 comments:

  1. SWD supported open source debugger is still not mature. But there are attempts made with FTDI based chip and a JTAG to SWD converter. See KT-Link at http://sourceforge.net/apps/mediawiki/stm32primer2swd/ .

    EFM32 MCUs have Free Open Source compiler support using ARM-GCC. The following application note from Energy Micro describes how to setup Eclipse IDE and Codesourcery ARM GCC for application development : http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf

    ReplyDelete
  2. @ viswesr: Thanks for the update, I'm always a little confused by Codesourcery's status as a true libre/free tool becasue of the "Lite" designation. I'l admit I have not installed it and tried it out, I've used Yagarto in the past for my ARM tool chain. I had not heard of the KT-Link I'll be sure to check it out, thanks!

    ReplyDelete
  3. @Pedantine: I work for Energy Mico and I'm really glad you like our stuff!

    I agree that the packages are not that hobbyist friendly and if you are looking for a form factor for prototyping with our chip please check out this link:

    http://blog.stackfoundry.com/2011/10/24-pin-tiny-gecko-breakout-board-coming-soon/

    Stay tuned because we are also working on some cool stuff that could be very interesting for hobbyists!

    I'm not sure if I understand which energy profiler tool are you writing about here. We have our own free tool called energyAware Profiler that you can use with the Tiny Gecko STK. If you download Simplicity Studio you can easily launch these applications from there:
    http://www.energymicro.com/software


    We have a video introduction to the tool, check it out:
    http://youtu.be/9EDq5W1deIM

    Thanks for writing about us and have fun with the kit!

    Adam

    ReplyDelete
  4. @Adam, I forgot to mention the Energy Micro energy profiling tool. Unless I misunderstood the IAR demonstration, they also had the ability to profile the current draw. Maybe that is really the same tool?

    -P

    ReplyDelete
  5. No, its not the same tool.
    IAR has its own solution called Power Debugging built into their IDE so that doesn't come for free but its a good tool.
    Energy Micro has energyAware Profiler which is a free tool and you can use that with all the kits we have. Have you tried playing around with it?

    ReplyDelete
  6. I have not yet had a chance to play around with it. My day job has been keeping me swamped lately, I work in video games, sometimes the hours are long. I definitely will, eventually, check it out though. I've barely had time to modify the LCD sample code to say "Crufty!" that I used in the picture I posted :).

    ReplyDelete
  7. Cool, I hope you will have some free time to hack the gecko a bit! You can refer to the demos and appnotes from Simplicity Studio and you can also contact the support guys at http://support.energymicro.com they are very helpful and responsive!

    And yeah, make sure to post if you made some cool stuff with EFM32, I'm gonna follow your blog from now! :)

    ReplyDelete
  8. This comment has been removed by a blog administrator.

    ReplyDelete
  9. Ryan, I replied privately to the email address you posted. Let me know if you did not get it.

    ReplyDelete
  10. @Pedantite : Recently, I found completely free open source builds of GCC for ARM Cortex-M/R MPUs/MCUS (with source code) at https://launchpad.net/gcc-arm-embedded. This is not some "Lite" designated build

    ReplyDelete
  11. I noticed that too. Thanks for the tip! Work, family, and other projects have kept me busy lately, so I have not had time to check it out.

    ReplyDelete

I welcome you're thoughts. Keep it classy, think of the children.