============= Device CMSIS Compliant Peripheral Support Library ============== This archive contains header file and peripheral support libraries for Silicon Labs EFM32 and EZR32 series of microcontrollers and System-On-Chip devices. ================ About Device ================================================ The library and header files are based on CMSIS, the Cortex Microcontroller Software Interface Standard, as defined by ARM Ltd. For more information about the CMSIS standard in itself see http://www.onarm.com/cmsis http://www.arm.com/cmsis 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 Silicon Labs EFM32/EZR32 devices. Currently this can be one of either Atollic TrueStudio for ARM http://www.atollic.com CooCox CoIDE http://www.coocox.com Hitex HiTop IDE http://www.hitex.com IAR Embedded Workbench for ARM http://www.iar.com Keil uVision "MDK-ARM" http://www.keil.com Mentor Graphics CodeBench (previously Codesourcery Sourcery G++) http://www.mentor.com Rowley CrossWorks for ARM http://www.rowley.co.uk The version required depends on the family of products you are developing for, check with the vendor for compliance for a particular device. It is possible to develop with other tools, but these vendors provide good, integrated development environments for Silicon Labs EFM32/EZR32 devices. 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 Silicon Labs EFM32/EZR32 Development or Starter Kits. These should be easy to port and change to adopt to your needs. The board support packages for the various Silicon Labs EFM32/EZR32 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. You might also need to change the limits of the linker file to adopt to your part's SRAM and flash size limits. Support for Silicon Labs EFM32/EZR32 devices family is located in the directory Device/SiliconLabs/, where family could be one of EFM32G, EFM32TG, EFM32GG, EFM32LG, EZR32WG or others. 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. Include the file "em_device.h" wherever you need register and bit field definitions for the peripherals or the MCUs/RF transceivers, after setting the correct include path to point to your "family". Gecko peripheral registers follow the CMSIS convention of defining a structure which hold "volatile" peripheral registers. Again, take a look at the examples for usage. ================ Licenses ==================================================== See the top of each file for software license. ================ Software updates ============================================ Silicon Labs continually works to provide updated and improved example code, header files and other software of use for our customers. Please check http://www.silabs.com/support/pages/document-library.aspx?p=MCUs--32-bit for the latest releases. If you download and install the "Simplicity Studio" package, you can easily keep up to date with the latest Silicon Labs EFM32/EZR32 software deliveries, datasheets, app.notes, erratas and more. (C) Copyright Silicon Laboratories, Inc. 2016.