这几句是将FLASH中的程序COPY到RAM中运行,通常的目的是加快程序的运行速度,通常有两种情况需要这样去 *** 作:
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中相应的函数入口地址运行。
dsp28335中存在两个程序时运行方法:用两个中断,分别是PWM1中断(3,1)和QEP1中断(5,1),其中PWM1中断的优先级要比QEP1中断优先级高,且PWM1中断为不可被抢占中断,QEP1中断为可被抢占中断。
dsp28335属于TI公司的DSP C2000系列产品。
dsp28335主要是用于电气控制领域,和工业产品,比如变频器控制、伺服控制等,也可以当作普通MCU使用。
开dsp的信号通的步骤如下:
1、打开DSP开发环境,选择需要使用的DSP芯片或系统。
2、在DSP开发环境中,选择信号通道的配置选项,一般在“硬件配置”或“通道配置”中。
3、在信号通道的配置界面中,选择需要开启的通道,设置通道的参数和属性。
4、在配置完成后,保存配置并编译程序。
5、将编译好的程序下载到DSP芯片或系统中。
这几句是将FLASH中的程序COPY到RAM中运行,通常的目的是加快程序的运行速度,通常有两种情况需要这样去 *** 作:
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得软件开发流程为:将一个或多个汇编语言程序(源程序)经过汇 编与链接 ,生成COFF 格式得可执行文件,再通过软件仿真器或在线仿真器得调试,打开FlashBurn软件,新建一个cdd文件并进行设置装载FBTCout,然后再擦除和烧写Flash 去掉仿真器并复位DSP目标板来加载。
可以现在内部运行,然后用一段小程序把代码拷贝到外部去,再跳转到外部运行。
之所以不能直接在sdram中执行程序是因为sdram必须先进行初始化 *** 作。
如果你的程序很小,可直接放在片内ram中,然后用读写指令拷到初始化完成的sdram中即可。
如果你的程序很大,可建一个二进制的文件存放第二级的代码,把第一级的引导代码在ram中运行之后,先初始化sdram,再去读取那个二进制文件,并把数据写到sdram中,完成后跳转到sdram中运行。
MT48LC2M32的时钟是由DSP给的,给多给少都可以,在硬件允许的范围内,一般是越快越好。你可自行查阅DSP与sdram的时钟频率的上限,以确定给多少。
在进行DSP开发时,代码编写完成后,如果时间不满足要求,则必须对代码进行优化,以更加适应DSP环境 。而在进行优化时,我们可以先测算每个函数的运行时间,从中到耗时较多的函数进行优化。CCS的profile提供了这个功能。
1、在菜单栏的Tools->profile-> Setup Profile Data Collection ;在出来的Profile Setup 中选择新建,然后新建一个Configuration ,再在右边的Activities 中勾上Profile alll Function for Total Cycles;
2、然后在菜单栏选择Target ->Debug Active Project; 最后在运行。
3 Tools->profile-> view function profile results即可看到结果。
以上就是关于DSP编程中的问题全部的内容,包括:DSP编程中的问题、当dsp28335中存在两个程序时怎么运行、dsp的信号通怎么开等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)