当前位置:   article > 正文

stm32入门

stm32入门

一、嵌入式简介

1.嵌入式系统组成

 

 

2.嵌入式硬件结构

2.1 嵌入式处理器的分类

嵌入式处理器分为四类:

①微处理器(MPU

②微控制器(MCU

③数字信号处理器(DSP

④片上系统(SOC)

2.2 MCU组成

2.3 ARM处理器

ARM是Advanced RISC Machines的缩写,ARM公司只设计芯片,不生产芯片。

ARM公司提供内核,ST公司设计片上外设

 

2.4 外围电路

外围电路主要有接口,传感器,存储器,外设等

接口:A\D接口,同步/异步串口,USB接口等;

传感器:温湿度传感器,光电类传感器,压力传感器等;

存储器:SRAM,DRAM,NAND/Nor Flash;

人机交互:指示灯/数码管,液晶显示屏,键盘等。

3.Cortex-m0 内核结构

注意:内核中没有存储器和外设。

3.1 Cortex-M0寄存器组——通用寄存器

Cortex-M0处理器内核又13个通用寄存器以及多个特殊存储器。

R0-R12:通用寄存器,其中R0-R7为低端寄存器,可用作16位或32位指令操作数,R8-R12为高端寄存器,只能用作32位操作数。

R13:堆栈指针SP,Cortex-M0在不同物理位置上存在两个栈指针,主栈指针MSP,进程栈指针PSP。在处理模式下,只能使用主堆栈,在线程模式下,可以使用主堆栈也可以使用进程堆栈。

R14:连接寄存器(LR),用于存储子程序或者函数调用的返回地址。

R15:程序计数器(PC),存储正在取址的指令的地址。

 

 注意:内核中的寄存器没有地址,存放操作数操作指令。以及中间结果。没有编地址;
CPU直接操作寄存器;
外设也有寄存器。外设的寄存器,是有内存映射表。映射到内存地址的,是有地址的
寄存器。程序员可以访问。

3.2 中断

        Cortex-M0处理器最多支持32个外部中断(通常称为IRQ)和一个不可屏蔽中断(NMI);

        另外Cortex-M0还支持许多系统异常(Reset,HardFault,SVCall,PendSV,SysTick),它们主要用于操作系统和错误处理。

 3.3 Cortex-M0指令集

        ARM处理器可支持两种指令集:ARM和Thumb。

        Cortex-M0只支持Thumb指令。

ARM指令集

32位精简指令集;

指令长度固定;

降低编码数量产生的耗费,减轻解码和流水线的负担。

Thumb指令集

Thumb指令集是ARM指令集的一个子集;

指令宽度为16位;

与32位指令集相比,大大节省了系统的存储空间;

Thumb指令集不完整,必须配合ARM指令集一起使用。

二、STM32F051的简介

1.STM32F051系统架构图

 该系统主要由以下几个模块组成:

两个主模块:

 Cortex-M0内核及先进高性能总线(AHB bus)

通用DMA(GP-DMA-general-purpose DMA)

四个从模块:

内部FLASH;

内部SRAM;

专门用于连接GPIO口的AHB2;

AHB到APB的桥,所有外设都挂在APB总线上。

2.STM32的命名

 3.最小系统

狭义的最小系统:仅包括电源电路、时钟电路、复位电路、调试电路及主控芯片电路。 

广义的最小系统:出包括上述电路外,还包括基本的人机接口电路,如指示灯,按键,蜂鸣器,数码管及串口通信等电路。

 三、定时器

 1.定时器的概念

        定时器的设计是基于计数器实现的;

        计数器是一种对电脉冲进行技术的电路结构;

        向计数器输入一个脉冲信号,计数器的值就会加一,如果我们把这个脉冲信号换成周期固定的信号,例如一个频率为1hz,周期为1s的方波信号,再让计数器的值从开始计数;随着周期信号的持续输入,计数器的之不断增加,由于脉冲信号的周期为1s,相当于计数器每增加一个数,所花费的时间就是1s。

2.定时器的分类

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/580310
推荐阅读
相关标签
  

闽ICP备14008679号