湖南大学 嵌入式开发与应用(张自红)教案_第1页
湖南大学 嵌入式开发与应用(张自红)教案_第2页
湖南大学 嵌入式开发与应用(张自红)教案_第3页
湖南大学 嵌入式开发与应用(张自红)教案_第4页
湖南大学 嵌入式开发与应用(张自红)教案_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程教案1

周次:第一周教学班级:3*|教学地点:***时间:***年**月**日

课时安排:4学时教学课型:型论课E实验课口习题课口实践保口其它口

题目(教学章、节或主题)

第1章STM32简介

1.1意法半导体概述

1.2STM发展历程

1.2.1超低功耗ARMCortex™-M3微控制器

1.2.2超低功耗ARMCortcx™-MO微控制器

1.3MCU主要发展方向

1.4STM32生态系统与物联网

1.5如何学习STM32

1.6程序下载器

教学重点:

1、M3微控制器、M0微控制器的性能与区别

2、ARM发展方向

3、STM32生态系统

4、STM32学习方法

教学难点:

1、STM32生态系统

2、STM32学习方法

教学方式、手段、媒介:

教学方式:讲授

手段、媒介:多媒体、板书、现场开发板演示

教学内容:

1、STM发展历程

2007-2018,量产11个系列

首个低功耗苜个高性能人款超低功超低力杼皿=:i

Cortex-MM4/168MHz起体切就M4方向

首个首个高性能入门缴0首个9tex-H7核心+L4核

Cortex-M120MHz/90nmM0内核M7核心心

200720092010201120122013201420152016-20172018

STM发展历程

蕃•Cortex-A15

SCortex-A9

•Cortex-A8..>高悻能实

•ARMU•Cortex-R4F

®Cortex_R4

•ARM9ESCortex-M4应用

■■..■

SCortex_M3

•ARM7TDMI•Cortex-Mi•Cortex-N0

200320052009未来

2、超低功耗ARMCortex™-M3、MO微控制器

3、如何学习STM32

初学入门,最好选用库开发,库里面有大量的示例代码。STM32现在学习资料很多,

教程也很多。选用一家的代码作为参考即可。先运行程序看效果,然后根据教程理解代码

的实现原理。

库开发还是寄存器开发?这是初学者学习STM32最常遇到的问题,之前在学习51等

单片机的时候基本上用的寄存器开发,由于STM32过于庞大,最好采用库开发。把这个内

容学完后,可以用寄存器验证一下即可,没必要花大量的时间。如果有时间,建议把时间

花在嵌入式系统学习上,比如ucos、freeOS等。

4、程序下载器

J-Link.U-Link.ST-Link、JTAG、SWD都是下载器用到的术语。首先这几个可以分为

两类,JTAG、SWD是两种仿真模式,而j-Link、U-Link、ST-Link都是仿真器件,一般的

这几个仿真器件后面都有JTAG接口。

JTAG:(JointTestActionGroup联合测试行动小组)是一种国际标准测试协议

(IEEE1149.1兼容),主要用于芯片内部测试。现在多数的高级新品,例如DSP,FPGA都

支持。

SWD;跟JTAG一样,是一种仿真模式,只不过对比JTAG他有以下的特点。

板书或PPT设计:

1.2sixKJKMV

1.4snwr6叁株

6en^i»RK内心了

—tHfttmXMbna・9・KAKrt^CTSM

•u»iai«»K^TWRttrm«AMM.a5Mii2Mr豪玲

v«e>5na«t>UEKABQXKMMA-

的TBWvir.ijHbj,a*•Re■•三■£

a-t-MMStTM*£tf*MS9trv-

AZtXM>JCO.Irt*-39P***■・BBW*SWf•

KHt^c^itxMiiwa',上eitMMxsa.

2020

lHanks

第1・STM32A介关

讨论、思考题、作业:

简述J-Link、U-Link.ST-Link.JTAG、SWD功能及其作用。

参考书目:

1、《STM32库开发实战指南》刘火良,机械工业出版社。2014g4月

2、正点原子论坛:www.openedv.com

3、野火论坛:www.firebbs.com

课程教案2

周次:第二周教学班级:***|教学地点:***时间:***年**月**日

