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.
我的程序在F28377D上的flash跑由于速度降低会出现问题,所以想把代码烧进flash以后,每次开机上电,flash的代码复制到ram中运行。但是我查阅了TI上的技术资料,只找到了F28335及之前版本的DSP的复制方法,在官方的技术手册《Copying Compiler Sections From Flash to RAM on the TMS320F28xxx DSCs》,通过DSP28xxx_SectionCopy_nonBIOS.asm file施行拷贝,但是我实际通过上述文档的步骤一步步修改,发现我的程序无法运行,可能是启动过程出现问题。我不知道是否是因为28377d不包含在该文档的适用范围之内,请问这个问题该如何解决,我怎么样才能在TMS320F28377D上实现Flash复制全部代码到RAM上执行
我看了一下,这个文档里面的内容,主要是介绍的memcopy函数,memcpy和memcopy是两个不同的函数。memcpy是编译器内嵌函数,编译器自动会编译这个函数,不需要这个源代码。
而memcopy函数是ti自己写的,可以在最开始的版本的common文件夹找到这个源文件,后来新的版本就替换掉了,直接用内嵌函数memcpy。
现在新版的一般使用memcpy函数,两者功能差不多,但是函数本身的定义和.TI.ramfunc的定义有区别。你可以参考一下例程的做法,比如:
C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2837xd\examples\cpu1\flash_programming_dcsm
例程中会将flashAPI函数复制到ram运行。
文档里主要是定义了copy_sections,在系统调用c_int00之前将flash里的全部程序复制到flash里,我看了下memcpy的用法好像都是用在某个函数里的,请问我要是想把我main函数里除了初始化部分的其他部分放进去,包括自定义的函数,需要多次使用memcpy吗,我的函数最后是一个不停止的循环,请问这样放进memcpy会产生问题吗