一、安装Simplicity Studio
安装完成后点击状态栏的install
进入安装支持包页面,点击通过技术手段安装
选择32位,只需要下载这个就行,只是为了获取EFM32的SDK
等待下载完成即可在安装目录找到sdks的文件夹了。
二、建立工程,
1. 开发文件准备:在工程目录下建立CMSIS文件夹
1.1复制软件Simplicity Studio安装目录的emlib文件夹到工程目录SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v3.2\platform\emlib
1.2复制芯片型号对应的文件夹到工程目录CMSIS文件夹下,我这里是EFM32LG
SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v3.2\platform\Device\SiliconLabs\EFM32LG
1.3复制Include文件夹到工程目录CMSIS文件夹下
SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v3.2\platform\CMSIS\Include
2.1 选取对应型号
gengral option -> target ->Device ->SiliconLaboratories EFM32LG280F256
如果忘了在这里选择芯片型号,在下载程序时会让你选择芯片,这时选择 Energy Micro 下的对应芯片。
2.2 在工程目录新建组CMSIS、emlib。向CMSIS添加CMSIS\EFM32LG\Source下的system_efm32lg.c和CMSIS\EFM32LG\SourceIAR下的startup_efm32lgp.s文件,并添加库函数到工程中。向emlib中添加emlib文件夹下的c文件。在工程目录下添加main文件。
2.3 工程头文件路径添加,并添加全局宏定义EFM32LG280F256 如下图所示,否则device.h无法编译通过。
$PROJ_DIR$\USER
$PROJ_DIR$\CMSIS\EFR32FG1P\Include
$PROJ_DIR$\CMSIS\Include
$PROJ_DIR$\emlib\inc
至此,工程搭建好,可以正常编译了。但想要下载调试,还是要选择正确的下载器及下载方式。
可能会出现的错误及解决方法:
选择正确的下载器
在使用IAR debug时候出现的问题如User error:Memory access error等什么地址错误和路径错误。
解决办法:将Debugger/Setup/Driver 下的选项,选择你使用的下载方式,我的错误是一开始我这里是simulator,选择ST-LINK后就解决我的问题了。
选择正确的下载方式
IAR J-Link下载程序出现错误提示:Failed to get CPU status after 4 retries Retry?
情况一:打开IAR的"Project"------->"Options..."------->"J-Link/J-Trace"--------->"Connection"项查看“Interface”下的“JTAG”和“SWD”是不是灰色的,如果不是灰色的,结合当前你用的是JATG还是SWD,我用的是“SWD”,所以我选中“SWD”项,回来再下载程序就不会报错。
情况二:在情况一中,查看“Interface”下的“JTAG”和“SWD”如果是灰色的,则打开IAR的"Project"------->"Options..."------->“Debugger”-------->"Setup"项的“Driver”下拉项是不是“J-Link/J-Trace”,如果不是,则一定要选中“J-Link/J-Trace”。再回到情况一去选择“JTAG”或“SWD”。此时再下载程序,问题已经解决了。