一、STM32概述(Cortex-M3)
STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M0,M0+,M3, M4和M7内核,笔者目前要用的型号为stm32f103,内核为cortex-m3,以后有时间再写stm32f407相关文档吧。
对于这款处理器,打算从以下方面介绍。
1.处理器结构
Cortex‐M3 是一个 32 位处理器内核。 内部的数据路径是 32 位的, 寄存器是 32 位的, 存储器接口也是 32 位的。 CM3 采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。 这样一来数据访问不再占用指令总线,从而提升了性能。 为实现这个特性, CM3 内部含有好几条总线接口,每条都为自己的应用场合优化过,并且它们可以并行工作。但是另一方面,指令总线和数据总线共享同一个存储器空间(一个统一的存储器系统)。换句话说,不是因为有两条总线,可寻址空间就变成 8GB 了。
mark相关术语:instruction fetch unit 取指单元
decoder 译码器
trace interface 追踪接口
peripheral 外设
optional 可选择的(接口)
2.寄存器组
CM3 拥有通用寄存器 R0‐R15 以及一些特殊功能寄存器。
(1)通用目的寄存器 R0-R7
R0‐R7 也被称为低组寄存器。所有指令都能访问它们。它们的字长全是 32 位,复位后的初始值是不可预料的。
(2)通用目的寄存器 R8-R12
R8‐R12 也被称为高组寄存器。这是因为只有很少的 16 位 Thumb 指令能访问它们, 32位的指令则不受限制。它们也是 32 位字长,且复位后的初始值是不可预料的。
(3)R13 是堆栈指针,R14是连接寄存器(在调用子程序时存储返回地址),R15是程序计数器(因为 CM3 内部使用了指令流水线,读 PC 时返回的值是当前指令的地址+4。)。
(4)特殊功能寄存器
3.指令集
简单了解汇编语法即可。
4.总线接口
在小容量、中容量和 大容量产品中,主系统由以下部分构成:
● 四个驱动单元:
─ Cortex™-M3内核DCode总线(D-bus),和系统总线(S-bus)
─ 通用DMA1和通用DMA2
● 四个被动单元
─ 内部SRAM
─ 内部闪存存储器
─ FSMC
─ AHB到APB的桥(AHB2APBx),它连接所有的APB设备
图中几个总线的知识:
① ICode 总线:该总线将 M3 内核指令总线和闪存指令接口相连,指令的预取在该总线上面完成。
② DCode 总线:该总线将 M3 内核的 DCode 总线与闪存存储器的数据接口相连接,常量加载和调试访问在该总线上面完成。
③ 系统总线:该总线连接 M3 内核的系统总线到总线矩阵,总线矩阵协调内核和 DMA 间访问。
④ DMA 总线:该总线将 DMA 的 AHB 主控接口与总线矩阵相连,总线矩阵协调 CPU 的DCode 和 DMA 到 SRAM,闪存和外设的访问。
⑤ 总线矩阵:总线矩阵协调内核系统总线和 DMA 主控总线之间的访问仲裁,仲裁利用轮换算法。
⑥ AHB/APB 桥:这两个桥在 AHB 和 2 个 APB 总线间提供同步连接, APB1 操作速度限于36MHz,APB2 操作速度全速。
5.存储器映射
giveup
上一篇:STM32的DMA多通道多数据AD转换
下一篇:STM32的外部中断EXTI
推荐阅读最新更新时间:2024-11-10 16:37
推荐帖子
- 【小华工规级高性能MCU-HC32F4A0开发板】03.LCD显示、电容触摸与ADC
- 本篇主要分享一下LCDTFT显示、GT911电容触摸与ADC采样的功能演示,我们使用的是4.3英寸的TFTLCD液晶显示屏,它是一个并口屏,内置驱动为NT35510;通过HC32F4A0的EXMC外部存储器控制器接口完成对LCD屏的读写操作,通过硬件I2C接口完成对电容触摸芯片GT911的状态和触摸坐标位置的读取,通过ADC外设完成对板载可调节变阻器的ADC值采集和对应电压的换算,并ADC采样结果显示在LCD液晶屏幕上,并实时动态显示ADC曲线图对于在LCD上显示字符的解决方案,
- xld0932 国产芯片交流
- 怎么进行软件仿真
- 按照坛友的教程,过程一模一样,为什么最后软件仿真时,下载之后没有弹出软件仿真图形界面,请问怎么把它调出来啊,有什么东西要弄的吗怎么进行软件仿真话说是什么仿真软件? 用的CS+用的CS+,选择R5F100LE,写的是最简单的LED闪烁例程,就是出不来软件图形仿真界面,点运行时,右下方有个绿色的“RUN”在滚动 用的CS+,选择R5F100LE,写的是最简单的LED闪烁例程,就是出不来软件图形仿真界面,点运行时,右下方有个绿色的“RUN”在滚动.应该怎么调呢
- wobushisb 瑞萨电子MCU
- 基于CS结构的远程数字视频监控系统
- 一、前言 当前视频监控系统正逐步由模拟化走向数字化。随着视频压缩技术和网络技术的发展,开发新一代基于计算机网络和多媒体MPEG-4压缩算法的视频监控系统已成为整个行业技术发展的主要方向之一。本文提出并研究设计了一种分布式网络视频监控系统。该系统采用流行的分布式C/S架构对系统进行设计,并采用流媒体技术,通过IP多播技术、RTP/RTCP实时传送视频监控流。 该数字视频监控系统与传统的基于数字DVR、视频服务器的数字视频监控系统相比有以下优势: 1.性能稳定可靠。一般监控系统中的
- xyh_521 安防电子
- 为什么写了一个简单的软件延时程序无法调试
- 我在书上抄的一段程序#include\"io430.h\"#includemsp430x44x.h#defineConst100vodiSoftDelay(intFactor){inti,j;for(i=0;iFactor;i++)for(j=0;jConst;j++);}voidmain(void){_NOP();SoftDelay(10);_NOP();}出现调试对话框的内容Buildingconfigurati
- 黛丝滢芸 微控制器 MCU
- 一款有异争议的50Hz开关电源方案
- 昨天,朋友发来一款开关电源方案(见图)他并说明了目的,要体积小,结构简,隔离,低频的容易通过EMC的控制电源,搞了如图一样的拓扑结果,要求输出DC5V/150mA(电容降压方案,IC降压方案都难过EMC 线性电还体积大;)如图的方案; 二种意见达不成共识,一种认为这种方案通不过,理由;采用50HZ频率,直驱三极管,方案不可取....!另一种意见是方案可行,虽然没有象专用电源IC变换,得到PWM脉冲,但通过如图拓扑,应能满足开关电源的基本条件....! 现将图贴出,请大家评头论足;说
- czl618 电源技术
- 74系列芯片
- 不错的资料大家看看啊 74系列芯片有点大,上传都费劲啊你深情呼唤一下楼主,我好想没有给你加钱的权限啊回复11楼sdjnzpp的帖子 作为一名DIY电子爱好考者,好的书籍资料无疑是雪中送炭,谢谢。
- zhangkai0215 电子竞赛