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.

[参考译文] TMS320F280049C:为什么不同的 cmd 文件、相同的闪存 API 函数会编译不同的内容?

Guru**** 2482225 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1445829/tms320f280049c-why-different-cmd-files-the-same-flash-api-function-will-compiler-different-content

器件型号:TMS320F280049C

工具与软件:

尊敬的专家:

我在这里询问我的客户。

它们使用相同的闪存 API 函数、并且还将闪存 API 从闪存复制到 RAM。

RAM_APILIB         : origin = 0x009600, length = 0x000A00
FLASH_APILIB       : origin = 0x083000, length = 0x001000
 
      GROUP
        {
            APIramLib
            { -l F021_API_F28004x_FPU32.lib}
 
        }  LOAD = FLASH_APILIB,
            RUN = RAM_APILIB,
            LOAD_START(_RamfuncsAPILoadStart),
            LOAD_END(_RamfuncsAPILoadEnd),
            RUN_START(_RamfuncsAPIRunStart),
            PAGE = 0, ALIGN(4)

指定的 RAM_APILIB 不存储其他内容。  我们检查了 Fapi_initializeAPI 函数的汇编、并发现 Fapi_initializeAPI 函数中有一个异常语句 LCR FS $DIV。 使用 bank0和 bank1的 cmd 编译的同一条语句、在闪存中将不同的内容编程。

#1.使用 bank1 cmd 进行编译、刻录和调试:左侧是 Fapi_initializeAPI 函数汇编代码、右侧是闪存

#2。 使用 bank0 cmd 进行编译、刻录和调试:左侧是 Fapi_initializeAPI 函数汇编代码、右侧是闪存。

您可以给我们建议或进行调试吗? 谢谢。

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

    尊敬的专家:

    我可以在这里跟进您的见解吗? 谢谢。

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

    尊敬的绍兴市:

    您是否能够在编译后执行它?

    此致、

    Rajeshwary