| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> ARM Cortex-M3内核与STM32微控制器 -> 正文阅读 |
|
[嵌入式]ARM Cortex-M3内核与STM32微控制器 |
一、ARM Cortex-M3处理器的构成部分ARM Cortex-M3微处理器由ARM Cortex-M3内核和调试系统构成。 ?1.内核结构:?将CPU(Cortex-M3内核)、存储器、定时器/计数器、I/O等集成在一个芯片上。 2.寄存器:? ? ? ?存储器是用来存储二进制数据的,实际是一个时序逻辑电路,一个触发器可以存储一位二进制数据,触发器由多个与非门等基本门电路构成。 ?寄存器有两大类:?
?寄存器一般分为两类:
3.存储器:? ? ? ?ARM Cortex-M3系列微处理器采用存储器与I/O设备(外设)统一编址的方式,设置部分存储器地址范围用于外设的访问,将这种通过存储器地址访问外设的方式,称为存储器地址映射。(也可以通过访问不同的存储器地址来区分内存单元和I/O口。) ? ? ? ?存储器映射,就是将芯片中或芯片外的FLASH、RAM和外设接口等进行统一编址,用于程序存储、数据存储、寄存器和外设。 ? ? ? ??uARM Cortex-M3能够寻址的最大空间是4GB,寻址范围为 0x00000000~0xFFFFFFFF。 4.中断与异常:
Cortex-M3内核可支持256种异常和中断:
Cortex-M3内核集成了一个外设——NVIC用于专门负责中断。? 作用:
特性:?
中断过程:
二、冯·诺依曼结构与哈佛结构计算机的构成? ? ? ?计算机由运算器、控制器、存储器、输入设备和输出设备五大部件组成,早期的计算机多是以运算器为中心的冯·诺依曼结构计算机。随着微电子技术和集成电路的发展,将运算器和控制器集成在一块芯片上,统称为CPU,现代计算机则以存储器为中心,采用总线技术进行各部件间的信息传输。 1.冯·诺依曼结构? ? ? ?冯·诺依曼结构也称普林斯顿结构,十一周指令和数据采用二进制表示,且存储在同一个存储器中,并经同一条总线传输的存储器结构。 特点:
2.?哈佛结构特点:
三、ARM存储模式? ? ? ? ?计算机的存储器是以字节为单位进行划分的,每个地址单元都对应着一个字节,一个字节占8位(bit)。 ? ? ? ? ?当数据由多个字节组成时,数据在内存中的存储方式有两种:大端模式和小端模式。
大小端的举例说明:? ? ? ?现有一个32位的数据0x12345678,存放在内存地址为0x4000~0x4003处,若按小端模式进行存放,则其最低字节数据0x78存放在内存地址_____处;若以大端模式存储,则最高字节数据0x12存放在内存_____处。?
四、CISC和RISC? ? ? ?CISC既有简单指令也有复杂指令,后来人们发现典型程序中80%的语句都是使用计算机中20%的指令,而这20%的指令都属于简单指令;因此花再多时间去研究复杂指令,也仅仅只有20%的使用概率,并且复杂指令会影响计算机的执行速度。既然典型程序的80%都是使用简单指令完成,那剩下的20%语句用简单语句来重新组合一下模拟这些复杂指令就行了,而不需要使用这些复杂指令,于是RISC就出现了。 1.? RISC? ? ? ?全称Reduced Instruction Set Compute,精简指令集计算机。? 特点:
2.CISC? ? ? CISC全称Complex Instruction Set Computers,复杂指令集计算机。 ?特点:
?3.CISC和RISC对比
五、流水线技术? ? ? ? 每条指令分解为多步,并让各步操作重叠,从而实现几条指令并行处理的技术,称为流水线技术。 ARM Cortex-M3微控制器采用的三级流水线:取指—译码—执行。 ? ? ? 1 . 取指(FI):将指令从存储器中取出。 ? ? ? 2 . 译码(DI):对所取到的指令进行翻译。 ? ? ? 3 . 执行(EI):执行指令。 ? ? ? ?流水线的技术指标通常用吞吐率、加速比和效率三项指标来衡量。 1.吞吐率:? ? ? ?单位时间内流水线所完成的指令数或输出结果的数量。 ? ? ? ?流水线执行n条指令所需时间:所需时间=完成一条指令所需时间?+(指令条数n-1)×?时间最长的指令段。 ? ? ? ? 吞吐率表示为:吞吐率=指令条数/指令流水线所需时间 指令所需时间举例说明:? ? ? ?现有一个三级指令流水线分为取指、分析和执行三个部分,其中,取指周期为1ns,分析指令周期为3ns,执行指令周期为2ns,则完成100条指令其吞吐率为多少? ????????完成第一条指令需要1+3+2=6ns,即若不采用指令流水操作,完成一条指令需6ns。由于分析指令所用时间最长为3ns,那么从第二条指令开始,每隔3ns就能完成一条指令,完成100条指令所需要的流水时间为: 6ns+(100-1)×3ns=303ns, ?则吞吐率为:?????????????????????????? 100/303ns。? 六、ARM1.ARM基础介绍:???? ARM专门从事基于RISC技术芯片的设计开发,不直接生产芯片,而是转让技术设计许可,由合作公司生产各具特色的芯片。
?2.ARM体系结构:
??
所谓计算机的体系结构(Computer Architecture),是指计算机的逻辑结构与功能特性。
?七、STM32扩展1.时钟系统:? ? ? ?由于STM32的外设时钟复杂,因此需要有一套完整的时钟系统来进行时钟管理,这就是STM32的时钟系统。STM32的时钟系统由RCC(Reset and Clock Control,复位与时钟控制器)产生,用来为系统和各种外设提供所需的时钟频率,以确定各外设的工作速度。 其具有5个时钟源:
存储空间及其地址分配:
|
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 17:00:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |