5.20 DBG 使用说明
本章说明 N32G033 标准外设库中 DBG 驱动的文件组成与 3 个公开函数。调试接口、断点功能与调试时各外设的运行状态请配合用户手册的“调试支持(DBG)”章节阅读,芯片已知问题以勘误手册为准。
5.20.1 相关文件
| 相对路径 | 作用 |
|---|---|
firmware/n32g033_std_periph_driver/inc/n32g033_dbg.h |
声明读取唯一客户 ID、唯一器件 ID 与 DBG_ID 编号的 3 个公开函数,并给出读取长度等宏 |
firmware/n32g033_std_periph_driver/src/n32g033_dbg.c |
实现上述 3 个函数:从对应基地址按字节循环读出唯一客户 ID、唯一器件 ID 与 DBG_ID 编号 |
firmware/CMSIS/device/n32g033.h |
定义唯一客户 ID、唯一器件 ID 与 DBG_ID 编号的基地址及读取长度 |
5.20.2 API 参考
以下 3 个公开函数按 n32g033_dbg.h 的声明顺序分为 1 组;每个条目给出功能摘要与 n32g033_dbg.c 中该函数正上方的注释原文。
唯一标识读取
GetUCID、GetUID、GetDBGMCU_ID
void GetUCID(uint8_t *UCIDbuf)读取唯一客户 ID。
源码注释
name UCID_Get.
fun get unique customer id.
param UCIDbuf
return none
使用提示: 该函数在 n32g033_dbg.h 第 65 行声明;源码注释块中的 name 写作 UCID_Get.,与函数名 GetUCID 不一致,注释原文照抄未改。
void GetUID(uint8_t *UIDbuf)读取唯一器件 ID。
源码注释
name UID_Get.
fun get unique device id.
param UIDbuf
return none
使用提示: 该函数在 n32g033_dbg.h 第 66 行声明;源码注释块中的 name 写作 UID_Get.,与函数名 GetUID 不一致,注释原文照抄未改。
void GetDBGMCU_ID(uint8_t *DBGMCU_IDbuf)读取 DGC_ID 编号。
源码注释
name GetDBGMCU_ID.
fun get the DGC_ID number.
param none
return revision number
5.20.3 Demo 示例说明
当前 SDK 未提供 DBG 的独立示例工程。
5.20.4 注意与排障
| 场景 | 检查与建议 | 来源 |
|---|---|---|
| SWD 接口引脚 | 用户手册 N32G033 的调试支持(DBG)章写明 SWD 串行调试接口的两根引脚为 SWDIO(PA13)与 SWCLK(PA14); 调试器通过这些引脚调用调试功能。 |
用户手册 |
| 调试器连接前提 | 用户手册 N32G033 的调试支持(DBG)章写明内核硬件调试模块在连接到调试器时即可使用(未被禁止时); 未连接调试器时不进行调试访问。 |
用户手册 |
| 调试时外设停止 | 用户手册 N32G033 的电源控制(PWR)章“外设调试支持”写明支持部分外设在调试状态下停止工作(TIM1/3/4/6、I2C1/2、IWDG); 具体由 DBG_CTRL 寄存器位域控制。 |
用户手册 |
| 读取的标识长度 | 用户手册 N32G033 的调试支持(DBG)章与 SDK 头文件写明唯一客户 ID、唯一器件 ID 与 DBG_ID 编号的读取长度各不相同; 传入的缓冲区要能容纳对应长度,避免越界写入。 |
用户手册 |
勘误手册 V1.0.0(2025.9.25)针对 A 版芯片,未列出 DBG 相关条目。