完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在 AP32555 中,有一章:""当调试器被移除时,设备无法启动 "描述了与 BMHD 有关的内容,我发现如果将十六进制文件编入一个没有 UCB_BMHD 的空设备的 PFLASH 中,当调试器连接时,设备可以启动,我知道了移除调试器时器件不启动的原因(没有 UCB_BMHD,sw 无法跳转到起始地址),但为什么连接调试器时器件可以启动? 调试器如何找到起始地址(似乎绕过了 BMHD 的评估)?
谢谢! |
|
相关推荐
1个回答
|
|
TC3XX 设备在连接调试器时能够启动,但在移除调试器时无法启动的原因可能与以下几个方面有关:
1. **调试器的影响**:当调试器连接到设备时,它可能会对设备的硬件或软件进行干预,从而允许设备在没有 BMHD(Boot Media Header Descriptor)的情况下启动。调试器可能通过某种方式绕过了 BMHD 的评估,直接将控制权交给了设备的启动代码。 2. **BMHD 的作用**:BMHD 是一个重要的组件,它包含了设备启动所需的关键信息,如启动媒体的类型、启动代码的位置等。在没有 BMHD 的情况下,设备可能无法正确地识别和加载启动代码,从而导致设备无法启动。 3. **调试器如何找到起始地址**:调试器可能通过以下方式找到设备的起始地址: - **硬件接口**:调试器可能通过与设备的硬件接口(如 JTAG 或 SWD)进行通信,获取设备的内存映射信息,从而找到启动代码的位置。 - **软件干预**:调试器可能通过修改设备的内存或寄存器,直接将控制权交给启动代码的起始地址。 4. **固件问题**:如果将十六进制文件编入一个没有 UCB_BMHD 的空设备的 PFLASH 中,设备在连接调试器时可以启动,这可能表明固件中存在一些问题。在这种情况下,调试器可能通过某种方式弥补了固件的不足,使设备能够启动。 5. **设备配置问题**:设备在连接调试器时能够启动,但在移除调试器时无法启动,这可能与设备的配置有关。例如,设备可能需要在调试器连接时进行特定的配置,以便在没有 BMHD 的情况下启动。 综上所述,TC3XX 设备在连接调试器时能够启动的原因可能与调试器的干预、BMHD 的作用、调试器如何找到起始地址、固件问题以及设备配置问题等多个方面有关。要解决这个问题,可能需要对设备的硬件、软件和配置进行全面的检查和调整。 |
|
|
|
只有小组成员才能发言,加入小组>>
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
4900 浏览 2 评论
4060 浏览 9 评论
请问TLE5012B_E1000 启动后为什么位置不能正确获取
3564 浏览 9 评论
1194 浏览 8 评论
3480 浏览 7 评论
389浏览 2评论
229浏览 2评论
337浏览 2评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
4914浏览 2评论
如果是打开已有的dave工程,怎么查看这个工程选择的mcu型号?
393浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 21:30 , Processed in 0.556889 second(s), Total 50, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号