This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS470MF06607 BootLoader调转到APP后,APP中断无法正常调用。

Other Parts Discussed in Thread: TMS470MF06607

您好:

我现在用TMS470MF06607,在BootLoader调转到APP时,APP调用的中断,无法正常调用。APP起始地址为0x10000, loader地址为0起始,但是调转到APP后APP调用的中断总会调转回loader的PC地址。请问这是什么问题?

  • 您现在是使用哪种引导程序?CAN/SCI?

    TMS470M设备有一个基于CAN的引导加载程序。此引导加载程序的下载位于:

    processors.wiki.ti.com/.../Category:TMS470M

    我们还提供位于TMS570产品的SCI引导加载程序示例:

    processors.wiki.ti.com/.../Category:TMS570

    该项目可以为您提供有关如何将SCI部分集成到TMS470M项目中的参考。请注意,TMS570引导加载程序将使用其他Flash API,因此不能直接使用。
  • 您好,我的程序需要兼容很多种引导。您给的这个连接已经下载不了470的引导程序了。我从别的渠道下载到了这个工程,但是这个引导无法直接用至470MF6607,其中内容都是MR4与TMS570的。
    并且其中需要把FLASH的API转移至SRAM是F021的,但是470是F035的其中汇编指令也存在差异, 尝试了下,无法调用API,关于这方面我需要关注什么呢?
  • “但是调转到APP后APP调用的中断总会调转回loader的PC地址”

    现在是能成功跳转到APP,但是APP内的中断跳转不正常?看起来像是“跳转至APP的复位向量表”没有成功。由于堆栈位于SRAM中,因此该应用程序的中断向量表的第一个word值应为0x08xxxxxx。

    参考 www.ti.com/.../spna200.pdf 的第12页 2. Load the user application code.

    引导加载程序的基本功能是它使用串行协议(CAN,SCI,SPI等)在MCU中接收数据。收到后,必须将数据放入RAM中的已知位置。通常,接收到的第一个数据是目标代码,它被放入指定的RAM中。该目标代码是可执行代码,具有通信接口以及用于对设备中的闪存进行编程的算法。一旦已接收到该目标代码并将其放置在RAM中,则引导加载程序将在RAM中执行该代码。从RAM执行的代码然后在通信数据包内部接收应用程序的目标代码,并将其放置在RAM缓冲区中,并调用用于编程闪存的算法以将缓冲区内容编程到闪存中。这将逐节重复,直到将整个应用程序编程到设备中为止。完全编程后,将复位设备并开始正常应用。
  • 另外建议在 e2e.ti.com/.../312 发帖,TMS470的引导程序,他们会更熟悉一些