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.

F28x_usDelay 函数在FLAH里起动没问题,在RAM里不可以

Other Parts Discussed in Thread: CONTROLSUITE

我用TI这个工程:ti\controlSUITE\development_kits\TMDSIDDK_v2.0\IDDK_PM_Servo_F2837x_v2_00_00_00(原工程没有问题),在里面程序作了调整,并加入内容后,发现F28x_usDelay 函数在FLAH里起动没问题,在RAM却不可以。请教一下,是什么原因?F28x_usDelay在RAM模下,怎么自动加载到RAM里。

  • 终于解决了。

    1、F28x_usDelay 有一句:.sect "ramfuncs"已把代码定义为 ramfuncs段,在CMD里面,在RAM模式里起动时,ramfuncs  : > RAMM0      PAGE = 0 已加载

    2、为什么Delay就不行呢,是因为 .text  .cinit  .pinit .switch .reset定义的是其它的空间,如: .text : >>  RAMLS0LS1LS2LS3LS4LS5  PAGE = 0

    3、把ramfuncs  : > RAMM0      PAGE = 0 改为:ramfuncs   : > RAMLS0LS1LS2LS3LS4LS5      PAGE = 0

    同一个RAM空间,问题解决,测试OK!

     

     

  • 感谢分享,这个例程可以通过右键属性build configuration->set active选择cmd文件的。