STM32 Cortex-M3 学习笔记:异常与中断、存储器映射
需积分: 9 52 浏览量
更新于2024-07-29
收藏 1.17MB DOC 举报
"Cortex-M3学习笔记,主要针对STM32,适合初学者,内容包括处理器模式、存储器映射、STM32的Flash和SRAM配置、位带操作以及时钟源"
Cortex-M3是一款广泛应用的微控制器内核,广泛应用于STM32系列芯片。在学习STM32时,理解Cortex-M3的工作原理是至关重要的。
Cortex-M3处理器有两种工作模式:Handler模式和Thread模式。Handler模式主要处理异常和中断服务程序,它始终运行在特权级,确保能够访问所有系统资源。Thread模式则是执行正常程序流程的地方,它可以运行在用户级或特权级。特权级允许访问所有的寄存器,而用户级则受到限制。在复位后,系统默认处于线程模式和特权级。要从用户级切换回特权级,通常需要通过设置Control寄存器,并利用Handler模式中的异常,如系统服务呼叫指令(SVC)异常。
存储器映射是理解Cortex-M3系统的关键。CM3的存储空间可达4GB,分为8个512MB的块。STM32的映射则根据具体型号有所不同。例如,STM32的Flash起始于0x08000000,有128KB空间;SRAM起始于0x20000000,有20KB空间。外设寄存器通常从0x40000000开始,各外设的地址分布在这个范围内。
STM32的启动模式配置可以根据需求进行设定,影响程序的加载位置和执行起点。位带操作是一种优化空间的机制,它允许对某些地址范围内的寄存器进行位级别的读写,这在处理某些特定控制任务时非常有用。位带操作的地址范围通常是SRAM和外设寄存器的特定部分。
STM32的时钟源共有四种:HSE(高速外部时钟)、HSI(高速内部时钟)、LSE(低速外部时钟)和LSI(低速内部时钟)。HSE和LSE可以是外部晶振或时钟信号,HSI和LSI则是内部时钟源。在切换时钟源时,必须等待当前源稳定(通过RDY信号确认)才能进行切换,以确保系统的稳定运行。
了解这些基础知识对于理解和开发基于STM32的嵌入式系统至关重要。通过学习和实践,初学者可以逐步掌握Cortex-M3和STM32的使用,进行更高级的硬件控制和系统设计。
2443 浏览量
点击了解资源详情
367 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
136 浏览量
七水_SevenFormer
- 粉丝: 671
- 资源: 3
最新资源
- PL2302驱动.rar
- jotto-testing-project:为使用React构建的简单猜字游戏项目编写测试
- BASS 音频输出设备自动切换-易语言
- coding-notes
- foobarx.github.io
- C# Base64编码和解码 带源码.rar
- LiveTags in every eMail-crx插件
- 自动化码头内集卡作业调度优化.rar
- UITextViewExtras(iPhone源代码)
- JLINKV9.4 PCB-自动升级固件-教程.rar
- 博克
- blogwithaddexperience
- Stocks Market-crx插件
- jsp+mysql图书馆管理系统
- EXDUI2.0日期框扩展,支持时分秒-易语言
- saybeking.github.io