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.

[参考译文] CCS/TMS320F2.8035万:无法从闪存启动

Guru**** 2573695 points
Other Parts Discussed in Thread: CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/642046/ccs-tms320f28035-not-able-to-boot-from-flash

部件号:TMS320F2.8035万
主题:controlSUITE中讨论的其他部件

工具/软件:Code Composer Studio

我正在使用CCS 7处理Piccolo F2.8035万控制器。

我的控制器不能作为独立系统工作。 我正在使用坞站对其PWM引脚的输出进行编程和检查。

它仅在调试模式下运行,一旦关闭电源,程序将停止从闪存加载。

它还向我显示警告

正在创建不带书帖规范的输出书帖"ramfuncs"

我从我的同事那里获取了一些其他代码,这些代码正在从闪存中启动,但当我从系统中闪存相同的代码时,却没有发生这种情况。

唯一的区别是,我使用CCS7,而他使用CCS 6。

我添加了Memcopy()函数,初始化了闪存InitFlash()。


但这个问题仍然没有解决,甚至我从同事那里获得的使用CCS 6从他的PC上正确闪烁的其他代码也在我的PC上显示了相同的行为,即不能从闪存启动。

请在这方面作出答复或给予一些支持

 

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

    请参阅以下基于FLASH的示例项目:C:\ti\controlSUITE\DEVICE_SUPPORT\F2803x\V130\DSP2803x_Examples_ccsv5\FLASH_F28035</s>2803 2.8035万

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

    您好,Samved,

    您是否在链接器命令文件中链接了'ramfuncs'?

    您是否使用与对等项相同的链接程序命令文件?

    请访问 https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/322956</s>32.2956万

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的链接器命令文件有两个案例。 类似这样的内容:-


    #ifdef __TI_Compiler_version__
    #if __TI_Compiler_version__>= 1500.9万
    .ti.ramfunc :{}load = FLASHD,
    RUN = RAML0,
    load_start(_RamfuncsLoadStart),
    load_end (_RamfuncsLoadEnd),
    run_start(_RamfuncsRunStart),
    页面= 0
    #否则
    Ramfuns :负载= FLASHD,
    RUN = RAML0,
    load_start(_RamfuncsLoadStart),
    load_end (_RamfuncsLoadEnd),
    run_start(_RamfuncsRunStart),
    页面= 0
    #endif
    #endif

    而不是像这样的正常实施

    Ramfuns :负载= FLASHD,
    RUN = RAML0,
    load_start(_RamfuncsLoadStart),
    load_size (_RamfuncsLoadSize),
    run_start(_RamfuncsRunStart),
    页面= 0

    我将链接程序文件更改为后一个文件。
    警告不再出现。
    但在编译后运行它。
    它将被转至Illegal _ISR
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Samved,

    您能告诉我它何时会被非法_ISR访问吗? InitFlash()是否已执行?
    您提到您正在使用Memcopy (而不是memcpy)。 示例中有变化,我们建议使用memcpy()而不是memcopy()。
    您是否在使用controlSUITE中提供的最新示例?

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

    正在执行InitFlash()。

    在调试运行期间编译后,它将进入ILLEGALISR。

    在链接程序命令文件中进行这些更改后,此ILLEGALISR问题开始发生。

    我也使用了memcpy,但同样的事情也在发生。 它将转到ILLEGALISR。

    当我在Control Suite的Flash示例中配置代码时。 同样的事情再次发生。

    #pragma code_section (InitFlash,"ramfuncs");

    我在主要发言之前也已说明了上述情况。

    在删除此项之后,nofthin也会发生变化。

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

    您提到正在执行InitialFlash。 那么,这种跳转到非法ISR的情况会发生在哪里?
    您是否可以执行调试步骤并查看程序按预期运行的时间?

    因此,控制套件的闪存示例是有效的。 是否可以共享您修改的代码?

    需要#pragma code_section (InitFlash,"ramfuncs";。 DSP2803x_sysctrl.c.中已经提到了它 因此,它不会影响在main之前是否提到它。

    谢谢!
    Katta