资讯详情

STM32嵌入式微控制器快速入手

嵌入式系统分类:

(冯*诺依曼结构),内部单地址总线和数据总线,单存储空间,不能同时取数据和指令,ARM7属于这种结构

哈弗结构有两个存储空间:数据和程序,吞吐量是普林斯顿的两倍(DSP,ARM9,Cortex)

CISC和RISC比较
CISC RISC
价格 硬件复杂,价格高 软件复杂,价格低廉
指令集 复杂庞大

精简

指令周期 不固定 一个周期
编码长度 可变,1-15B 固定,4B
高级语言支持 软件完成 硬件完成
寻址模式 复杂,支持内存到内存寻址, 简单,只允许LOAD和STORE基于寄存器的指令存储内存,其他操作
寄存器数目
总线结构 普林斯顿 哈弗
编译 编译器很难优化 优化编译生成高效代码程序
应用实例 MCS-51系列,PC内部处理器芯片 ARM系列

ARM

(1)ARM是一种RISC体系结构,x86架构是CISC还有系统结构MIPS,PowerPC

(2)Advanced RISC Machine Limited公司简称

(3)一类产品总称

ARM处理器的主要特点:

1.采用RISC体系结构 2.寄存器用途多种多样 3.Load/Store体系结构 4.执行每个指令条件 5.指令长度固定

Cortex-M体系结构

CM3处理器(32位):ARMv7-M系统结构、哈弗结构、三种功耗模式(睡眠模式、停止模式、待机模式)

分为特权级和用户级。用户级到特权级的唯一途径是异常。特权级可以保护关键存储区域免受损坏

通用寄存器包括R0-R12.R0-R7低组寄存器,字长32位,所有指令都可以访问,R8-R12高组寄存器16位指令无法访问。堆栈指针R连接寄存器R14、程序计数器R15

CM处理器5条总线
总线名称 类型 范围
ICode AHB 0x0000 0000~0x1fff ffff
DCode AHB 0x0000 0000~0x1fff ffff
系统总线 AHB

0x2000 0000~0xdfff ffff

0xe010 0000~0xffff ffff

外部专用外设总线 APB 0xe004 0000~0xe00f ffff
内部专用外设总线 AHB

0xe000 0000~0xe003ffff

ARM 系统结构最大寻址空间4GB(2^32B)

RAM 分为静态SRAM动态(速度最快,价格贵)DRAM(读写慢,价格便宜)

ROM分为PROM,EPROM(紫外线擦除),EEPROM(电擦除,价格高,写入时间长,写入慢)

FLASH(可电擦除可编程,断电不丢失)用于存储BootLoader或U盘

NORFlash随机读取,可直接操作代码,NANDFlash一次读一块,不能直接操作代码(加一小块NORFlash操作启动代码)

SRAM别名区初值0x2200 原绑定内存区0000x2000 0000-0x200f ffff(1M),将位绑定区的每个字映射到别名区(地址扩大了32倍)。别名区地址=0x2200 0000 字节偏移地址*32 位*4.

外设区b别名区x4200 0000,原地址0x4000 0000-0x400f ffff(1M)

ARM指令集分为跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储指令、协处理器指令、异常指令 六大类

ARM指令搜索包括立即搜索、寄存器搜索、寄存器间接搜索、基址变更搜索、堆栈搜索、块复制搜索、相对搜索

THumb指令集是ARM指令集子集操作32位,指令长度16位,大大节省了系统存储空间

CM3处理器3级流水线:取指、解码、执行。

异常通常定义为在正常程序执行过程中暂时停止并转向相应的处理。中断请求信号来自内核外部,异常是由内核活动引起的。CM3有15个异常,优先级值越小,优先级越高。三个系统异常(复位,NMI,硬fault),有固定的优先级且优先级是负数。如果一个发生的异常不能被立即响应,就称它被挂起。

中断(异常)基于优先级行动:第一(当前中断遇到更高的优先级中断),最后连(新中断不如当前中断优先级高,当前中断不直接相应的新中断),返回(栈),迟到(低优先级中断响应前高优先级中断)

