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.

[参考译文] TM4C1294NCPDT:带 Petit 文件系统的 SD 引导加载程序

Guru**** 2553260 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/969931/tm4c1294ncpdt-sd-bootloader-with-petit-file-system

器件型号:TM4C1294NCPDT

尝试使 SD 引导加载程序与 TM4C1294器件上的 Petit 文件系统一起工作。 在退出 Updater 时,引导加载程序以原始格式工作。 但是,如果我将代码中的 Petit 函数 pf_mount()与函数 pf_mount()中的所有代码相链接,则在重置期间,我的程序跳转到错误的位置,而不转至 ResetISR()。

更奇怪的是,我可以从 Updater ()调用 disk_initial(),在 pf_mount()之外,引导加载程序一直运行到这一点。 某些内容必须在中断矢量表中进行散列、但不确定在哪里/如何操作。  我尝试增加堆栈大小等、但没有变化、似乎无法逾越。 想知道是否有人能够获得使用 TM4C1294器件的 SD 引导加载程序? 如果有任何帮助或建议、我们将不胜感激。

此致、

Bob Starr

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

    更新、进一步进展。 闪存后或调试器中的引导加载程序似乎未正确复位。 如果我退出调试会话并手动复位处理器,它现在似乎正在执行 Updater ()中的代码。 固件更新仍不成功、但至少有更多进展。 只需使用闪烁的 LED、因为调试器在引导加载程序和重定位代码方面没有太大帮助。 当我能够从 SD 成功进行固件更新时、将发布更多更新。

    此致、

    Bob Starr

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

    Bob、您好!

    [引用 user="Robert Starr">更新,进一步的进度。 闪存后或调试器中的引导加载程序似乎未正确复位。 如果我退出调试会话并手动复位处理器,它现在似乎正在执行 Updater ()中的代码。

    这种行为可能在一定程度上取决于引导加载程序的设置方式以及触发引导加载程序的内容。

    您是否从任何 TivaWare 工程开始? 或者想要发布任何您认为可能是问题的代码、以便我可以查看吗?

    我对 SD 卡操作不太熟悉、因此根据此处的信息、我不能根据您的最新进展提供很多见解。

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

    您好、Ralph、

    感谢您的回复。 由于 ResetISR()在调试器中运行时会跳到疯狂的某个位置,因此我无法让调试器在代码重新定位之前运行。 但是、如果我刷写代码并重新启动、我能够切换一些 LED、并至少看到现在的情况有多远。 看来我现在终于取得了一些进展。 我现在正在尝试正确配置 SPI、并与此作斗争。 我会以某种方式或另一种方式报告。 如果我能让它帮助他人、我会很高兴发布所有代码。 对于很多希望在现场进行更新的人来说、从 SD 闪存似乎是非常理想的。 希望 TI 在引导加载程序代码中将其作为构建选项包含在内。 很快就会回来报告、再次感谢您的回复。

    此致、

    Bob Starr

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

    尊敬的 Bob:

    老实说、这是几年来我第二次听到这个请求... 不确定是否只是因为我们不提供。

    尽管说到这一点、我们也推荐了一种有关 SD 卡的 TI 设计、Amit (前 Guru)在这里为另一位正在研究该功能的客户介绍了这一点: https://e2e.ti.com/support/microcontrollers/other/f/908/p/354781/1974707#1974707

    启动加载程序的调试肯定会比较棘手。 如果您正在执行 ResetISR、则可能会断开与调试链的连接。 之后、您是否尝试重新连接到目标? 也许、如果您有一个按钮、您可以让引导加载程序旋转、直到您按下按钮、然后尝试重新连接到目标、按下按钮以从循环中中断、并在调试器以这种方式工作的情况下执行引导加载程序代码?