.. _部分芯片低功耗调试配置: 部分芯片低功耗调试配置 ========================================= 本文档描述了部分芯片中低功耗相关的调试配置选项。 这些配置分为两部分:打印调试控制和实际运行代码控制,通过预编译常量控制特定功能的使能状态。 开关这些控制位,可以控制代码大小。 各个系列芯片支持的配置情况 ########################################################## .. note:: | 表格符号含义: | 1. √ 表示已经实现 | 2. × 表示在当前项目中未实现 修改后禁止用于生产的配置 *************************************************************************************************** +----+---------------------------------+--------------+--------------+--------------+--------------+ | 表一 AD1x-4578_AC104 SDK 低功耗配置支持情况,此表内容修改后禁止用于生产 | +----+---------------------------------+--------------+--------------+--------------+--------------+ |序号| 配置项 | AD14N | AD15N | AD17N | CD09(CH58) | +====+=================================+==============+==============+==============+==============+ | 1 | debug_is_idle | × | × | √ | √ | +----+---------------------------------+--------------+--------------+--------------+--------------+ 允许修改的配置 *************************************************************************************************** +----+---------------------------------+--------------+--------------+--------------+--------------+ | 表二 AD1x-4578_AC104 SDK 低功耗配置支持情况,此表内容允许修改 | +----+---------------------------------+--------------+--------------+--------------+--------------+ |序号| 配置项 | AD14N | AD15N | AD17N | CD09(CH58) | +====+=================================+==============+==============+==============+==============+ | 1 | control_soff | √ | √ | √ | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ | 2 | control_pdown | √ | √ | √ | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ | 3 | control_poff | × | × | × | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ 严禁修改的配置 *************************************************************************************************** +----+---------------------------------+--------------+--------------+--------------+--------------+ | 表三 AD1x-4578_AC104 SDK 低功耗配置支持情况,此表内容严禁修改 | +----+---------------------------------+--------------+--------------+--------------+--------------+ |序号| 配置项 | AD14N | AD15N | AD17N | CD09(CH58) | +====+=================================+==============+==============+==============+==============+ | 1 | pdebug_xosc_resume | × | × | × | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ | 2 | pdebug_pdown_info | × | × | × | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ | 3 | pdebug_uart_lowpower | × | × | × | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ | 4 | pdebug_uart_port | × | × | × | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ | 5 | pdebug_putbyte_pdown | × | × | × | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ | 6 | pdebug_putbyte_soff | × | × | × | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ | 7 | pdebug_lp_dump_ram | × | × | × | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ | 8 | pdebug_uart_flowing | × | × | × | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ | 9 | pdebug_reserve_time | × | × | × | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ | 10 | control_power_reset_mark | × | × | × | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ | 11 | control_power_soft_reset | × | × | × | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ | 12 | control_power_pinr_reset | × | × | × | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ | 13 | control_power_pinr_reset | × | × | × | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ | 14 | control_power_latch_reset | × | × | × | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ | 15 | control_power_reset | × | × | × | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ | 16 | control_power_wakeup_mark | × | × | × | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ | 17 | control_power_wakeup | × | × | × | × | +----+---------------------------------+--------------+--------------+--------------+--------------+ ^^^^^^^^^^^^^^^^^^^^ 第一部分:打印调试控制 ########################################################## 此部分配置用于调试目的,通过串口输出调试信息,不影响实际功能逻辑。 ^^^^^^^^^^^^^^^^^^^^ 空闲状态调试 *************************************************************************************************** **1.功能:** 系统调用休眠函数,但还没有完全进入低功耗休眠时的打印信息。 .. code-block:: C :linenos: :emphasize-lines: 1 const char debug_is_idle = 0; **2.输出信息:** - 蓝牙和系统可进入低功耗的时间(毫秒) - 当前处于 busy 状态的模块 - 若 usr_timer 忙,则打印对应的函数地址 ^^^^^^^^^^^^^^^^^^^^ 第二部分:实际运行代码控制 ########################################################## 此部分配置控制实际功能模块的编译与运行。 ^^^^^^^^^^^^^^^^^^^^ PMU 相关模块开关 *************************************************************************************************** **1.使能pdown模块:** .. code-block:: C :linenos: :emphasize-lines: 2,4 #if 1 // 由 TCFG_LOWPOWER_LOWPOWER_SEL 配置决定 const bool control_pdown = 1; #else const bool control_pdown = 0; #endif **2.使能SOFF模块:** .. code-block:: C :linenos: :emphasize-lines: 1 const bool control_soff = 1; // 通常由 TCFG_LOWPOWER_SOFF 配置 **3.使能poff模块:** .. code-block:: C :linenos: :emphasize-lines: 2,4 #if 0 // 由 TCFG_LOWPOWER_LOWPOWER_SEL 配置决定 const bool control_poff = 1; // DEEP_SLEEP_EN 时使能 #else const bool control_poff = 0; #endif ^^^^^^^^^^^^^^^^^^^^ .. .. note:: .. .. | 用户若使用到audio部分或已初始化audio部分,进入powerdown前需要关闭audio,避免功耗过高。 .. | 具体操作可参考gpio_config_soft_poweroff()函数。(该函数为进入softoff的回调函数)