1、程序中对基要求比较高的函数,如中断;
2、程序需要对FLASH进行 *** 作,这时就要把程序先复制到RAM中运行然后才能对FLASH *** 作。
RamfuncsLoadStart、RamfuncsLoadEnd、RamfuncsRunStart这三个变量是在CMD文件中创建的,创建方式如下:
LOAD_START(RamfuncsLoadStart),
LOAD_END(RamfuncsLoadEnd),
RUN_START(RamfuncsRunStart),
分别表示了装载函数的首地址,装载函数的结束地址和装载函数的运行地址;
执行完MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart)后,便将FLASH中相关的程序COPY到了RAM中,之后的程序运行时,只要调用FLASH中RamfuncsLoadStart地址开始的相关函数,系统都会自动地指向RAM中相应的函数入口地址运行。
求采纳为满意回答。
DSP的编程软件是CCS开发平台,编程语言一般是C语言。
CCS有两种工作模式:
1、软件仿真器模式:可与DSP芯片分离,并在PC上模拟DSP指令集和工作机制,主要用于早期算法的实现和调试。
2、硬件在线编程模式:可以在DSP芯片上实时运行,结合硬件开发板的在线编程和调试应用程序。
CCS的开发系统主要由以下组件构成:
1、TMS320C54x集成代码生成工具。
2、CCS集成开发环境。
3、DSP / BIOS实时内核插件及其应用程序接口API。
4、RTDX插件,用于实时数据交换和相应的程序接口API。
5、TI以外的第三方提供的各种应用程序模块插件。
扩展资料:
dsp编程中双重循环、多重循环的优化:
1、将多个循环分成单层循环以减少循环数;
例如,在双循环中,一个周期仅使用一个乘法器。 分成单层环路后,两个乘法器可以使用一个周期,充分利用DSP乘法器资源,运算速度也将提高。
2、循环次数少的放在外层循环,循环次数多的放在内存循环;
3、二维数组的双循环:二维数组的行循环置于外循环,列循环置于内循环;
4、避免在循环内进行乘法和除法运算:将循环内的乘法和除法运算尽可能移至循环外,并用加法代替。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)