会员登录 立即注册

搜索

固件调试信息

[复制链接]
崎山小鹿 发表于 7 小时前 | 显示全部楼层 |阅读模式
崎山小鹿
7 小时前 54 0 看全部
*** AGDI-Msg: AG_Init code 786
*** AGDI-Msg: AG_Init Status: Flash Download in Progress.
*** AGDI-Msg: AG_Init code 256
*** AGDI-Msg: AG_Init code 513
*** AGDI-Msg: AG_Init code 514
*** AGDI-Msg: AG_Init code 515
*** AGDI-Msg: AG_Init code 516
*** AGDI-Msg: AG_Init code 517
*** AGDI-Msg: AG_Init code 518
*** AGDI-Msg: AG_Init code 519
*** AGDI-Msg: AG_Init code 787
*** AGDI-Msg: AG_Init Status: AG_INITFLASHLOAD.
*** AGDI-Msg: AG_Init code 1036
*** AGDI-Msg: AG_EXECITEM/AG_UNINIT
*** AGDI-Msg: StopTarget value 0.
*** AGDI-Msg: StopTarget value 1.
*** AGDI-Msg: AG_Init code 786
*** AGDI-Msg: AG_Init code 256
*** AGDI-Msg: Attempting Connection.
*** AGDI-Msg: Connection successful.
*** AGDI-Msg: AG_Init code 513
*** AGDI-Msg: AG_Init code 514
*** AGDI-Msg: AG_Init code 515
*** AGDI-Msg: AG_Init code 516
*** AGDI-Msg: AG_Init code 517
*** AGDI-Msg: AG_Init code 518
*** AGDI-Msg: AG_Init code 519
Load "C:\\Users\\崎山小鹿\\Desktop\\gujian\\testGetAdc\\testGetAdc"
*** AGDI-Msg: AG_Init code 1037
*** AGDI-Msg: Reset successful.

这些信息是 **Keil µVision** 在通过 **Silicon Labs USB Debug Adapter** 调试 **C8051F321** 时输出的 **AGDI(Advanced Generic Debug Interface)调试驱动日志**。

它们**不是错误码**,而是调试驱动在不同阶段的状态编号。
整个过程实际上是:

```
调试驱动初始化

连接调试器

连接MCU

下载Flash

复位MCU

进入调试状态
```

下面按**真实发生的顺序**解释每一条。

---

# 一、开始下载 Flash

```
*** AGDI-Msg: AG_Init code 786
*** AGDI-Msg: AG_Init Status: Flash Download in Progress.
```

含义:

* `786` 表示 **Flash 下载流程启动**
* `Flash Download in Progress` 表示 **正在向 MCU 写入程序**

也就是:

```
PC → USB Debug Adapter → MCU Flash
```

在把你的程序写进芯片。

---

# 二、调试驱动初始化

```
*** AGDI-Msg: AG_Init code 256
```

含义:

```
AGDI 初始化开始
```

这是调试驱动启动阶段。

---

# 三、调试接口初始化步骤

接下来这一串:

```
513
514
515
516
517
518
519
```

是 **调试驱动内部初始化步骤**。

一般对应:

| Code | 含义(大致)     |
| ---- | ---------- |
| 513  | 初始化调试接口    |
| 514  | 读取设备ID     |
| 515  | 初始化寄存器访问   |
| 516  | 初始化Flash控制 |
| 517  | 初始化RAM访问   |
| 518  | 初始化断点系统    |
| 519  | 调试器初始化完成   |

这些步骤说明:

```
调试器已经成功识别 MCU
```

---

# 四、进入 Flash 下载阶段

```
*** AGDI-Msg: AG_Init code 787
*** AGDI-Msg: AG_Init Status: AG_INITFLASHLOAD.
```

含义:

```
开始执行 Flash 写入操作
```

也就是:

```
HEX / ELF → MCU Flash
```

---

# 五、Flash下载完成

```
*** AGDI-Msg: AG_Init code 1036
```

通常表示:

```
Flash 下载完成
```

接下来调试器会准备进入调试模式。

---

# 六、调试器执行清理

```
*** AGDI-Msg: AG_EXECITEM/AG_UNINIT
```

含义:

```
调试驱动正在重新初始化执行环境
```

简单理解:

```
Flash 写完
重新配置调试环境
```

---

# 七、停止目标 CPU

```
*** AGDI-Msg: StopTarget value 0.
*** AGDI-Msg: StopTarget value 1.
```

表示调试器正在控制 MCU CPU。

| 值 | 含义      |
| - | ------- |
| 0 | 请求停止CPU |
| 1 | CPU已经停止 |

也就是:

```
调试器把 MCU CPU Halt
```

这样你才能单步调试。

---

# 八、重新初始化调试会话

接下来:

```
*** AGDI-Msg: AG_Init code 786
*** AGDI-Msg: AG_Init code 256
```

说明:

```
开始新的调试会话初始化
```

---

# 九、连接调试器

```
*** AGDI-Msg: Attempting Connection.
*** AGDI-Msg: Connection successful.
```

说明:

```
PC 成功连接 USB Debug Adapter
USB Debug Adapter 成功连接 MCU
```

所以硬件是正常的。

---

# 十、再次初始化调试接口

