Board logo

标题: 在TMS320F28XXX DSP上实现从flash拷贝整个程序到ram运行的方法 [打印本页]

作者: 嵌嵌dsp论坛    时间: 2012-12-17 11:00     标题: 在TMS320F28XXX DSP上实现从flash拷贝整个程序到ram运行的方法

在TMS320F28XXX DSP上实现从flash拷贝整个程序到ram运行的方法
1.     前言
TMS320F28XXX DSP 里,代码从内部flash里运行,比从内部RAM里运行要慢30%左右,所以对运行时间苛刻的程序直接在flash里运行,往往不能满足要求。故而,需要将代码拷贝到RAM以提高运行速度。TI文档只提供了部分代码从flash拷贝到RAM中的方法。然而,在一些应用中,需要将整个代码段都拷贝到RAM中执行,以提高整体运行速度。本文通过对TMS320F28XXX 的启动代码研究,来探讨如何在从FLASH启动后将整个代码段拷贝到RAM中,然后在RAM中运行的方法。
2.     F28XXX 启动过程
F28XXX启动代码固化在内部ROM中。当F28XXX上电或者热复位后,首先由芯片本身将一些寄存器初始化:
PIE disabled(ENPIE=0,VMAP=1,OBJMDE=0,AMODE=0,MOM1MAP=1),
然后dsp会对XMPNMC管脚采样,根据采样值的高低,来决定启动模式是“微处理器模式”还是“微计算机模式”。当XMPNMC=0时,为“微计算机模式”,此时,启动ROM存储器被使能而XINTF Zone 7被禁止。复位向量从内部启动ROM获取,启动ROM在复位期间一直被使能。
       启动ROM里的复位向量(位于0x3FFFC0)指向InitBoot函数(位于0x3FFC00)。在完成器件初始化(InitBoot)之后,Boot loader将检查GPIO管脚的状态,然后再决定选用的启动模式。启动模式有4种:跳转到flash,跳转到H0 SARAM,跳转到OTP或者调用片上启动程
       InitBoot Function 所做工作有:1.初始化状态寄存器;2.将堆栈指针设为0x400;3.读CSM密码保护部分;4.调用SelectBootMode;5.调用ExitBoot
       在完成选择启动模式过程之后,根据选择的启动模式,dsp会跳到相应的启动入口。也可以自己选择启动入口。这些入口地址都在这之前已经被dsp定义好的。

在TMS320F28XXX DSP上实现从flash拷贝整个程序到ram运行的方法.pdf (453.07 KB)

附件: 在TMS320F28XXX DSP上实现从flash拷贝整个程序到ram运行的方法.pdf (2012-12-17 11:00, 453.07 KB) / 下载次数 164
http://bbs.eccn.com/attachment.php?aid=28767&k=094fe9249fea1a96b2b40f3c93464b3e&t=1730755167&sid=ty4avG
作者: TLP291    时间: 2013-2-28 16:02


深圳潮光光耦網——光耦(隔離器)應用服務商
原裝、正品、現貨




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0