STM32F103X 开发环境搭建

背景

  • 芯片: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

搭建基础环境

创建Project

  1. 新建Workspace
    File -> New Workspace
  2. 新建Project
    Project -> Create New Project
  3. 保存Workspace
    File -> Save Workspace

添加固件库

本节参考:我要自学网-STM32单片机嵌入式实战教程 第二章
按照下表复制固件库

固件库路径 工程路径 备注
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\iar\ STM32F10X Template\CMSIS\Startup Cortex-M3 内核相关启动代码
CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.h 和 system_stm32f10x.c 和stm32f10x.h STM32F10X Template\CMSIS STM32 系统配置代码
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\inc文件夹和src 文件夹 STM32F10X Template\FWLIB STM32 外设驱动代码
STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\stm32f10x_conf.h 和stm32f10x_it.c STM32F10X Template\USER STM32 中断管理代码
STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\EWARM\stm32f10x_flash.icf 和stm32f10x_flash_extsram.icf 和stm32f10x_nor.icf 和stm32f10x_ram.icf STM32F10X 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
如果无错误则说明环境搭建成功。

posted @ 2017-09-25 11:32  雨中尘埃  阅读(8067)  评论(0编辑  收藏  举报