课时安排:4学时教学课型:理论课E实验课口习题课口实践课口其它口

题目(教学章、节目在题)

第2章STM32系统£吉构

2.1STM32命名规则及选型

2.2Cortex概述

2.2.1ARM处理器架构发展

2.2.2Cortex-M3结构

2.2.3STM32F1高中低密度结构

2.2.4STM32F1工作模式

2.2.5CM3存储器映射及位带技术

2.3Cortex微控制器软件接口标准

2.4Cortex微控制器最小系统

2.4.1封13类型和PCB封装

2.4.2电费

2.4.3复位电路

2.4.4STM32外部内部强荡器

2.4.5启勾b引脚和在线编程

2.5实验板原型

教学重点:

1、STM32命名规则及选型

2、Cortex-M3结构

3、STM32F1工作模式

4、CM3存储器映射及位带技术

5、微控制器最小系统设计方法

6、启动引脚和在线编程

教学难点:

1、CM3存储器映射及位带技术

教学方式、手段、媒介:

教学方式:讲授

手段、媒介:多媒体、板书、现场开发板演示

教学内容:

1、STM32命名规则及选型

STM32F103xx是一个完整的系列,其成员之间是完全地脚对脚兼容,软件和功能上也

兼容。STM32F103xC.STM32F103xD和STM32F103xE增强型系列使用高性能的ARM*Cortex

™-M32位的RISC内核,工作频率为72MHz,内置高速存储器(高达512K字节的闪存和64K

字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。所有型号的器件都包

含12位的ADC、通用16位定时器和PWM定时器,还包含标准和先进的通信接口:I2C接

口、SPI接口、12s接口、SDI0接口、USART接口、USB接口和CAN接口,它们根据分装

的不同,该部分通信接口数量有所不同。

CBT6

ST鼻牌32位MCU包装方式:

产品类型:TR:^6)XXX:盘装

L:低电压(165-36V)j内部代码:

F:类型中FOxx和F1xx系歹忱2g3.6V.A:48/32M封装,Blank:2820脚时装

FZofOF4xx系列为1S3.6V,温度苑例:

君支系统芯片开发版

W:6:-40-85X;(工飒.7:-40-105V(工业级)

产鼻子系列________________________________

封装:

050:ARMCOflexM)内核j051:ARMCortex-MO内核j

T:LQFPjH:BGA>U:VFQFPNjY:WLCSP/WLCSP64j

100:ARMC0flex-M3FW,超fflSb

101;ARMC0rtex-M3f*rtg,基本31;Figh存存容量:

102:ARMC0flex-M3fW,USBg本型;4:16KBflash(d'Bl):6:32KBflash(小容量);8:64K0nasn(中容量》

103:ARMC0flex-M3F*rtg,鹤型;B:128KBflash(中容*):C:256KBflash(大容,);D:384KBflash(大百,)

105:ARMCortex-M3f*rtg,US8互收租;E:512KBflash(大容量);F:768KBflash(大夺量):G:iMKBnasn(大容量)

107:ARMCortex*l3内核,USS互联巡、以太两酎ffwa:

108:ARMCortex~3雌,EEE8O21540)F:20PIN;G:2SP»0K:32PINjT:36P»0H;40PIN>C:48P1N,U:63ANj

151:ARMCortex-M3FW>襁LCDjR;64P1N)Os90P1N,Vs100PINQ:132PIN,Z:144PIN;I:176P1N,

152/162:ARMC0rtex-M3F*}U,带LCDj

205/207:ARMCOftex-M30H5,不加密模块

215/217:ARMC0rtex-M3^,加密模块

405/407;ARMCOflex-M4FM5,不加军税块

基本功能STH32FIO7

最高512K字节Flash

2-5XUSART

STH32FI05

1-3XSPI

省略

1-2XHC

2-4X16位定时器

主振荡小

RC振荡器32kHz+8MHz

2X后门狗

RST复位/电压检洪

7-12通道DMASTM32FI01

