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.

[参考译文] LAUNCHXL-F28377S:闪存编程问题

Guru**** 2337880 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/587281/launchxl-f28377s-flash-programming-question

器件型号:LAUNCHXL-F28377S

大家好、TI 社区、

我想知道是否可以将程序刷写到 LaunchXL-F28377S 上、并使其能够在我打开电源时运行。 我目前正在查看技术参考手册中的引导模式部分、但我对不同引导模式的作用和"引导"通常指的是什么感到困惑。 当电源插入以打开器件时、引导是否意味着什么? 目前、每当我将微型 USB 电缆插入电路板时、它都会复位到闪烁示例中。 每次我想复位器件时、我都必须重新刷写我的程序。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Brenden、

    确保为您的项目使用基于闪存的链接器命令文件(例如2837xS_Generic_flash_lnk.cmd)。 这将确保您的代码映射到闪存、因此当您通过 CCS 将 COFF 文件加载到器件时、您的应用程序会编程到闪存中。

    要从较高的层面回答有关引导过程的问题:每当您对器件进行下电上电(或进行任何其他复位)时、首先执行的代码是引导代码-存在于器件的 BootROM 存储器空间中。 此启动代码将初始化器件、使其进入已知良好状态、以便此后可以执行任何应用代码。 在器件初始化结束时、引导代码读取少量用户可配置的 GPIO 引脚、以了解用户希望引导代码在器件初始化后执行的操作。 例如、如果用户想要通过 JTAG 对闪存进行编程、他会将引导模式 GPIO 引脚配置为"等待"模式。 引导代码读取此配置并保持无限循环、以便用户可以连接仿真器并通过 CCS (或其他工具)继续执行闪存程序。 将用户应用程序加载到闪存后、用户将将引导模式 GPIO 配置为"闪存引导"模式、并在独立模式下对器件进行循环通电。 器件初始化且 CPU 开始从闪存执行用户应用程序后、引导代码现在将跳转到闪存入口点。 用户可能希望根据需要使用其他引导模式。

    在您的情况下、一旦您使用 CCS 将应用程序编程到闪存、就将引导模式 GPIO 引脚配置为"引导至闪存"模式。 当您对器件进行下电上电时、您的应用程序将从闪存执行。

    希望这对您有所帮助。

    谢谢、此致、
    Vamsi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Vamsi、

    因此、在 C2000链接器下的工程属性中、在我之前具有"2837xS_Generic_RAM_lnk"的文件搜索路径中、我根据说明将"2837xS_Generic_flash.lnk"更改为"2837xS_Generic_flash.lnk"。 现在、当我重新启动评估板时、我的程序将保留在板上。 不过、有一个小问题。 当我在 CCS 中进行调试并按运行时、我跳转至"F2837xS_DefaultISR.c"中名为"ILLEGAL_ISR"的中断函数。 当我通过 RAM 进行编程时、以前没有发生过这种情况。 在上下文中、我的程序中有两个 ISR、一个处理从 ePWM 转换 ADC 的启动、另一个处理来自 CPU 计时器的转换(但是、我注释了 CPU 计时器0 ISR 的初始化、因此实际上只有一个 ISR 存在)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Brenden、

    我注意到、您为新问题开始了另一个主题、这很好。
    我将就这一帖子作出答复。 我要关闭此主题。

    谢谢、此致、
    Vamsi