SEGGER Embedded Studio入门教程


下载软件

首先进入   https://www.segger.com/downloads/embedded-studio/ 下载Embedded Studio,注意系统配置下载对应版本。

 下载好后,下一步,下一步就安装完了。这里个人建议,同时安装Visual Studio 2019开发工具,可以写C/C++等等应用的,也会给PC装一些必要的依赖DLL文件,真香定律!!

安装支持包

先准备好STM32的官方固件库,可以通过各种方法下载到,我当前用的是:

打开embedded-studio;在Tools下安装支持包:

只要安装如下支持包就可以:

我手上有一块STM32F103VET6的核心板,所以找到ST的CPU接口文件包:

 好了,支持包安装完成。

创建STM32工程项目

打开Embedded Studio,左上角File-->New Project...后出现下图对话框:

点击Next,选择芯片型号或者相似型号(国产芯片很多是兼容芯片):如下图:

 点击Next,出现如下对话框:

  点击Next, 再点击Next,直到完成。

直接按F7,如上图所示发现是编译成功的!!这是最原始的建工程方法,只有一些关键的文件

增加STM32固件库信息

在工程中增加Libraries文件夹,并贴加Libraries内的相应文件:

下面来配置参数和路经:

继续,找到Preprocessor并点击它,在右边出现我们要设置的参数:

宏定义内容如下: 

用户路经如下,主要是固件库的Libraries内容:

然后在原官方固件库中,查找到stm32f10x_conf.h,复制作到我们工程中:

把main.c改成如下内容:

#include "stm32f10x.h"

//---------------------------------------------------------------------------
void main()
{  

  //SystemInit();

  /* GPIOD Periph clock enable */
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

  /* Configure PC6 in output pushpull mode */
  GPIO_InitTypeDef GPIO_InitStructure;
  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_6;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOC, &GPIO_InitStructure);

// ESE test!
long aa;
while(1){
             /* Set PC6 */
          GPIOC->BSRR = 0x00000040;
          aa=0XFFFFF;
          while(aa--);

          /* Reset PC6 */
          GPIOC->BRR  = 0x00000040; 
          aa=0XFFFFF;
          while(aa--);
        }
    }

最后进行Build编译,发现编译成功了。

在线仿真,点Debug --->go,也能正进入仿真了,开发板上的LED灯闪亮起来了。

 到此为止,算是完成STM32的工程建立和测试了。

其它设置项目

 下图中Compiler的gcc,我觉得都要改成clang,好是比GCC强一点

 

关键文件的认知

SEGGER_THUMB_Startup.s     这个是IDE必备文件,但我发现同一内核的这文件,是一样一样的,所以什么M0  M4芯片的,只要能运行正常的。

就可以直接放在同核国产芯片使用。

Cortex_M_Startup.s    这个是通用的M启动文件, 包含了0-15号中断的标准内核中断信息;不包含外设的中断号,要用户跟据芯片自己在这个S文件写入;

STM32F1xx_Startup.s   这是专用XX芯片的启动文件,里面有个代码,调用了另一个S文件,这个文件包含了所有芯片的中断号;它的代码是:

STM32F103xx_Vectors.s 就是芯片厂家写好中断向量表,这是回应上面的代码的: 

STM32F1xx_Flash.icf  这个与IAR的ICF用的指令完全一模一样,所以呢?哈哈 

虽然不精通这些汇编,但我能感觉到,它的使用原理和方法。 

所以,有了上述信息后,只要是M0  ,M3 ,M4这些芯片,我们可以自己重写这些文件,来支持任何国产芯片了!!

Embedded Studio启动原理:在IDE中配置参数,会直接被ICF所使用,再执行通用CMx_startup启动文件,

最后执行SEGGER_THUMB_Startup.s文件,来到main()世界!!

=== END ===

相关