Segger Embedded Studio 软件下载和工程配置

1 篇文章 1 订阅

软件下载

Embedded Studio下载地址:https://www.segger.com/downloads/embedded-studio/

下载完主程序,还需要在官网下载待开发器件对应的库函数包

库函数包下载地址:https://studio.segger.com/packages/

其中Core Support Packages目录下的所有库函数包最好全部下载并安装,即CMSIS-CORE.emPackage、CMSIS-CORE_V5.emPackage、CMSIS-DOCS_V5.emPackage、CMSIS-DSP.emPackage、CMSIS-DSP_V5.emPackage这5个安装包。然后在CPU Support Packages中找到自己工程对应器件的支持包,本例中下载的是STM32H7xx.emPackage。

配置开发工程

安装完软件和器件支持包后,开启Embedded Studio后,File->New Project开始配置开发工程。

选择开发工程对应的器件,并设置工程名字和工程路径。

随后需要进行重要参数配置,包括:器件型号选择,本工程选择为STM32H743II;输出格式的选择,常用的为bin和hex文件,本工程为hex;Printf函数相关配置,ARM Cortex-M内核的printf函数一般用于内部调试,本工程设置为浮点支持为double,整型类型支持为Int;Scanf函数相关配置本工程中不使用;工程所用堆和栈大小的选择,可以自行配置。如果此处不配,也可以在Project->Options中找到相应选项进行配置。

接着选择要添加的系统、调试文件。可以直接添加入工程,也可以将对应文件拷贝到工程文件夹中。

后面的配置直接next到选择结束即可。下图即为选择完成后的配置工程。其中的Systrem Files下为Embedded Studio所需要的器件相关启动汇编代码和中断向量表文件,和Uversion、IAR都不通用。其中STM32H7x3_Verctor.s和STM32H7xx_Startup.s则在C:\Users\xxxxx\AppData\Local\SEGGER\SEGGER Embedded Studio\v3\packages\STM32H7xx\Source中,Thumb_crt0.s文件可以在Embedded Studio 安装目录下的source文件夹里找到,这三个文件可以手动添加。Script Files中的js文件应该是用于配置Jlink pro仿真器的Trace功能,如果不用(D版的Jlink pro我都买不起),就不管它,放着不动即可。至于CMSIS Files,反正大家都是用过Uversion或IAR,才有兴趣玩玩Embedded Studio的,这个文件的东西自行配置。

然后是工程所需库文件的添加,这里和Uversion、IAR一样,需要将工程所需的所有文件添加到进来。首先是添加文件夹,Project->New Folder添加文件。此处可以添加动态文件夹,点开Dynamic Folder Options,如下图所示。也可以不同动态文件夹,看个人习惯。

完成工程所需文件添加后,结构如下图所示:

其中HalLibrary为由STM32Cube_FW_H7中提取出的库文件。

接着是选择Project->Options,在Code->Preprocessor选项下,配置User Include Directories,添加工程所需头文件路径。

同样在的Preprocessor选项下,设置Preprossor Definitions选项,即设置工程代码中的全局宏定义。

上面两个截图中的Macros为工程相关的所有宏定义配置选项,里面有各种工程参数,建议大家看看。

完成上述工作后,就可以开始编译了,按快捷键F7开始编译。编译速度比Uversion和IAR快很多。

 

需要注意的是:目前我们一般用STM32CubeMX所对应的软件包作为源文件,例如STM32Cube_FW_H7,来提供工程所需的库文件,并将库文件和工程放在一块。然而目前 Embedded Studio 官方所提供的STM32库文件和STM32CubeMX所提供的库文件版本并不对应。这会导致编译过程中出现各种稀奇古怪的问题,而且此问题还无法通过修改Include Directories和Macro宏文件来解决这个问题,因为Embedded Studio设置完工程所用器件后,会默认调用所安装器件的库文件。最好的解决方法就是在Embedded Studio库文件安装路径处(库文件安装路径位于C:\Users\xxxxxx\AppData\Local\SEGGER\SEGGER Embedded Studio\V3\Packages\STM32H7xx\CMSIS\Device\Include\HAL_Drivers下),用STM32CubeMX的库文件进行覆盖,保证工程的文件一致。Uversion和IAR不会出现此问题,这算是Embedded Studio特有的BUG吧。如果在添加的系统、调试文件时,勾选了Import all files and package files选项,则只需要在工程所在文件夹中进行覆盖。

另外关于Embedded Studio中文“//”注释出错的问题,哪怕是当前最新版本4.16,目前没有解决办法,无论是GB2312还是UTF8、开启操作系统的UTF8 Support支持还是其他方法,我都试过。要么不用中文,要么别用“//”注释,用“/* */”注释。

  • 5
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值