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 ...
随机推荐
- String中的两种实例化方式的区别
直接赋值:(String str = "字符串");只会开辟一块堆内存空间,并且会自动保存在对象池中以供下次重复使用. 构造方法:(String str = new String ...
- 34、锁问题与线程queue
上一篇随笔我们学了全局解释器锁,前面也学了互斥锁,今天学习一些与锁相关的点,例如递归锁,信号量,Event,还会学习我们已经很熟悉的队列,不过这次的队列是作为一个模块出现的. 一.同步锁 1.join ...
- 最长单词(一星级题目) 本来是很简单的,其实就是加个flag
随机了一个题目: 给一个词典,找出其中所有最长的单词. 这道题对于初学者还是很有用的,毕竟用的逻辑是比较复杂的 样例 在词典 { "dog", "google" ...
- ID3算法(2)
今天,我来讲解的是决策树.对于决策树来说,主要有两种算法:ID3算法和C4.5算法.C4.5算法是 对ID3算法的改进.今天主要先讲ID3算法,之后会讲C4.5算法和随机森林等. Contents ...
- ZOJ 3811 Untrusted Patrol The 2014 ACM-ICPC Asia Mudanjiang Regional First Round
Description Edward is a rich man. He owns a large factory for health drink production. As a matter o ...
- 2017年9月3日 Spring及Mybatis中连接数据库的不同方式
连接数据库用spring和mybatis中使用的方法可以不同,mybaits可以不用写数据库的配置文件 Spring的连接方法 <!-- 读取属性文件(.properties)的内容 --> ...
- [转]RMI方式Ehcache集群的源码分析
RMI方式Ehcache集群的源码分析 Ehcache不仅支持基本的内存缓存,还支持多种方式将本地内存中的缓存同步到其他使用Ehcache的服务器中,形成集群.如下图所示: Ehcache支持 ...
- 【打死树莓派】-树莓派3代jessie+Opencv-解决安装不了libgtk2.0-dev包问题
按照国际法先贴问题 Some packages could not be installed. This may mean that you have requested an impossible ...
- Java企业微信开发_09_身份验证之移动端网页授权(有完整项目源码)
注: 源码已上传github: https://github.com/shirayner/WeiXin_QiYe_Demo 一.本节要点 1.1 授权回调域(可信域名) 在开始使用网页授权之前,需要先 ...
- css编写注意事项(不定时更新)
CSS的编写是需要积累的,而一个好的css编写习惯对我们将来的成长是非常有利的,我会把我平时看到的或者遇到的会不定时的更新到这里,不时翻一下,但求有所进步. 如果各位看官也有看法和建议,评论下,我也会 ...
