背景

  • 芯片:STM32F103C8T6核心板
  • 开发平台:IAR

安装IAR

官方下载地址:https://www.iar.com/iar-embedded-workbench/#!?device=STM32F103C8&architecture=ARM

安装教程网上资料很多,此处不再赘述。

获取STM32F103X固件库

官方下载地址:http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32-standard-peripheral-libraries.html?querycriteria=productId=LN1939

STM32F103X 开发环境搭建-LMLPHP

搭建基础环境

创建Project

  1. 新建Workspace

    File -> New Workspace
  2. 新建Project

    Project -> Create New Project

    STM32F103X 开发环境搭建-LMLPHP
  3. 保存Workspace

    File -> Save Workspace

添加固件库

本节参考:我要自学网-STM32单片机嵌入式实战教程 第二章

按照下表复制固件库

STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\iar\STM32F10X Template\CMSIS\StartupCortex-M3 内核相关启动代码
CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.h 和 system_stm32f10x.c 和stm32f10x.hSTM32F10X Template\CMSISSTM32 系统配置代码
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\inc文件夹和src 文件夹STM32F10X Template\FWLIBSTM32 外设驱动代码
STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\stm32f10x_conf.h 和stm32f10x_it.cSTM32F10X Template\USERSTM32 中断管理代码
STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\EWARM\stm32f10x_flash.icf 和stm32f10x_flash_extsram.icf 和stm32f10x_nor.icf 和stm32f10x_ram.icfSTM32F10X Template\程序内存分布代码

Tips

如果目标目录不存在,则进行创建

IAR配置

编译头文件路径

右击工程名 -> Options -> C/C++ Compiler -> Preprocessor

在"Additional include directories:"中添加

$PROJ_DIR$\
$PROJ_DIR$\CMSIS\
$PROJ_DIR$\FWLIB\inc\
$PROJ_DIR$\USER\

预定义符号

右击工程名 -> Options -> C/C++ Compiler -> Preprocessor

在"Defined symbols:"中添加

STM32F10X_MD
USE_STDPERIPH_DRIVER

配置芯片

(1) 右击工程名 -> Options -> General Options -> Target -> Device

选择ST -> STM32F1 -> STM32F103 -> STM32F103C8

(2) 右击工程名 -> Options -> General Options -> Library Configuration

在CMSIS中选择Use CMSIS

配置Linker

右击工程名 -> Options -> Linker -> Config

在Linker configuration file中,复选Override default,路径定位到stm32f10x_flash.icf

添加main.c

在USER文件夹中添加main.c文件,并输入如下内容

#include "stm32f10x.h"
#include "stm32f10x_gpio.h" int main()
{
GPIO_SetBits(GPIOA, 0);
return 0;
}

编译

点击Project -> Make

如果无错误则说明环境搭建成功。

05-11 20:04