# 项目名称：Icu_Port_Wakeup_demo
---
## 功能描述
本项目演示了从待机模式或断电模式唤醒ICU的示例。SW3能够从断电模式唤醒，而SW3和SW2都能从待机模式唤醒。SW3通过EcuM配置，并会报告EcuM事件。

---
## 待机模式下的操作（默认）
+ ***步骤1***: 将代码下载到EVB中。5秒后，JTAG将断开，因为MCU进入待机模式（用户可以更改代码为断电模式）。只有蓝色LED会亮。
+ ***步骤2***: 按下SW2唤醒MCU。MCU将重新运行，绿色LED会亮。
+ ***步骤3***: 重置板子。等待蓝色LED亮起，然后按下SW3唤醒MCU。绿色和红色LED都会亮，EcuM事件将被设置。

![EcuM](./image.png)

---

## 断电模式下的操作
将代码`Mcu_SetMode(McuConf_McuModeSettingConf_McuModeSettingConf_1);`改为`Mcu_SetMode(McuConf_McuModeSettingConf_McuModeSettingConf_2);`
+ ***步骤1***: 将代码下载到EVB中。5秒后，JTAG将断开，因为MCU进入断电模式。只有蓝色LED会亮。
+ ***步骤2***: 按下SW3（SW2无法从断电模式唤醒）唤醒MCU。MCU将重新运行并在IcuWakeupNotification中停止。只有红色LED会亮。
---
## Icu硬件连接图
不需要。

---
## 硬件需求
+ **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 团队***获取.

---