STM32学习笔记——二、Keil5等软件安装、配置、程序烧录

1、软件下载

Keil软件下载地址:https://www.keil.com/demo/eval/arm.htm
在这里插入图片描述

STM32F1芯片包:http://www.keil.com/dd2/pack/
https://www.keil.arm.com/subfamily/stmicroelectronics-stm32f103/
![在这里插入图片描述](https://img-blog.csdnimg.cn/2ed60400ba0f4b87a8ff9aad4922790f.jpeg#pic_center

2、Keil5安装

2.1Keil安装

  1. 右击exe图标,以管理员身份运行
  2. 按照流程进行安装、更改安装路径、填写信息的全填空格就可以
  3. 等待安装完成
  4. 安装结束后弹出“Packs Install”界面,点击右上角叉关掉就可以

2.2 STM32F1芯片包安装

  1. 双击下载的芯片包exe文件进行安装

  2. 安装路径自己会默认更改到上面Keil安装目录下
    在这里插入图片描述

  3. 等待安装结束

2.3 芯片包安装过程遇到的问题

  1. 安装过程中不断弹出报错:SVDConv extied with an error. No uVision SystemViewewer file created.
    在这里插入图片描述解决办法:1、要么是Keil5的版本太低了,下载高版本的Keil5软件重新安装。2、或者是STM32F1芯片包的版本太高了,下载个低版本的芯片包安装

3 Keil的激活

  1. 在网络上下载Keil5注册机(只供学习使用)
  2. 打开安装好的Keil软件,打开注册机exe软件
  3. Keil工具栏点击File下的License Management,将软件的标识码复制到注册机中,更改注册机的Target为ARM,生成注册码,复制回Keil中,再Keil中点击ADD LIC,即可完成注册,可以看到生成一行内容,显示激活截止时间。
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
    在这里插入图片描述4. 破解时遇到You are not logged in as an ‘Administrator’ and… …错误提示,关闭软件,以管理员身份运行程序,重新进行上述步骤便可以成功。在这里插入图片描述

4 Keil中用ST-LINK/V2给STM32单片机烧录程序

  1. 在Keil中打开一个工程程序
    在这里插入图片描述
  2. 烧录器与单片机连接
STM32RSTTCKGNDTMS3V3
ST-LINK/V21、RST6、SWCLK4、GND2、SWDIO8、3.3V
  • 找到对应STM32和烧录器对应引脚进行连接就可以
  • TCK 、GND 、 TMS三个为必接引脚
  • RST可以连接也可以不连接,主要作用为烧录程序后单片机自动初始化,不连接需要自己手动按单片机的RST按钮,程序才可以运行
  • 3v3也可以不接
    在这里插入图片描述

单片机与烧录器接线图
3. 点击Options for target图标进行相关参数配置
请添加图片描述- 选择和STM32对应的芯片(一定要第一步选择,否则后面选择的话配置的参数会被重置,需要重新配置)
请添加图片描述- 配置编译选项,因为目前的单片机源码资料都比较老,所以需要选择老版本verrsion5后,再次进行编译,否则会出现很多不是错误的错误(如果没有version 5的选项,可以参考知乎大佬的增加教程,我就是按照这个成功的增加version5选项请添加图片描述

  • 配置烧录器选项
    选择对应版本烧录器ST-LINK Debugger请添加图片描述选择setting进行配置
    在这里插入图片描述主要设置烧录方式为SW(同时如果单片机、烧录器和电脑连接成功的话,左上角会显示出烧录器型号,右上角会显示出单片机设备信息)
    在这里插入图片描述连接Rst引脚的情况下,可以将Reset and Run选项选择,这样烧录完程序,单片机会自动重启运行新程序。
    在这里插入图片描述

  • 编译程序,点击编译按钮编译(无错误)
    在这里插入图片描述

  • 烧录程序,点击烧录按钮烧录程序
    请添加图片描述

5 总结

  • 单片机的细节比较多,需要特别注意,不要忽略细节,找错误可能会耗费大量时间
STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存 = 芯片内置的Flash。 2)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区 域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。 3)SRAM = 芯片内置的RAM区,就是内存啦。            在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序,见下表: BOOT1=x   BOOT0=0   从用户闪存启动,这是正常的工作模式。 BOOT1=0   BOOT0=1   从系统存储器启动,这种模式启动的程序功能由厂家设置。 BOOT1=1   BOOT0=1   从内置SRAM启动,这种模式可以用于调试。         在系统复位后, SYSCLK的第4个上升沿, BOOT引脚的值将被锁存。用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。         在从待机模式退出时, BOOT引脚的值将被被重新锁存;因此,在待机模式下BOOT引脚应保持为需要的启动配置。在启动延迟之后, CPU从地址0x0000 0000获取堆栈顶的地址,并从启动存储器的0x0000 0004指示的地址开始执行代码。        因为固定的存储器映像,代码区始终从地址0x0000 0000开始(通过ICode和DCode总线访问),而数据区(SRAM)始终从地址0x2000 0000开始(通过系统总线访问)。 Cortex-M3的CPU始终从ICode总线获取复位向量,即启动仅适合于从代码区开始(典型地从Flash启动)。 STM32F10xxx微控制器实现了一个特殊的机制,系统可以不仅仅从Flash存储器或系统存储器启动,还可以从内置SRAM启动。         根据选定的启动模式,主闪存存储器、系统存储器或SRAM可以按照以下方式访问: ● 从主闪存存储器启动:主闪存存储器被映射到启动空间(0x0000 0000),但仍然能够在它原有的地址(0x0800 0000)访问它,即闪存存储器的内容可以在两个地址区域访问, 0x0000 0000 或 0x0800 0000。 ● 从系统存储器启动:系统存储器被映射到启动空间(0x0000 0000),但仍然能够在它原有的地址(互联型产品原有地址为0x1FFF B000,其它产品原有地址为0x1FFF F000)访问它。(可用于串口下载) ● 从内置SRAM启动:只能在0x2000 0000开始的地址区访问SRAM。 注意: 当从内置SRAM启动,在应用程序的初始化代码中,必须使用NVIC的异常表和偏移寄存器,从新映射向量表之SRAM中。 ————————————————
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值