英飞凌
直播中

吴湛

10年用户 928经验值
擅长:电源/新能源
私信 关注

TC3XX只能在连接调试器时启动,为什么?

在 AP32555 中,有一章:""当调试器被移除时,设备无法启动 "描述了与 BMHD 有关的内容,我发现如果将十六进制文件编入一个没有 UCB_BMHD 的空设备的 PFLASH 中,当调试器连接时,设备可以启动,我知道了移除调试器时器件不启动的原因(没有 UCB_BMHD,sw 无法跳转到起始地址),但为什么连接调试器时器件可以启动? 调试器如何找到起始地址(似乎绕过了 BMHD 的评估)?
谢谢!

回帖(1)

王霞

2024-7-3 16:55:28
TC3XX 设备在连接调试器时能够启动,但在移除调试器时无法启动的原因可能与以下几个方面有关:

1. **调试器的影响**:当调试器连接到设备时,它可能会对设备的硬件或软件进行干预,从而允许设备在没有 BMHD(Boot Media Header Descriptor)的情况下启动。调试器可能通过某种方式绕过了 BMHD 的评估,直接将控制权交给了设备的启动代码。

2. **BMHD 的作用**:BMHD 是一个重要的组件,它包含了设备启动所需的关键信息,如启动媒体的类型、启动代码的位置等。在没有 BMHD 的情况下,设备可能无法正确地识别和加载启动代码,从而导致设备无法启动。

3. **调试器如何找到起始地址**:调试器可能通过以下方式找到设备的起始地址:
   - **硬件接口**:调试器可能通过与设备的硬件接口(如 JTAG 或 SWD)进行通信,获取设备的内存映射信息,从而找到启动代码的位置。
   - **软件干预**:调试器可能通过修改设备的内存或寄存器,直接将控制权交给启动代码的起始地址。

4. **固件问题**:如果将十六进制文件编入一个没有 UCB_BMHD 的空设备的 PFLASH 中,设备在连接调试器时可以启动,这可能表明固件中存在一些问题。在这种情况下,调试器可能通过某种方式弥补了固件的不足,使设备能够启动。

5. **设备配置问题**:设备在连接调试器时能够启动,但在移除调试器时无法启动,这可能与设备的配置有关。例如,设备可能需要在调试器连接时进行特定的配置,以便在没有 BMHD 的情况下启动。

综上所述,TC3XX 设备在连接调试器时能够启动的原因可能与调试器的干预、BMHD 的作用、调试器如何找到起始地址、固件问题以及设备配置问题等多个方面有关。要解决这个问题,可能需要对设备的硬件、软件和配置进行全面的检查和调整。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分