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:0x3FE468无源可用

Guru**** 2540720 points
Other Parts Discussed in Thread: UNIFLASH, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/608844/launchxl-f28377s-no-source-available-for-0x3fe468

器件型号:LAUNCHXL-F28377S

我们尝试在套件中刷写程序。 它会被刷写并准备好执行。
但我们收到错误"0x3FE468"没有可用的源代码"。
然后、我们尝试从开始步进程序。 它一直执行到'Init SYSCTRL"并停留在'InitFlash_BANK0'。
我们保持开关编号 3打开、开关编号 1在闪烁时熄灭。 闪烁后、我们将开关编号切换 1至 ON 位置并重置套件。 但程序从未执行。
步进时、在 View Disassembly 中、它在3fe493处停止、它获得命令"Estop"。 因此不再执行。

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

    您使用什么工具对 F28377S 中的闪存进行编程? 如果是 UniFlash 或 CCS Flash 插件、请确保保持启用 AutoEccGeneration 复选框(在 GUI 中)。 默认情况下、它处于启用状态。

    同时、我将检查地址0x3fE493以查看它与什么相关。

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

    TRM 中 Boot ROM 章节的第3.9.2节“等待点”指出地址0x3fE493属于 ITRAP ISR。

    在执行 InitFlash_BANK0 ()之前、您是否使用 memcpy ()函数将 InitFlash_BANK0 ()函数从闪存复制到 RAM? 否则、它将使用 ITRAP、因为相应的 RAM 位置将有垃圾。

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

    我们尝试选中"AutoEccGeneration"复选框。 它仅显示了一个已选中的选项"调试"。
    我们使用的是 CCS 6.2.0。
    我们尝试在闪存模式下刷写演示程序'example_28377SLaunchPad'、我们在前一封邮件中讨论了这些问题。
    ​我们使用的套件是'LAUNCHPADXL-F28377S'。 ​


    您能否为我们提供分步说明、指导我们在闪存和 RAM 中运行程序(详细说明、包括不同时间的引导开关位置、应包含哪些文件、必须为相应模式选择哪些选项等)?

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

    我们附加了一个显示不同颜色(灰色)的 CCS 屏幕图像文件。

    ​程序的这一部分负责闪存。 请查看此内容。

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

    如果您还没有、请从位于 C2000Ware (在器件支持示例中)的此演示的最新版本开始。
    要从闪存运行、请排除 RAM 链接器并包含闪存链接器。 转至项目属性、build->C2000 Compiler->Advanced options->Predefined Symbols 并添加"_flash"作为预定义。 您不需要在该 #ifdef 中添加"InitFlash()" ,因为它将在 InitSysCtrl()中被初始化。 当不再进行调试时、将两个开关都设置为"打开"以转至 GetMode。 有关引导模式的详细信息,请参阅 TRM ( http://www.ti.com/lit/spruhm8 )。

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

    感谢你的答复。
    我们尝试添加_FLASH、因此灰色部分变为正常、然后根据通知、我们将开关保持在'GetMode'的相应位置。
    我们尝试通过闪存执行它、但程序未运行。因此、我们尝试通过使开关保持等待模式来单步执行它。
    在这里、我们可以观察到、在"SysCtrl.c"中、它一直执行到"InitFlash_BANK0"。 但是、一旦它进入子例程'void InitFlash_BANK0 (void)'、它就会显示错误'No source available for "0x3fe468"。
    随附显示此位置"0x3fe468"的'View Disassembly'文件错误的镜像文件。 我们还通过 google 驱动器连接了程序的文件夹。 请仔细查看此问题、并帮助我们解决此问题。 ​​

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

    绿色、

    我想您忘记为附件提供链接。

    地址0x3fe468是指 ITRAP ISR。  在步骤执行期间,调用 memcpy()函数后,是否检查 InitFlash_BANK0()函数内容是否从闪存复制到 RAM?  您在 RAM 中看到代码了吗?  如果未将其复制到 RAM、CPU 将执行从 RAM 中提取的非法操作码、从而导致 ITRAP。

    您使用的是哪个链接器命令文件?

    谢谢、此致、
    Vamsi

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


    尊敬的 Vamsi:

    感谢您的回答。

     这是附件、希望它对您有所帮助。

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

    不需要屏幕截图。 在之前的答复中、您说您附加了您的项目。 但我没有发现任何问题,因此提出了问题。

    您是否在我之前的回复中检查了我的问题? 请回答这些问题、以便我们能够提供帮助。

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

    我看到这个线程已经关闭、但我看不到您的响应。
    您是否根据我们的建议修复了该问题? 请进行更新、以便其他人可以从此主题中受益。

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

    假设您根据我们的建议解决了问题、我将关闭此主题。
    如果您有进一步的问题、可以开始新的主题。

    谢谢、此致、
    Vamsi