又一次出现:

```
513
514
515
516
517
518
519
```

原因是:

```
进入 Debug 模式
需要重新初始化寄存器访问
```

---

# 十一、程序加载

```
Load "C:\Users\崎山小鹿\Desktop\gujian\testGetAdc\testGetAdc"
```

表示:

```
Keil 正在加载调试符号
```

也就是:

```
ELF/AXF 文件
```

用于:

* 变量调试
* 单步
* 断点

---

# 十二、加载完成

```
*** AGDI-Msg: AG_Init code 1037
```

含义:

```
程序加载完成
```

---

# 十三、复位 MCU

```
*** AGDI-Msg: Reset successful.
```

表示:

```
调试器已经成功复位 MCU
```

此时 MCU 状态通常是:

```
PC = reset vector
CPU Halt
```

等待你点击:

```
Run
```

---

# 十四、整个过程的时间线

真实发生的是:

```
启动调试

连接调试器

识别MCU

下载Flash

Flash写入完成

停止CPU

重新初始化调试环境

加载符号

Reset MCU

等待运行
```

---

# 十五、这些信息说明了什么

你的日志实际上说明:

```
调试器连接正常
MCU识别正常
Flash下载正常
Reset正常
```

所以 **硬件没有问题**。

如果程序没有运行,通常是因为:

* CPU **处于 Halt 状态**
* 需要点击 **Run (F5)**

---

# 十六、为什么 Keil 要打印这么多代码

原因是 AGDI 是 **通用调试接口**,它需要支持很多芯片:

* ARM
* 8051
* Cortex-M
* DSP

所以内部用 **状态码**记录流程。

---

✅ **总结**

这些日志不是错误,而是说明:

```
调试器初始化成功
MCU连接成功
Flash下载成功
MCU复位成功
```

如果程序没有运行,只需要:

```
F5 → Run
```

---

如果你愿意,我还可以教你一个 **在 Keil 调试 C8051 时非常好用的技巧**:
通过 **Debug → Performance Analyzer** 判断 **Timer2 和 ADC 中断是否真的在运行**。这对你现在调试 ADC 非常有帮助。
天不生墨翟,万古如长夜!以墨运商,以商助墨。金双石科技长期招聘科技研发人才!微信:qishanxiaolu   电话:15876572365   公司:深圳市金双石科技有限公司
回复

使用道具 举报

  • 您可能感兴趣
您需要登录后才可以回帖 登录 | 立即注册 |

本版积分规则 返回列表

管理员给TA私信
以墨运商,以商助墨。

查看:54 | 回复:0

  • 高端神经反馈脑波检测系统

    高端神经反馈脑波检测系统分为脑波检测、脑波分析、脑波解码三个部分。 前端主程序

    阅读:14|2026-01-06
  • 国内第三方量化平台有哪些有什么特点

    好的,我们来详细了解一下国内主流的第三方量化平台。这些平台极大地降低了个人投资者

    阅读:1374|2025-12-09
  • 为什么脑波要去除伪迹

    1. 伪迹不是大脑信号 EEG设备记录的是头皮上非常微弱的电位变化(微伏级别,μV)。

    阅读:14|2025-12-05
  • 便携可视化语音AI耳机

    项目起源: 初先生的聊天记录: 你那边掌握的技术,有办法做一个有摄像头的,墨者机

    阅读:401|2025-12-01
  • 脑波峰值频率

    看看1-30Hz脑波功率曲线 发现15Hz之后的波动很小。 去掉15Hz之后的曲线 发现4Hz

    阅读:103|2025-11-28
  • 什么是基础节律

    🧠 一、什么是“基础节律”(Basic Rhythm) 基础节律 = 在闭眼静息状态下,大脑自发

    阅读:119|2025-11-27
  • 情绪指数EQ是什么?

    情绪指数 EQ 在脑波科学(特别是情绪解码、神经反馈、BCI 领域)中,通常不是单个固定

    阅读:232|2025-11-22
  • 抗癫痫作用的SMR波

    SMR 波(Sensorimotor Rhythm)是脑电学里一个非常重要、但经常被忽略的节律。它与运

    阅读:525|2025-11-22
  • 为什么科学家认为β波与人的注意、紧张相关

    科学家之所以非常确定 β波(13–30 Hz)与“注意、警觉、紧张、执行任务”相关,不是

    阅读:556|2025-11-22
  • 为什么说θ波与冥想、困倦相关

    科学界之所以认为 θ波(Theta, 4–7 Hz)与“冥想、困倦、催眠状态”有关,并不是玄

    阅读:529|2025-11-22
金双石科技,软件开发20年,技术行业领先,您的满意,就是我们的目标,认真负责,开拓进取,让成品物超所值
关于我们
公司简介
发展历程
联系我们
本站站务
友情链接
新手指南
内容审核
商家合作
广告合作
商家入驻
新闻合作

手机APP

官方微博

官方微信

联系电话:15876572365 地址:深圳市宝安区西乡街道宝民二路宝民花园 ( 粤ICP备2021100124号-1 ) 邮箱:qishanxiaolu@qq.com
QQ|Powered by Discuz! X3.5 © 2001-2026 Discuz! Team.
快速回复 返回顶部 返回列表