Posts: 170
Registered: ‎06-01-2012

Port a Keil µVision project from Tiny Gecko to Giant Gecko

This guide gives step-by-step instructions on how to port an MDK-ARM (Keil µVision) software project from one EFM32 device to another. A software project from an EFM32 application note is used as an example in this guide, but the same steps will apply to any EFM32 project that uses CMSIS/emlib.

1) Change device:

  • Open Project -> Options for Target 'projectname' …

  • Go to Device tab

  • Select new EFM32 device



2) Change pre-processor defines:

  • Navigate to the C/C++ section

  • In the Define field: Replace the existing part number with the part number of the new target device

  • (for EFM32 kits only: Replace the existing kit number with the new kit number)



3) Change include paths:

  • In C/C++ section, press the […] button next to Include Paths

  • Change the device family specific Include path

  • (for EFM32 kits only: Change the path to the kit config folder) 



4) Change flash programming algorithm:

  • Navigate to Utilities

  • Open Flash Download

  • Add the correct programming algorithm

  • Remove the old programming algorithm

  • Set RAM for Algorithm Size. For Giant Gecko this must be above 0x4500, exact size may vary between device families.  



5) In the files included in the Project under the CMSIS folder, remove startup_efm32tg.s (includes Tiny Gecko specific interrupt vectors) and add startup_efm32gg.s (includes Giant Gecko specific interrupt vectors). The startup files are found under the Simplicity Studio work folder in the following path: Device\EnergyMicro\EFM32GG\Source\ARM

In the same way, replace system_efm32tg.c with system_efm32gg.c. The system files are found under the Simplicity Studio work folder in the following path: Device\EnergyMicro\EFM32GG\Source