# 项目名称：Mcu_ModeDemo

---

## 功能描述

**Mcu_ModeDemo** 旨在演示 Mcu 模块如何切换不同的 Power Mode。本示例涉及的模块包括 Resource、Platform、Mcu、GPT、Port、Det、Dio 和 EcuM。DEMO 使用 LPTMR 作为唤醒源。它利用 PTB4、PTB5、PTE8 作为输出引脚，使连接到 PTB4、PTB5、PTE8 的 LED 指示示例的当前状态。

❗如果在 `MCAL_ENABLE_USER_MODE_SUPPORT` 模式下，需要将唤醒源的中断优先级设置为 0，否则会由于中断优先级被屏蔽的原因导致不能正常唤醒 Mcu

使用的引脚有：

| 引脚 | 用途 |
| :--: | :--: |
| PTB4 | LED_B |
| PTB5 | LED_G |
| PTE8 | LED_R |

不同模式下的 LED 状态：

|   模式    | LED_R  |  LED_G  |  LED_B  |
| :-------: | :----: | :-----: | :-----: |
|    RUN    | STD_ON | STD_ON  | STD_ON  |
|   SLEEP   | STD_ON | STD_ON  | STD_OFF |
| DEEPSLEEP | STD_ON | STD_OFF | STD_ON  |
|  STANDBY  | STD_ON | STD_OFF | STD_OFF |
| POWERDOWN | STD_OFF | STD_OFF | STD_OFF |

---

## 步骤

+ ***步骤1***: 使用 YCT 工具打开 Mcu_Demo.yct，根据您的需求配置工具链（默认使用 VS code + GCC）
+ ***步骤2***：生成代码，如果需要，可以更改配置（以适应您自己的硬件设计），如果这样做，请确保所有修改都正确无误，没有错误存在，然后再生成代码。
+ ***步骤3***: 使用您选择的 VS code/IAR/Keil IDE 打开生成的项目。
+ ***步骤4***: 编译项目，给 EVB 上电并通过可用的调试器（如 J-Link 调试器探头）下载到 EVB。
+ ***步骤5***: 最后，享受演示示例。

---

## 硬件需求
+ **EVB**: YTM32B1MD1-EVB-Q100-Rev.A/B
+ **调试器**: J-Link HW v9 或更高版本，安装了 YUNTU `YTM32B1MD1` 补丁（支持包）。

***注意***: 请确认EVB底部的版本号，如果是***YTM32B1MD1-EVB-Q100-Rev.A***，`Icu_Demo`请使用以`_RevA`结尾的样例工程。

---

## 软件需求

+ **配置和代码生成工具**
  + **MCAL**: Yuntu Config Tool(YCT) v2.7.0 或更高版本
+ **编译器工具链**
  + **GCC**: GNU GCC v10.3 或更高版本
  + **Keil/MDK**: ARM Keil/MDK v5.36 或更高版本(编译器推荐使用`armclang v6.18.2`)
  + **IAR**: IAR v9.50 或更高版本
  + **VS Code**: Microsoft Visual Studio Code IDE v1.76 或更高版本（需要 C/C++ 支持，GNU 工具链，CMake v3.25，ninja，Cortex-Debug 扩展安装）
+ **Debugger driver**
    + **J-Link**: SEGGER J-Link v7.82 或更高版本，需要安装 YUNTU `YTM32B1MD1` 补丁（支持包）。
    + **Ozone Debugger tool**: SEGGER Ozone v3.28 或更高版本。

    ***注意***: 需要安装 **YTM32B1MD1** 补丁，补丁可通过 **YCT** 工具或联系 ***云途 销售/FAE 团队***获取.

---