TMS320F280049C: EMU-BOOTPIN-CONFIG KEY !=0X5A 为什么带仿真器是能正常运行

Part Number: TMS320F280049C
Other Parts Discussed in Thread: TMS320F280049

一个TMS320F280049的一个板子,GPIO24和GPIO32外部的上拉已经去掉,实际测试不带仿真器上电程序不能运行。

带上仿真器后可以运行,查看寄存器 EMU-BOOTPIN-CONFIG(0x000 0D00)值为0x9A89 2592,

即key!=0x5A;

98698f81-5ec0-43d4-96ee-6c8a4d32ea10.png

按照sprui33h.pdf手册中的描述,仿真模式下如果key!=0x5A的话应该进入Wait Boot,但是实际测试下来我的程序时已经正常运行了,外部能接收CAN通讯数据。请问这是为什么呢,是我的理解哪里出错了?

下面是sprui33h.pdf 4.4章节中 Boot的流程图:

fbc281ec-ff9b-456f-b00c-0967545d8be0.png

f0a84356-e32a-4e5f-a0f4-df098c70c7bc.png

 

  • 您好

    已经收到了您的案例,调查需要些时间,感谢您的耐心等待

  • EMU_BOOTPIN_CONFIG 寄存器只在 ROM Boot Loader 阶段有效,程序已经启动,此寄存器值只是历史记录。

    可能是您的程序已经烧录到 Flash 中,如果 Flash 中有有效程序,即使启动模式引脚配置不对,某些情况下芯片仍会尝试从 Flash 启动, 这取决于 Flash 程序的入口向量是否有效.也有可能是ROM Boot Loader 读取 Flash 入口地址,但是发现无效,进入Wait Boot 模式

    带仿真器正常运行可能是JTAG 上拉/下拉影响 GPIO24/GPIO32,芯片读到正确的 Flash Boot 模式,也可能是CCS自动通过 JTAG 加载程序到 RAM。

    您可以看看评估板的Boot mode select电路。

    https://www.ti.com/lit/ug/spruii7b/spruii7b.pdf