(36M1IZA(16K字节、(1个12位、

80%通用10ICPU八SRXM人ADCJ

sYumioinoy©

Si

LQKH>4(:0X1O)LQf-T100(14XH)BGAlOOdOX10)L0TH4(2OX20)BGA144(1OX10)

2、Cortex-M3结构

寄存器组跟

NX跟

外部中V控

I码

元算术逻辑单元

L信

C制

信号统

器ALU

访器接口

指令总线存储热保护单元MPU

数据总线

总线互联网络调试接口调试

J:―T--信号

指令存储器”簪统私有外设

3、STM32F1高中低密度结构

4、CM3存储器映射及位带技术

CM3有明确的内存分配,虽然芯片内部有多个内部总线,但内存映射的地址空间为线

性4G字节。如图2.7所示

OiFFFFFFFF

OaiOIOOOOO

OKEDOFFFFF

01£0040000

OiEOOSHFF

0i6)000000

OiDFFFFFFF

OMAOOOOOOO

0«60000000

OiSFFFFFFF

UX4UUUWUU

OaBFHFFFF

0i20000000

OKWHFFFF

OMOOOOOOOO

计算别名地址的公式如下:

位带别名区的地址二位带别名区的基地址+位带字偏移

位带字偏移二位带基地址偏移*32+位号*4

这比一开始看起来要容易得多。对于一个实际的例子,GPIO输出数据寄存器被设计

为可以设置和清除单个10线。端口B输出寄存器的物理地址是0x4C010C0C。在这个例子

中,我们可以使用上面的公式来设置和清除这个字的第8位。

字地址=0x40010C0C

外设位带基地址=0x40000000

外设位带别名基地址=0x42000000

位带基地址偏移=0x40010C0C-0x40000000=10C0C

位带字偏移=(0xl0C0C*32)十(8*4)=0x2181A0

位别名地址;0x42000000+0x2181A0=0x422181A0

现在,我们可以用下面的C代码来创建一个指针指向这个地址:

^definePortBbit8(*((volatileunsignedlong*)0x422181A0))

然后,可以使用这个指针来设置和清除10端口位:

PortBbit8=1;//ledon

5、Cortex微控制器最小系统

VOC3

£然

PAIM

PA2-

PA3割M>然

P\4*PA3PIM

30M黑

PA732PD?

HSOz晨PD8

Ma黑

PA9«

PAI。0Pt)io

PA11TO

PBOMPDI4

PB1aePPI7

PB5酊M梵

PB6~ggPIii

而后

TBS"%PM洸

IWospeMs

x

*EM

Pi、•;

S煞

aSGND

2

汽二&

PCS4

I”.,

IVUInS

0

S

E

E

图2.16STM32最小系统

6、启动引脚和在线编程

1、启动引脚

系统有三种启动方式:用户闪存,系统存储器/ISP和SRAM,如表2.4所示。正常启

动时候,B00T0必须按地。如果采用串口进行程序代码下载,B00T0需要连接VDD,串口

默认是UASART1,系统内部存储了引导程序代码,如图2.10所示,在SystemMemory区

(0xlFFFF000-0xlFFFF7FF)内置ISP在线引导程序。串口下载稳定快速,在不需要调试

的情况下,建议使用。原理图如图2.16所示。

表2.4三种启动模式

BOOTOEOOT1启动方式

0X用户闪存

10系统存储器/ISP

11内嵌SRAM

2、在线编程

STM32调试器支持两种连接标准:五针JTAG端口和2针Cortex串行端口。这两种配

置中都需要牺牲GPIO引脚被调试器使用。复位后,CortexCPU将默认打开这些引脚的复

用功能,以便于调试。如果需要当作10接口使用,必须对复用功能寄存器进行设置,将

它们转换回GPI0引脚。五针JTAG接口采用一个20针IDC连接器,支持所有标准的JTAG

工具。串行线接口采用PA13作为串行时钟和PA14端口作为串行数据,如图2.18所示。

图2.18JTAG调试接口

SWD调试接口如图2.16所示。具有下载方便、•价格便宜,携带也方便。

板书或PPT设计:

讨论、思考题、作业:

说出STM32时钟源有哪些。

参考书目:

1、《STM32库开发实战指南》刘火良,机械工业出版社。2014生4月

2、正点原子论坛:www.openedv.com

3、野火论坛:www.firebbs.com

