2006年ARM公司推出了基于ARMV7架构的cortex系列的标准体系结构,以满足各种技术得不同性能要求,包含了A,R,M三个分工明确的系列
其中A系列面向复杂的尖端应用程序,用于运行开放式的复杂操作系统;R系列适合实时操作系统,M系列专门针对低成本的微控制领域。而我们今天要学习的STM32就是M3的处理器
STM32(M3)处理器的基本结构,基本结构如图所示,主要包括处理器核cortex-m3 core,NVIC,BUS MATRIS,FLASH转换,及断点单元,DWT,ITM,MPU,ETM,TPIU,ROM Table
SW/SWJ-DP等模块,其中MPU和ETM单元是可选单元。
这些单元可分为内外两个层次,其中ETM,TPIU,ROM Table,SW/SWJ-DP单元属于外层,因为这四个单元或可选或可灵活配置实现,也就是在处理器具体实现时TPIU,ROM Table
,SW/SWJ-DP可能与图1-1可能不同,
cortex-m3核内部寄存器包括:13个通用32位寄存器,连接寄存器LR,程序计数器PC,程序状态寄存器 xpsr和2个堆栈指针寄存器;
Cortex-M3处理器支持两种处理器的操作模式,还支持两级特权操作。
两种操作模式分别为:处理者模式和线程模式(thread mode)。
引入两个模式的本意,是用于区别普通应用程序的代码和异常服务例程的代码——包括中断服务例程的代码。
两级特权操作分别为:特权级和用户级。
这可以提供一种存储器访问的保护机制,使得普通的用户程序代码不能意外地,甚至是恶意地执行涉及到要害的操作。
处理器支持两种特权级,这也是一个基本的安全模型。
主应用程序(线程模式),既可以使用特权级,也可以使用用户级;
异常服务例程(处理者模式)必须在特权级下执行。
通过引入特权级和用户级,就能够在硬件水平上限制某些不受信任的或者还没有调试好的程序,
不让它们随便地配置涉及要害的寄存器,因而系统的可靠性得到了提高。
关键字:STM32 入门篇 体系结构
引用地址:
STM32学习之路之入门篇
推荐阅读最新更新时间:2024-11-16 22:42
CMSIS-RTOS是什么?
CMSIS:Cortex Microcontroller Software Interface Standard,Cortex微控制器软件接口标准。它包含的内容比较多: CMSIS-RTOS:主要用于RTOS的API,可与中间件和库组件实现一致的软件层。 CMSIS-DSP:Arm针对各种Cortex-M处理器内核进行了优化的丰富DSP功能的集合。 CMSIS-Driver:接口可用于许多微控制器系列。 CMSIS-Pack:定义了包含软件组件的软件包。 CMSIS-SVD:可通过当前寄存器状态显示设备外设的详细视图。 CMSIS-DAP:Cortex调试访问端口(DAP)的标准化接口。 CMSIS-NN:高效的神经网络内核的
[单片机]
STM32外部中断处理流程及注意事项
STM32的外部中断是以组为单位,例如PA0、PB0、PC0、PD0、PE0、PF0、PG0共用外部中断0,我们再使用时从中选择一个座位外部中断0即可,其他中断类推。 外部中断包括EXTI0、EXTI1、EXTI2、EXTI3、EXTI4、EXTI9_5、EXTI15_10,Pin0--Pin4有各自独立的中断, Pin5--Pin9共用一个中断,Pin10--Pin15共用一个中断。 中断号 Pin脚 EXTI0 Pin0 EXTI1 Pin1 EXTI2 Pin2 EXTI3 Pin3 EXTI4 Pin4 EXTI9_5 Pin5--Pin9 EXTI15_10 Pin10--Pin15 外部中
[单片机]
STM32开发 -- 系统架构
未完待续!!! STM32 主系统主要由四个驱动单元和四个被动单元构成。 四个驱动单元是: 内核 DCode 总线; 系统总线; 通用 DMA1; 通用 DMA2; 四被动单元是: AHB 到 APB 的桥:连接所有的 APB 设备; 内部 FlASH 闪存; 内部 SRAM; FSMC; 下面我们具体讲解一下图中几个总线的知识: ① ICode 总线:该总线将 M3 内核指令总线和闪存指令接口相连,指令的预取在该总线上 面完成。 ② DCode 总线:该总线将 M3 内核的 DCode 总线与闪存存储器的数据接口相连接,常量 加载和调试访问在该总线上面完成。 ③ 系统总线:该总线连接 M3 内核的系统总线到总线矩阵,总线矩阵
[单片机]
stm32 bootloader更新固件重启 IWDG独立看门狗
问题现象:直接从固件soft reset到bootloader更新中途,pcb板子会重启 问题原因:固件程序中开启了IWDG(独立看门狗),在进行固件更新的时候没有喂狗,导致 计数计到0,看门狗重进行reset。 问题解决: 1、因为独立看门狗一旦开启是不能关闭的,所以要么在bootloader中喂狗要么不启动。 2、改用窗口看门狗,在soft reset之前将看门狗关闭。
[单片机]
STM32进入和退出睡眠模式例程
1.设计要求 要求系统按如下方式进入和退出睡眠模式:在系统启动2秒后,将RTC在3秒钟之后配置为产生一个报警事件,接着通过WFI指令使系统进入停机模式。如果要唤醒系统到正常模式,可通过按Key按钮;否则,在3秒钟后,会产生RTC报警中断自动将系统唤醒。一旦退出停机模式,系统时钟被配置成先前的状态(在停机模式下,外部高速振荡器HSE和PLL是不可用的)。经过一段延时之后,系统将再次进入停机状态,并可按上述操作无限重复。 2. 硬件电路设计 硬件电路采用与7.1小节应用实例一样硬件电路,可见图7-10。其中Key按钮用于通过PB9产生一个外部中断,LED1、LED2、LED3、LED4则用于显示处理器所处的模式和中
[单片机]
STM32单片机-资料查找
一、中国店铺选型选购 意法半导体STM | STM32/STM8微控制器 | MCU单片机 ----------------------------------------------------------------------------------------------------------------- 二、ST单片机选型 STM8选型手册与STM32最新选型手册移步:download.csdn.net/download/liht1634/33432832。 1、官网选型 ------------------------------------------------------
[单片机]
STM32时钟系统介绍与总结
时钟树: 1. HSI振荡器时钟 The HSI clock signal is generated from an internal 8 MHz RC Oscillator and can be used directly as a system clock or divided by 2 to be used as PLL input. The HSI RC oscillator has the advantage of providing a clock source at low cost (no external components). It also has a faster startup time than
[单片机]
ht46f49e单片机外部电路和端口的体系结构讲解
通过 单片机 简介中单片机功能简述的学习,我们了解到单片机的核心功能可以描述为:能够按照预先设定的功能,依次执行某种操作。这些操作或者向外输送某种控制信息,或者获取某种外部信息,或者进行某种逻辑判断或计算。此外, 单片机 还具有定时器、外部中断等功能,辅助完成复杂的控制过程。 单片机之所以能够完成各种控制功能是和其内部的体系结构设计分不开的。本文将以ht46f49e为例,介绍单片机外部和内部的体系结构。 1.电源电路 电源引脚,包括VDD和VSS,其直流工作电压范围为2.2~5.5V。在电路图中约定和供电相关的符号包括: VCC:C=circuit 表示电路的意思, 即接入电路的电压; VDD:D=device 表示器件的意思
[电源管理]