================ EFM32 Device Support Library (DSL) ========================== This directory ,"CMSIS", contains the Energy Micro Support Library for the EFM32 series of microcontrollers. ================ About CMSIS ================================================= The library is based on CMSIS, the Cortex Microcontroller Software Interface Standard, as defined by ARM Inc. For more information about CMSIS see http://www.onarm.com http://www.arm.com/products/CPUs/CMSIS.html In short, CMSIS tries to provide a common interface for programming devices having one of the Cortex-M core architectures, making code sharing and reuse easier. ================ Development Environments ==================================== You will need a development environment which supports the Energy Micro EFM32 devices. Currently this is either IAR Embedded Workbench for ARM 5.40.6 or later, http://www.iar.com Keil uVision "MDK-ARM" 4.01 or later, http://www.keil.com Rowley CodeSourcery for ARM v2.0.5 or later, see http://www.rowley.co.uk Codesourcery Sourcery G++, see http://www.codesourcery.com It is possible to develop with other tools, but for now these are the well supported development environment for Energy Micro example code. This library uses C99-types, requires the presence of and can use other functionality standardized in C99. If your compiler has a C99 compliance toggle, you should enable it for your projects. ================ File structure ============================================== Short getting started guide: The quickest way to start is to base your work on one of the simple example projects for the Energy Micro Development or Stareter Kits. These should be easy to port and change to adopt to your needs. The board support packages for the various Energy Micro kits comes with a "blink" example, that serves as a good starting point for new projects. Please note that you _will_ need to change the "Debugger" and "Flash/Download" configuration settings to fit your environment. See your IDE's manual for details. Support for the EFM32 device family is located in the directory CMSIS/CM3/DeviceSupport/EnergyMicro/EFM32 The most convenient way to start a project, is to define the device target in your compiler options, e.g. add a -DEFM32G890F128 to your compile options if you are targetting an EFM32G890F128 part. When this is done, you should include the file "efm32.h" wherever you need register and bit field definitions for the EFM32 peripherals. The peripheral registers follow the CMSIS convention of defining a structure which holds the "volatile" registers. Again, take a look at the examples for usage. ================ Licenses ==================================================== See the top of each file for SW license. Basically you are free to use the Energy Micro code for any project using EFM32 devices. Part of the CMSIS library is copyrighted by ARM Inc. See "License.doc" for ARM's CMSIS license. ================ Software updates ============================================ Energy Micro continually works to provide updated and improved DSL, example code and other software of use for EFM32 customers. Please check the download section of http://www.energymicro.com/downloads for the latest releases, news and updates. (C) Copyright Energy Micro AS, 2011