STM32F103X 开发环境搭建
背景
- 芯片:STM32F103C8T6核心板
- 开发平台:IAR
安装IAR
官方下载地址:https://www.iar.com/iar-embedded-workbench/#!?device=STM32F103C8&architecture=ARM
安装教程网上资料很多,此处不再赘述。
获取STM32F103X固件库
搭建基础环境
创建Project
- 新建Workspace
File -> New Workspace - 新建Project
Project -> Create New Project

- 保存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
如果无错误则说明环境搭建成功。
STM32F103X 开发环境搭建的更多相关文章
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- IntelliJ IDEA安装及jsp开发环境搭建
一.前言 现在.net国内市场不怎么好,公司整个.net组技术转型,就个人来说还是更喜欢.net,毕竟不是什么公司都像微软一样财大气粗开发出VS这样的宇宙级IDE供开发者使用,双击sln即可打开项目, ...
- Qt for Android开发环境搭建及测试过程记录
最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...
- node.js之开发环境搭建
一.安装linux系统 (已安装linux可跳此步骤) 虚拟机推荐选择:VirtualBox 或者 Vmware (专业版永久激活码:5A02H-AU243-TZJ49-GTC7K-3C61N) 我这 ...
- TODO:小程序开发环境搭建
TODO:小程序开发环境搭建 1.第一步当然是要先注册小程序了 2.登录到小程序 a)完善小程序信息,如名称,图标,描述 3.绑定开发者 4.获取AppID,并设置服务器信息 5.下载并安装开发者工具 ...
- Eclipse中Python开发环境搭建
Eclipse中Python开发环境搭建 目 录 1.背景介绍 2.Python安装 3.插件PyDev安装 4.测试Demo演示 一.背景介绍 Eclipse是一款基于Java的可扩展开发平台. ...
- Windows 10 IoT Serials 1 - 针对Minnow Board MAX的Windows 10 IoT开发环境搭建
目前,微软针对Windows IoT计划支持的硬件包括树莓派2,Minnow Board MAX 和Galileo (Gen 1和Gen 2).其中,Galileo (Gen 1和Gen 2)运行的是 ...
- Eclipse swt开发环境搭建
原料: eclipse swt.下载链接为: Eclipse 4.6.2 Release Build: 4.6.2 配置说明: Developing SWT applications using Ec ...
- Ionic- Android 开发环境搭建
Ionic- Android 开发环境搭建 为时一周的IONIC ADNROID 环境终于在各种处理错误中搭建成功,以下记录下搭建过程中遇到的各种情况的处理办法. 一 首先,当然是enviroment ...
随机推荐
- ajax提交汉字到后台保存时乱码问题!
前端(转换): var param = XXXXXXXXXXXXXXXXXX; param = decodeURIComponent(param,true); param = encodeURI(pa ...
- Java自定义注解及使用
本文通过一个简单的例子展示注解的工作原理. 1.声明注解类型 @Target(value = ElementType.METHOD) //声明该注解的运行目标: 方法 @Retention(value ...
- 没有基础如何学习web渗透测试?
如果只是因为感兴趣玩玩的话,你可以不需要学习太多的脚本程序. 但是以下条件要具备 1.能看懂教程:能理解原理,例如解析漏洞,sql注入逻辑等 2.前端代码审计:html js css 3.主流工具的使 ...
- 【渗透笔记】利用逻辑漏洞批量拿GOV EDU
前言: 这个Oday是以前就有的,不过都没有人出过详细的使用教程,昨天帮群里某学院拿了他们的学校之后突然想起来这个Oday,而且实用性还很强,所以我就想分享到这里来了 关键字:inurl:sitese ...
- 420小时学习代码之后:如何教你免费自学Python
原文地址:learning-to-code-420-hours-later-how-to-teach-yourself-python-for-free 说明:有些网址需要FQ. 大约在1.5年前,我开 ...
- OC
一,字符串 1创建一个字符串 1) NSString *str2=[[NSString alloc]initWithString:str1]; 2) NSString *string2=[[NSSt ...
- Python学习笔记3
__slots__ 如果我们想要限制class的属性怎么办?比如,只允许对Student实例添加name和age属性. 为了达到限制的目的,Python允许在定义class的时候,定义一个特殊的__s ...
- photoshop软件应用手记
------------------------常用图片格式------------------------ 位图和矢量图 位图也叫点阵图,是由一个个的方形的像素点排列在一起拼接而成的,位图在放大时, ...
- IT团队之非正式沟通
沟通能力是一种能证明和让对方发现你具有社会工作能力的能力.从表面上看来,它只是一种能说会道的能力,可实际上它却包罗了一个人从穿衣打扮到言谈举止等一切行为的能力. 从大体上,我将沟通分为正式沟通 ...
- Google的SPDY协议成为HTTP 2.0的基础
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt384 据TNW援引 IFTF HTTP 工作组主席 Mark Notting ...
