初识Segger Embedded Studio(SES)


第一次见SES是在“安富莱电子论坛”上,“硬汉”提到SES的一些特性,再加上Jlink的大名,于是试试他们家的IDE。

SES貌似也是基于Eclipse的,安装完成之后,可以继续安装我们需要的器件包,不过提供的器件包并不多。

新建STM32工程

SES是按solution->project来管理项目文件的,一个solution下可以有多个project。

新建一个project,如果安装了器件包,可以直接选择对应的器件包。因为device pack里面的文件可能不是最新的,我习惯使用HAL的库,所以选择Cortex-M

接着选择Device等选项

然后选择需要添加的文件。这里只勾上“thumb_crt0.s”,其他的貌似是“samples”吧

如果勾选了“Import all files and package files”选项,貌似会把device pack里面的文件加进来,记不清了,,ԾㅂԾ,,

一路next,finish,呈现project界面

solution下有一个project,project有多个文件夹,这里的文件夹并不等同于磁盘上的文件夹,只是project呈现出来的结构。貌似这里的folder也分folder和source folder,不过他们都会参与编译呀,搞不太清楚了。

然后整理一下project下的文件夹,添加HAL库文件、启动文件、系统文件等等。

其中系统文件“system_stm32f1xx.c”来自st的hal库,启动文件“xxx_startup.s”和“xxx_vector.s”是在device pack里面copy过来的,路径为:C:\Users\xxx\AppData\Local\SEGGER\SEGGER Embedded Studio\v2\packages\STM32F1xx\Source,我试过用gcc里的startup.s,貌似不可以。

然后配置project property,右键工程名,edit properties。

修改“Build Option”选项下的“Memory Map File”,文件也来自于device pack。

修改“Debugger Options”下“Register Definition File”:

修改“Linker Options”下“Entry Point”,将“reset_handler”改为“Reset_Handler”:

然后添加preprocessor和include路径:

然后Build,debug,编译速度还挺快,debug界面还不错。

Getting Started with STM32 in Segger Embedded Studio的更多相关文章

  1. 【转】SEGGER Embedded Studio 新建stm32f103工程

    @2018-12-22 SEGGER Embedded Studio 新建stm32f103工程

  2. 【性能测评】DSP库,MDK5的AC5,AC6,IAR和Embedded Studio的三角函数性能

    测试条件: 1.IAR8.30开最高等级速度优化. 2.MDK5.27正式版使用AC5开最高等级优化3,开启时间优化,测试C标准库和微库MicroLib两种. 3.MDK5.27正式版使用AC6开最高 ...

  3. arm的开发工具

    网上有free的ide可以开发arm cortex的芯片,可以参考List of ARM Cortex-M development tools,Wikipedia,里面有emIDE,embitz等,虽 ...

  4. Nordic nRF51/nRF52开发环境搭建

    本文将详述Nordic nRF51系列(包括nRF51822/nRF51802/nRF51422等)和nRF52系列(包括nRF52832/nRF52810/nRF52840)开发环境搭建. 1. 强 ...

  5. nRF5 SDK for Mesh(五) Light switch demo 点灯例子

    Light switch demo  灯开demo   Purpose This demo project consists of four sub examples - The light swit ...

  6. nRF5 SDK for Mesh(四) 源码编译

    官方文档教程编译源码: http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk%2Fdita%2Fs ...

  7. nRF5 SDK for Mesh(三) Installing the mesh toolchain 安装编译工具链

    Installing the mesh toolchain To build the example applications, a toolchain based on either CMake o ...

  8. 如何调试nRF5 SDK

    本文将讲述Nordic nRF5 SDK的主要调试手段,以帮助大家快速定位问题,并解决问题.一般来说,你可以通过打log方式,IDE的debug模式,SDK自带的app_error_check函数,以 ...

  9. NRF5340首款双核处理器无线SoC

    nRF5340基于Nordic经过验证并在全球范围广泛采用的nRF51和nRF52系列多协议SoC而构建,同时引入了具有先进安全功能的全新灵活双处理器硬件架构,支持包括蓝牙5.1/低功耗蓝牙 (Blu ...

随机推荐

  1. 201903-2 二十四点 Java

    思路: 数据结构中,栈可以解决运算的问题.利用压栈和弹栈操作实现(这里用队列模拟).具体的: 遇到乘除号,弹出栈顶元素,将计算结果压入栈中.遇到加减号,将后面的数一起压入栈中. 注意: substri ...

  2. 关于github无法访问的问题(转载)

    原文链接:https://blog.csdn.net/qq_32239767/article/details/80180560 连续几天了github一直都无法访问,宿舍几台电脑我都试了,排除了自己电 ...

  3. mysql第四篇:数据操作之单表查询

    单表查询 一.简单查询 -- 创建表 DROP TABLE IF EXISTS `person`; CREATE TABLE `person` ( `id` ) NOT NULL AUTO_INCRE ...

  4. 2020PHP面试-SQL篇

    一.乐观锁和悲观锁 1.悲观锁是指假设并发更新会发生冲突,不管冲突是否会发生,都会使用锁机制. 优点: 完全保证数据安全. 缺点:锁机制会有额外开销,并发度降低. 可能会产生死锁. 2. 乐观锁是指假 ...

  5. shell教程<入门篇>

    由于我平时的工作环境是linux,所以无可避免的经常使用命令行模式和shell脚本,而且有些命令行每天都要输好多遍,比如ssh登录之类的,所以干脆把平时常用的命令都写成脚本文件,所以特意开了一个she ...

  6. python try catch 打印traceback

    1. import traceback try: print(AB) except Exception, e: traceback.print_exc()

  7. [安洵杯 2019]easy_web

    0x00 知识点 md5强类型的绕过 方法比较固定: POST: a=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%d ...

  8. Vue 指令 v-text v-html

    有三个指令达到的效果是一样的 {{JS表达式}}  差值表达式 v-text="JS表达式" v-html="JS表达式"   //会自动解析tag js表达式 ...

  9. shell字典使用

    1.shell界面或脚本中 pcode=(["10"]="BeiJing" ["22"]="TianJin") echo ...

  10. [C/C++]编程规范一:头文件篇

    一般来说,每一个.cc或者.cpp文件对应一个头文件(.h文件),当然,也有例外,例如一些测试单元或者main文件,头文件的一些规范可以令代码可读性.程序的性能等大为改观,所以还是要注意头文件的规范问 ...