ZHCADH3 December   2023 MSPM0C1104 , MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3106 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0G3507-Q1 , MSPM0L1105 , MSPM0L1106 , MSPM0L1228

 

  1.   1
  2.   摘要
  3.   商标
  4. 1MSPM0 产品系列概述
    1. 1.1 引言
    2. 1.2 STM8 MCU 与 MSPM0 MCU 的产品系列比较
  5. 2生态系统和迁移
    1. 2.1 生态系统比较
      1. 2.1.1 MSPM0 软件开发套件 (MSPM0 SDK)
      2. 2.1.2 MSPM0 支持的 IDE
      3. 2.1.3 SysConfig
      4. 2.1.4 调试工具
      5. 2.1.5 LaunchPad
    2. 2.2 迁移过程
      1. 2.2.1 步骤 1.选择合适的 MSPM0 MCU
      2. 2.2.2 步骤 2.设置 IDE 和 CCS 简介
        1. 2.2.2.1 设置 IDE
        2. 2.2.2.2 CCS 简介
      3. 2.2.3 步骤 3.设置 MSPM0 SDK 和 MSPM0 SDK 简介
        1. 2.2.3.1 设置 MSPM0 SDK
        2. 2.2.3.2 SDK 简介
      4. 2.2.4 步骤 4.软件评估
      5. 2.2.5 步骤 5.PCB 板设计
      6. 2.2.6 步骤 6.大规模生产
    3. 2.3 示例
  6. 3内核架构比较
    1. 3.1 CPU
    2. 3.2 嵌入式存储器比较
      1. 3.2.1 闪存和 EEPROM 特性
      2. 3.2.2 闪存和 EEPROM 组织
        1. 3.2.2.1 闪存和 EEPROM 区域
        2. 3.2.2.2 MSPM0 的 NONMAIN 存储器
      3. 3.2.3 嵌入式 SRAM
    3. 3.3 上电和复位总结和比较
    4. 3.4 时钟总结和比较
      1. 3.4.1 振荡器
      2. 3.4.2 时钟信号比较
    5. 3.5 MSPM0 工作模式总结和比较
      1. 3.5.1 工作模式比较
      2. 3.5.2 低功耗模式下的 MSPM0 功能
      3. 3.5.3 进入低功耗模式
      4. 3.5.4 低功耗模式代码示例
    6. 3.6 中断和事件比较
      1. 3.6.1 中断和异常
        1. 3.6.1.1 MSPM0 的中断管理
        2. 3.6.1.2 STM8 的中断控制器 (ITC)
      2. 3.6.2 MSPM0 的事件处理程序
      3. 3.6.3 事件管理比较
    7. 3.7 调试和编程比较
      1. 3.7.1 调试模式比较
      2. 3.7.2 编程模式比较
        1. 3.7.2.1 引导加载程序 (BSL) 编程选项
  7. 4数字外设比较
    1. 4.1 通用 I/O(GPIO、IOMUX)
    2. 4.2 通用异步接收器/发送器 (UART)
    3. 4.3 串行外设接口 (SPI)
    4. 4.4 内部集成电路接口 (I2C)
    5. 4.5 计时器(TIMGx、TIMAx)
    6. 4.6 窗口化看门狗计时器 (WWDT)
  8. 5模拟外设比较
    1. 5.1 模数转换器 (ADC)
    2. 5.2 比较器 (COMP)
    3. 5.3 电压基准 (VREF)

中断和异常

MSPM0 和 STM8 都根据器件的可用外设来寄存和映射中断和异常矢量。表 3-10 中包含每个器件系列的中断矢量的总结和比较。

表 3-10 中断比较
特性 STM8L 和 STM8S MSPM0L 和 MSPM0C
中断类型 外设中断:由特定器件确定 外设中断:MSPM0L 的 NVIC 支持多达 13 个本机外设中断向量MSPM0C 的 NVIC 支持多达 10 个本机外设中断向量(2)
外部中断:STM8L 值行有 11 个矢量STM8L101x 有 10 个矢量STM8S 有 5 个矢量(1)
不可屏蔽中断:RESET、TRAP(软件中断)、TLI(顶级硬件中断)(3) 复位、硬故障、SVCall、PendSV、SysTick
NMI:软件触发,来自 SYSCTL 的硬件错误信号
优先级 硬件优先级:中断映射的 IRQ 编号 默认优先级:NVIC 编号(4)
不可屏蔽中断被视为具有最高的软件优先级 系统异常(复位、NMI、硬故障)具有固定的优先级 -3、-2 和 -1
可屏蔽中断有 4 个软件优先级:0(主)、1、2 和 3(软件优先级被禁用) 外设中断有 4 个可编程优先级:0、64、128、192
优先级设置 ITC_SPRx 寄存器:用来定义每个中断矢量的软件优先级(5)CCR 寄存器:用来自动载入当前中断请求的软件优先级(6) NVIC 中的 IPRx 寄存器:用于设置外设中断优先级
中断屏蔽 相应的中断使能位在外设控制寄存器中设置 外设侧的 IMASK 寄存器:用于配置哪些中断条件会传播到事件中(7)
NVIC 中的 ISER 和 ICER 寄存器:用于启用或禁用外设中断
要生成外部中断,必须将相应的 GPIO 端口配置为输入模式并启用中断。
除了 NVIC 外,MSPM0 器件上还可以存在中断分组模块(INT_GROUP0 和 INT_GROUP1),以便能够将更多外设中断连接到 NVIC。外部中断/GPIO 中断位于 INT_GROUP1 模块中。
只有 STM8S 器件支持顶级硬件中断 (TLI)。
如果多个 NVIC 中断具有相同的可编程优先级,NVIC 编号表示相对中断优先级。
禁止向 VECTxSPR[1:0] 写入 10(优先级 0)。如果写入 10,则保留之前的值,中断优先级保持不变。
无论 CCR 寄存器的位 I1 和 I0 的状态如何,都会处理不可屏蔽中断源。
MSPM0 的事件处理程序和相关管理寄存器如MSPM0 的事件处理程序所示。

对于 MSPM0 器件,中断或异常的优先级值越低,优先级就越高。当处理器当前正在处理中断时,处理器只能被具有高优先级的中断抢占。对于 STM8 器件,中断或异常的优先级值越高,优先级就越低。STM8 器件具有两种中断管理模式:并发模式和嵌套模式。相关详细信息,请参阅器件特定数据表。