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.

[参考译文] CC3235SF:关于无法在闪存中执行程序的问题

Guru**** 2560010 points
Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1081704/cc3235sf-on-the-problem-that-the-program-cannot-be-executed-in-flash

部件号:CC3235SF
《线程:UNIFLASH》中讨论的其他部件

为什么在自由运行的情况下,我的同一代码可以正常执行,但在我将其刻录到闪存中后,该代码将执行到以下 bsxlite_,程序在 init()时卡住。 该函数是 bmx160九轴传感器的官方算法库。 为什么不能在闪存中使用此算法库?

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

    您好,

    由于这个原因,本代码不是 TI 代码,如果没有更详细的信息,您就不能指望有任何线索。 您需要确定代码滞留在库中的确切位置。 例如,您可以将 UART_PRIN()插入库的不同位置,以查看库发生故障的位置。

    1月

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

    它似乎与每个数据段的内存大小有关。 看,算法库所需的每个数据段的内存大小与我分配的数据段的内存大小是否匹配? 如果不匹配,如何修改?

    .cmd

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

    您好,

    否。这不应该是这种原因,因为在这两种情况下,代码都是从内部 XIP 闪存执行的。 调试代码时,JTAG 会直接将代码加载到 XIP 闪存中。 当图像存储到 sFlash 中时,ROM 引导程序会将代码加载到 XIP 闪存中。

    您是从代码编译 bmx160库,还是使用预编译库(例如 *。a 文件)? 您是否修改了链接器文件,并且在使用 JTAG 调试时是否使用了 XIP 闪存的标准执行?

    1月

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

    我将其刻录到闪存中,并仅通过编译代码 Bin 文件生成该文件,然后通过解开将 bin 文件刻录到闪存中。 在此期间未做任何修改。 在代码编译没有问题后,它将直接通过 uniflash 被刻录。
    此外,在我使用自由运行将代码刻录到主板后,代码可以正常运行,但在将相同代码刻录到闪存后,程序将一直运行,直到 bmx160成为 bsxlite 算法库,然后无法运行。

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

    您好,

    它是源代码(*。c,*。h)的 bsxlite 库,还是预编译库? 如果是源代码,您可以尝试使用 UART_PRIN()来查找卡滞的确切位置。 如果是预编译的库,这可能是 Bosh 如何编译该库以及有什么要求的问题。

    1月

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

     “我使用免费跑步将代码刻录到主板中”,这意味着什么? 您正使用什么工具? (CCS 调试器?)

    正如 Jan 所提到的,你需要更好地了解 bsxlite 函数的卡住位置。

    如果未更改链接器 cmd 文件中的任何内容,则闪存映像和 CCS 调试器的工作方式应该相同。   

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

    是的,我使用 CCS 来执行我的代码。 但是,事实上,当我使用自由运行来运行代码时,整个系统都可以运行。 将代码刻录到闪存中后,代码卡在 bsxlite 相关功能中。 我认为 bsxlite 算法库中的函数应该没有问题。 它是否与 CCS 版本相关?

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

    您好,

    与 CCS 版本无关。 您需要确定 bsxlite 库中正在发生的情况。 这是您的任务。

    顺便说一句,你没有回答我关于 bsxlite 库的问题。  

    1月