【STM32单片机学习】第三课:开发板介绍和Keil环境搭建

【朱老师课程总结 侵删】

第一部分、章节目录

3.3.1.STM32开发板详细介绍

3.3.2.STM32开发板ISP下载原理分析

3.3.3.STM32F4的浮点运算单元

3.3.4.MDK5的开发环境搭建和介绍


第三部分、随堂记录

3.3.1.STM32开发板详细介绍

3.3.1.1、开发板整体介绍
(1)各种外设和主板原理图

  • 之前在STC51中使用的外设,都可以在这里使用!
  • STM32F103C8原理图下载地址

(2)主板供电部分5V和3.3V兼容设计


3.3.1.2、STM32核心板介绍
(1)核心板外观介绍

(2)核心板在底板安装
如上图

3.3.1.3、核心板原理图
(1)晶振
(2)电源
(3)CAN接口
(4)引脚定义和底板的映射关系

  • 以后可以先去看原理图去分析需要哪些引脚,然后去IO引脚图通过红字找对应的引脚P


 

3.3.2.STM32开发板ISP下载原理分析

3.3.2.1、USB下载分析
(1) 下载流程手册
(2) STM32程序下载实操

3.3.2.2、ISP下载原理分析

(1)ISP原理回顾。

  • 第1步:先设置BOOT1和BOOT0从系统区启动,执行系统中预设的程序
  • 第2步:主机通过串口发送要下载的hex文件给STM32
  • 第3步:系统预设的程序接收到hex后将其烧录到用户区flash中
  • 第4步:设置BOOT1和BOOT0为从用户区启动,然后复位重启执行刚才下载的hex即可

(2)BOOT引脚设置

  • BOOT1始终为0
  • BOOT0在ISP时要为1,正常运行时要为0。
  • BOOT0和BOOT1是通过挑帽控制的

3.3.2.3、复位电路设计
(1)上电复位
(2)RSTK复位按键复位
(3)ISP下载后受控复位,被RSTK1控制


3.3.3.STM32F4的浮点运算单元

3.3.3.1、浮点运算基础—组成原理
(1)什么是浮点运算:浮点数的运算,并不是所有的CPU都支持浮点运算
(2)浮点计算的2种实现方法:

  • 软浮点
    通过浮点库去实现浮点运算的,效率低,成本低!
    编译环境支持浮点库,可以将用C语言写的浮点数运算转成整形运算,对于单片机来说根本不知道float、double这回事,所以单片机不需要有专门的浮点运算单元就可以算浮点数了。
  • 硬浮点
    通过浮点运算单元(FPU)来完成的,效率高,成本高!

(3)浮点运算单元的使用

  • F4支持FPU,但是不是一定要用,需要配置
  • 使用的方法:下载FPU库和编译选项,在Keil5中Target中打开/关闭

3.3.3.2、F4的浮点运算学习
(1)FPU:单精度浮点单元
参考《Cortex M3与M4权威指南.pdf》
1、F4内部FPU只能算float不能算double
2、F4内部FPU只能算float的简单加减乘除,不能算float的sin、cos等复杂运算
理想效果:我们编程时不需要考虑CPU的软浮点或者硬浮点特性,直接用C编程实现功能,然后设置好后直接编译。
                  按照这样的规则编译:浮点运算可以用硬浮点时用FPU,如果不能用硬浮点就自动用软浮点来实现。

项目中用到大量double浮点时或者大量sin cos时,F4的FPU是无效的,这时建议用F1+DSP(是库函数)介绍链接


3.3.4.MDK5的开发环境搭建和介绍

3.3.4.1、MDK5的引入  下载安装注册链接
(1)MDK5和keil C51的关系

  • 都是keil公司(现被ARM收购)的两款软件,其安装方法和破解方法一样!
  • c51不需要下载器件支持包,MDK5需要根据开发板型号安装对应的器件支持包

(2)Keil官网中MDK5和keil C51是分离的

  • 需要分别单独安装破解

(3)MDK5和Keil C51可以在同一windows中共存

  • 可以共用一个图标

(4)MDK5和MDK4的不同

  • MDK4下载之后,器件支持包也安装成功,但是有很多用不到,而且有的型号还没有(比如F4系列)
  • MDK5下载之后,用户可以选择性的在线/离线安装器件支持包,一般选择离线安装,在线下载的很慢

3.3.4.2、MDK5的使用体验
(1)打开工程并且编译、下载
(2)菜单栏浏览—以及如何新建

猜你喜欢

转载自blog.csdn.net/qq_27148893/article/details/111415709