DSP28335—程序从flash复制到ram里的两种情况:部分复制和全部复制
(2013-10-31 16:25:42)
标签:
dsp |
分类: 学习交流 |
众所周知,微处理器从内存RAM中取指令的速度要比从flash中取指令要快好多倍,但是RAM的缺陷限制了其不能存储用户程序代码,因为RAM掉电会丢失数据,但是其速度要快,而flash内信息掉电不丢失,因此可以保存用户编程的代码,但是其运算速度使得在一些实时性要求高或者对时间要求苛刻的场合不能满足要求。如果能够将两者有机的结合到一起,从而可以解决这两者之间的矛盾。
从片内flash搬运到RAM中的方法有两种不同的选择,一种是将flash中部分代码搬运到RAM中运行;另一种便是将flash的所有程序代码都搬运到RAM中运行。前者利用#pragma
方法一:
1、
ramfuncs
2、定义变量(装载或运行的起始地址)
extern
extern
extern
3、把要拷贝到RAM里的函数(eva_timer1_isr,eva_timer2_isr...)定义到段ramfuncs
#pragma
#pragma
#pragma
//
interrupt
interrupt
interrupt
interrupt
//初始化flash
void
{
}
4、在主函数中执行调用以下函数
至此便将声明的中断函数在flash上电初始化时自动搬运到RAM中运行。
方法二:
1、参考博文:DSP28335—把TMS320F28XXX的程序段从flash复制到ram中运行
http://blog.sina.com.cn/s/blog_762cf5f80101apfx.html
2、参考论文《基于DSP28335程序移植方法的研究与实现》有助于理解系统启动过程及FLASH引导模式
本文非原创,网络资料整合~http://www/uc/myshow/blog/misc/gif/E___6726EN00SIGG.gif