课程教案3

周次:第三周|教学班级:***|教学地点:***时间:***年**月**日

课时安排:4学时|教学课型:理论课E实验课口习题课口实践课口其它口

题目及教学章、节或主题5―

第3章STM32系统的GPIO原理与结构

3.1GPIO接口原理概述

3.2GPIO的基本结构

3.2.1四种输入模式

3.2.2四种输出模式

3.2.3GPIO内部结构原理

3.3GPIO地址映射

3.4STM32库函数对GPIO寄存器封装

3.4.1端口配置寄存器CRL和CRH

3.4.2端口输入数据寄存器

3.4.3端口输出数据寄存器

3.4.4GPIO寄存器结构封装

3.4.5GPIO库函数

3.5STM32时钟树系统

3.6STM32时钟树启动函数

3.7流水灯开发实例

3.7.1流水灯的硬件原理图

3.7.2软件设计

3.8按键开发实例

3.8.1软件设计

3.8.2关键函数代码

3.8.3程序流程

3.8.4程序实验效果

3.9STM32开发一般步骤总结

3.10寄存器组起始地址

教学重点;

1、掌握GPIO接口原理

2、掌握GPIO地址映射

3、掌握STM32库函数对GPIO寄存器封装

4、掌握STM32时钟树系统

5、掌握流水灯开发实例

教学难点:

STM32时钟树系统工作原理

教学方式、手段、媒介:

教学方式:讲授

手段、媒介:多媒体、板书、现场开发板演示

教学内容:

1、GPIO接口原理概述

通用10接口(GeneralPurposeInputs/OutputsInterface,GPIO)是STM32微处

理器非常重要的一种接口,它们具有使用灵活、可配置、多功能等优点,它是CPU对外进

行信息接收与发送的端u,对它的学习与使用,直接关系到整个程序的结果。

STM32的10相比C51单片机而言要复杂的多,所以使用起来困难的多。STM32系列

微处理器最多可以达到7组GPID端口,每组端口有16个10接口。人意个GPIO端口包

括2个32位配置寄存器(GPIOx_CRH和GPIOx_CRL),2个32位数据寄存器(输入数据寄

存器GPIOx」DR和输出数据寄存器GPIOx_ODR),l个32位置位/复位寄存器(GPIOx_BSRR),

1个复位寄存器(GPIOx_BRR)以及一个32位锁定寄存器(GPIOx_LCKR)。

2、GPIO的基本结构

Vdd

模拟信号输入

开/关CPIO_DeInit

复用功能输入GPIOJnit

GPIOStructlnit

输入数据寄存5s

GP10_PinRemapConfig

IDRGPIO.EXTILineConfig

GPIO_ReadInp<jtDala

:开/关

GPIO.SetBitsVdd

GPIO_RcsctBitsGPtOx.LCKRGPIO_Pinlx)ckConfig

LCKRI15-0]

GPIO_WriteBitCNFy1.0IMODE1.0CNFy1.0|MODE1.0I/O

CPIO_Writ«

GPI0_EventOutputConfigGPK>x_CRH8,15GPIOxCRL0.7:

GPIO.Even(OutputCad

写入位设置/清除A保护二极管

寄奇器BSRR*a

景a

5。

读/写位清除三

舞1推挽/开漏

寄存器BRR

GPIO.ReadOutputOataBit复用功能输出

GPlO.ReadOutputData

EVCR[MAPR|EXCTR

GPIO.AFIOOelnit

3、GPIO地址映射

FlashttH接口

Cortex-M3

l&

l&

l0g

APB2PERIPHBASE

-0x40010000

/

ADC30X40013C00

8R3A2USAR0X40013800

SPI242T10X40013400

IWDGTIM80X40013000

WWDGSPI10X40012C00

RTCTIM10X40012800

TIM7AOC20X40012400

TIM6AOC10X40012000

TIM5

GPIOG0X40011C000X40010818GPK)A_LCKR

TIM4GPIOF0X400118000X40010814GPfOA_BRR

TIM3

GPlOe0X400114000X40010810GPIOA_BSRR

TIM2GPIOO0X40011000/0X4001080CGPIOA_OOR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论