硬件:某STM32开发板,ST-Link/V2

一、硬件相关:

1、引脚连接:

pin7 <—> SWIO

pin9 <—> SWCLK

pin20/pin18 <—> GND

pin19 <—> +3.3V (如果不使用ST-Link给板子供电,不要接)

 

2、Keil中设置:

1)在Debug下,选择ST-Link Debugger

2)选中ST-Link Debugger后,选择Settings。

3)选择Flash Download,然后添加Programming Algroithm。(我这里是STM32F10x的芯片)

 

二、软件相关:

点击这个:

然后看到个:

我这里是一个GPIO的例子,我添加了:CMSIS-Core(必须)、Device->GPIO(GPIO初始化)、Device->Startup(初始代码)、Device->StdPherphDrivers->GPIO(GPIO控制)、Device->StdPherphDrivers->RCC(时钟控制)。

如果编译报错,那肯定是漏了哪个库了。

如果还是编译出错,缺少stm32f10x_conf.h之类的文件,再设置一下这里:

在Define里添加USE_STDPERIPH_DRIVER,在IncludePaths里添加自己工程所在的目录,并把stm32f10x_conf.h复制到工程所在目录下。(stm32f10x_conf.h可以从KeilV5的目录下找到,不要直接指向该文件,因为每个工程可能会根据需要修改)。

如果你的工程还是编译出错,我已经帮不你了,请自己搜索去吧。

Keil5编译STM32注意事项的更多相关文章

  1. STM32使用cube生成的程序后在keil5编译后首次SWD可以下载再次下载不行的解决办法。

    使用cube配置导出工程在keil5编译后首次SWD下载可以再次下载不行的解决办法. 1原因: cube使用的是HAL库,初始化语句里面禁用了调试功能. 在stm32f1xx_hal_msp.c中 _ ...

  2. 【计算机视觉】关于OpenCV中GPU配置编译的相关事项

    [计算机视觉]关于OpenCV中GPU配置编译的相关事项 标签(空格分隔): [计算机视觉] 前一段发现了OpenCV中关于GPU以及opencl的相关知识,打算升级一下对OpenCV的使用,但是发现 ...

  3. 如何使用keil5将stm32的hal库编译成lib文件——F1版本

    hal库中keil5中编译的速度是比较慢的,相同情况下,每次都要编译的时候,比标准库是要慢很多的,因此就hal库编译成lib文件是一种加快编译速度的方法,当然也有其自身的缺点.一.步骤1.使用cube ...

  4. linux 下 VSCODE 使用CMake编译STM32程序

    项目在做什么 项目地址 本项目是为了研究MCU在linux下开发而做的 --build 存放cmake编译生成的文件 --cmake 存放cmake编译时会用到的文件,比如工具链检查.编译选项等 -- ...

  5. IAR升级之后,编译stm32官方工程报错的解决办法

    IAR升级之后,打开stm32官方例程,编译时提示如下错误: Error[Pe147]: declaration is incompatible with "__nounwind __int ...

  6. KEIL5 使用STM32 官方例程

    1. 安装keil5,破解 网上很多安装包/教程,跳过 2.下载官方固件库 https://www.st.com/content/st_com/en.html 在这里找微处理器,STM32 stand ...

  7. android 编译代码注意事项

    1 安装openjdk1.7 sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-apt update sudo apt-get install op ...

  8. python 安装预编译库注意事项-pip

    一般安装依赖库用pip install 库名 就可以,某些情况下依赖的库需要安装预编译好的, 可以参考pip 安装时的错误信息 下面这个链接中可以直接下载 http://www.lfd.uci.edu ...

  9. keil5编译时出现 MDK-Pro middleware is not allowed with this license

    转载请注明出处:http://blog.csdn.net/qq_26093511/article/details/51700961 最近在用MDK编译一个别人的工程时,有如上提示: 1.原因是没有注册 ...

随机推荐

  1. EasyUI查询

    <script type="text/javascript"> <!-- js --> function search_xxx() { var search ...

  2. 为什么JAVA要提供 wait/notify 机制?是为了避免轮询带来的性能损失

    wait/notify  机制是为了避免轮询带来的性能损失. 为了说清道理,我们用“图书馆借书”这个经典例子来作解释. 一本书同时只能借给一个人.现在有一本书,图书馆已经把这本书借了张三. 在简单的s ...

  3. js join 与 split

    var a = [] var b = [1,2,3] b.push('4')   // b = [1,2,3,4] a = b.join('-')  // a = '1-2-3-4' b = a.sp ...

  4. OOP的几个不常用的方法

    from OOP_多态 import cat c = cat("cat") print(c.__doc__) print(cat.__doc__) # # 打印类的描述信息,也就是 ...

  5. sql批量修改字段内容的语句-SQL技巧

    --update '表名' set 要修改字段名 = replace (要修改字段名,'被替换的特定字符','替换成的字符')--update tRecord set columnName = rep ...

  6. docker实战

    docker基础入门 docker网络

  7. php 框架选择

    背景 很多初级php甚至中级php都会陷入框架选择困难症,要么必须使用什么框架,要么一定不使用什么框架,而对框架的选择带来的效益和负担的成本并不是很清晰 框架大概分为以下这些 1. 简单轻量:tp,c ...

  8. mysql rc模式时binlog_format=row的解释【转】

    总体来说:在 tx_isolation= READ-COMMITTED .binlog_format =statement 的情况下,mysql 没有gap 锁,这样binlog 记录的数据修改的顺序 ...

  9. 对于cnn的理解

    对于神经网络就是给他一个网络各个层之见的传导函数, 之所以这里面用卷积来替代普通的放射函数, 就是因为卷积算的快,hadmard 乘机比矩阵乘法的速度快一个次方,可能都不止. 对于高清晰度的图片算矩阵 ...

  10. tty linux 打开和设置范例

    http://bbs.csdn.net/topics/340184140 /************************************************************** ...