|
第1章 嵌入式基础
1.1 嵌入式的概述
1.1.1 嵌入式的含义
嵌入式系统,是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”。
1.1.2 嵌入式的用途
嵌入式系统用于控制、监视或者辅助操作机器和设备的装置。
1.1.3 生活中常见的嵌入式产品
空调、洗衣机、冰箱、微波炉、消毒柜等。
1.1.4 嵌入式单片机与PC电脑的区别
1.1.5 单片机分类
主要分为两大类:51单片机、ARM单片机
51单片机:厂商---->STC(主要)、Atmel、凌阳单片机
ARM单片机:厂商--->ST、NXP、TI、飞思卡尔、瑞萨
1.1.6 ARM微处理器的应用领域
工控领域:PID算法、MODEBUS总线
路由器、交换机:TCP/IP协议、UIP协议
汽车电子:CAN总线
物联网:zigbee协议、NB-IOT
消费电子:Linux系统
模拟电子:DSP
1.1.7ARM处理器系列
ARM处理器的发展史:
ARM7/9/11----ARM架构的V4/V5
2008年ARM公司将芯片分为三类
A系列:主频较高,一般用于消费电子、路由器、服务器
R系列:军用
M系列:主频较低,一般用于工控
1.2 单片机内核种类
1.2.1 Corter-M系列芯片分类
意法半导体芯片为例:
Cortex-M0:主频为48M,一般用于低功耗
Cortex-M3:主频为72M,一般用于工控
Cortex-M4:主频为168M,一般用于电源管理
1.2.2 STM32F40x系列命名规则
目前使用的芯片型号:STM32F407ZGT6
ST:芯片厂商意法半导体公司的简称
M:Cortex-M系列
32:32位处理器
F:通用型产品
407:芯片系列型号
Z:芯片引脚数量(144Pin)
G:内存ROM容量(1024K)
T:芯片封装形状(四面表贴封装)
6:芯片工作温度(-40~85℃)
1.2.3 STM32F40xZGT6芯片内部资源
芯片选型手册:
Flash:1M字节
RAM:192K字节
定时器:14个
看门狗:2个
RTC1:个
24位递减计数器(系统滴答定时器):1个
模数转换器(ADC):24个
数模转换器(DAC):2个
IO口:114个
SPI:3个
IIS:2个
IIC:3个
UART:6个
USB:2个
CAN:3个
SDIO:1个
带以太网接口:1个
STM32F407ZGT6内部结构:(STM32手册中的图)
1.3 STM32F40x最小系统
1.3.1 最小系统概念
最小系统:
能够让MCU工作的最小单元
1.3.2 最小系统的构成
主控芯片
STM32F407ZGT6
电源电路
一切电路的“必须品”
当前芯片使用COMS电平(3.3V供电)
时钟电路
让MCU工作的心跳节拍
分类:RC振荡电路、晶振(有源、无源)、表面式声波振荡器
当前使用晶振(无源),25M
复位电路
让MCU重新从main函数开始执行的电路
STM32F407ZGT6复位:低电平复位(按键按下复位、上电复位)
51单片机复位方式:高电平复位
启动方式
BOOT0置低电平--正常工作模式
BOOT0置高低平,BOOT1为低电平—ISP下载模式
BOOT0置高低平,BOOT1为高电平—调试模式
1.4 搭建开发环境
1.4.1 安装MDK5
路径问题:
安装路径一般不装在C盘
路径最好不要包含中文、空格、特殊字符
MDK5与Keil uVision5问题:
安装完MDK5后,软件的名字为:Keil uVision5
1.4.2 软件注册
1.双击注册Keil_ARM_MDK_5软件(解压不了,请关闭系统杀毒软件)
2.以管理身份运行Keil uVision5
3.复制相应CID,到注册软件中获取注册码。
1.4.3 安装芯片支持包
M4的芯片支持包---->Keil_STM32F4xx_DSP.2.7.0
1.4.4 安装ST-Link驱动
注意win7与win10的驱动不一样的。
1.4.5 安装CH340驱动
使用串口烧录代码需要下载的驱动
1.5 新建工程
1.5.1 新建工程
在存放项目的地方,新建一个文件夹,取名project_demo
复制芯片启动文件相关文件夹CMSIS到project_demo中
在project_demo中新建一个USER,文件夹,存放自己编写的程序
1.5.2 项目添加到KEIL软件
在KEIL中新建一个项目,选择对应芯片
把project_demo项目添加到软件工程项目中
1.5.3 软件工程项目配置
添加全局宏
添加头文件路径
选择ST-LINK调试
SW/JTAG(可被用于输出口了)---一般选择SW
勾选Reset and Run,下载程序自动运行
添加Flash
1.5.4 编写与编译程序
Main是程序的入口
1.5.5 下载代码
ST-LINK下载
串口下载
|
|