Reply
Highlighted
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

keilport-device.PNG

 


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)

keilport-c.PNG

 


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) 

keilport-includepath.PNG

 


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.  

keilport-flash.PNG

 


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

 

keilport-project.PNG