因为在DSP2833x_usDelay.asm中有.sect "ramfuncs",即把该函数定义在段"ramfuncs"中, 而此段需要在内存中运行,故需要使用函数
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);将ramfuncs段复制到内存中然后运行。只算以这样设计是因为函数DSP28x_usDelay()精准运行对运行速度有要求故必须放在段"ramfuncs"中。
F28335如何烧写代码到flash中并运行?
首先使用添加C:\ti\controlSUITE\device_support\f2833x\v133\DSP2833x_common\cmd\F28335.cmd。此文件即为配置代码到flash中的TI官方配置文件。
然后参考C:\ti\controlSUITE\device_support\f2833x\v133\DSP2833x_examples_ccsv4\flash_f28335。添加以下代码:
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);将一些在内存中运行的代码从flash复制到内存中,然后程序才能正常运行。