STM32概念

本文介绍了Cortex-M核心及其在MCU中的应用,详细阐述了内存映射,包括内部FLASH、SRAM和外设寄存器的地址范围。此外,还讨论了中断和异常处理,重点提及了SysTick系统时钟在RTOS中的作用。最后,提到了CMSIS作为Cortex-M系列的标准软件接口,但指出不同硬件平台间的迁移挑战。参考书籍为《Mastering STM32》。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Concept

Cotex-M Core & Cortex-M MCU

内核只是 CPU 的架构,而 MCU 是具体的封装实现。CM3 -> Cortex-M3

内存映射

在这里插入图片描述

  1. 0x0000 0000 ~ 0x1FFF FFFF 是代码段。具体拆分如下图:
    Memory Map
    0x0800 0000 是内部 FLASH 起始地址,这是代码烧写的地方。System Memorybootloader (ROM)。bootloader 可以通过其他外设(USART,USB)上传代码。Option bytes 中是配置MCU 一些标志位。

  2. 0x2000 0000 是内部 SRAM 起始地址。内部 SRAM 会由于芯片厂家而大小不同。所以其末地址也会不一样。

  3. 0x4000 0000 是外设寄存器起始地址。由于部分外设端口只占用了一个寄存器中的一到两位,所以在多进程时无法用atomic operation 同时操作。ARM 采用 bit-banding 技术。就是将同一地址下的不同寄存器位分别映射成单个地址,方便多进程操作。

在这里插入图片描述

Interrupt & Exception

处理函数:Exception Handler --> ExceptionInterrupt Service Routine (ISR) --> Interrupt

优先级管理是在 NVIC 中。

SysTimer

Cortex-M 中提供了 SysTick 作为系统时钟。可以用来:

  1. 为 RTOS 提供周期性的中断,作为调度用。
  2. 提供准确的定时功能。

CMSIS

Cortex Microcontroller Software Interface Standard (CMSIS) 是 Cortex-M 系列的标准软件接口。

但是由于各家硬件平台不一样,所以迁移仍然十分困难。

参考书目:

  1. Mastering STM32 by Carmine Noviello.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值