存储器保护单元(MPU)关键数据,os仅读取内核、向量表等重要区域的属性。

电压调节器有三种工作模式(主模式)、停止模式(低功耗模式)、待机模式(关闭模式)

锁相环(PLL Phrase Locked Loop)它是一种反馈控制电路,利用外部参考信号控制环内振荡信号的频率和相位,使外部输入信号与内部振荡信号同步。

四大时钟频率:HSE(high speed External clock signal)4-16MHz,常用8MHz

HSI(high speed Internal clock signal)内部8MHz,可直接制作系统时钟或2分频PLL输入

LSE,外部32.768kHz LSI,内部40kHz

RCC管理时钟的寄存器

STM32F10xxx支持系统复位、电源复位、备份区复位三种复位形式

JTAG(Join Test Action Group)四个引脚接口JTMS(测试模式选择引脚)JTCK(测试时钟输入引脚)JTDI(测试数据输入引脚)JTDO(测试数据输出引脚)

STM32最小系统包括电源电路、时钟电路、复位电路、启动电路、程序下载电路

硬件逻辑被虚拟化为汇编语句,汇编语句再次被成高级语言句,再次被包装成函数,函数相互调用和组合,最终形成应用程序。

CMSIS(Cortex Microcontroller Software Interface Standard)独立于供应商Cortex-M处理器系列硬件抽象层提供了连续简单的处理器软件接口。

基于CMSIS标准软件架构主要分为四层,用户应用层,操作系统层,CMSIS硬件寄存器层,CMSIS起到承上启下的作用

自减运算符比自加效率高代码精简 a%8~a&7 a*8~a<<3 a/8~a>>3 if 比?效率高 dowhile比while效率高

GPIO输出功能:推拉输出(可以向前移动)载灌电流,也可以从负载抽电流,既提高电路负载能力,又提高开关速度)

开漏输出不输出电压,低电平接地高电平上拉到上拉电阻电压(外接上拉电阻时)

EXTI0到达时内核暂停当前程序执行跳转到0x0000 0058拿到中断处理函数EXTI0——IRQHandler()地址并跳转,函数执行结束后返回原地址(3次跳转)

挂起是暂停正在进行的中断去执行同级或更高级别的中断。

1、同步通信要求接收端时钟频率和发送端时钟频率一致,发送端发送连续的比特流;异步通信时不要求接收端时钟和发送端时钟同步,发送端发送完一个字节后,可经过任意长的时间间隔再发送下一个字节。

2、同步通信效率高;异步通信效率较低。

3、同步通信较复杂,双方时钟的允许误差较小;异步通信简单,双方时钟可允许一定误差。

4、同步通信可用于点对多点;异步通信只适用于点对点。

RS-232常用串行通信接口标准之一

存储器直接访问DMA(Direct Memory Access)是一种高速的数据传输操作,允许外部设备和存储器之间利用系统总线直接读写数据

操作系统是计算机硬件的封装和功能的扩充,操作系统是资源的管理者。

非抢占式内核一个特点是几乎不需要使用信号量来不糊共享数据,不担心被高优先级任务抢占,但响应高优先级任务较慢。

当系统响应时间重要时要使用占先式内核,高优先级任务一旦就绪总能剥夺CPU使用权。

可重入(reentrant)函数可以由多于一个任务并发使用,而不必担心数据错误。相反, 不可重入(non-reentrant)函数不能由超过一个任务所共享,除非能确保函数的互斥(或者使用信号量,或者在代码的关键部分禁用中断)。可重入函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据。可重入函数要么使用本地变量,要么在使用全局变量时保护自己的数据。访问全局变量时用互斥信号量保护全局变量。

绝大多数微处理器的堆栈都是从高地址向低地址增长。

UC/OS-II任务共有5种状态:休眠,就绪,运行,等待,中断服务,临界代码段要关闭中断。任务控制块用于记录任务堆栈指针,任务当前状态,任务优先级与任务管理有关的属性表。

标签: 控制器专用电阻

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台