F2812 DSP程序运行在片内RAM和片内FLASH的区别


声明:引用请注明出处http://blog.csdn.net/lg1259156776/


说明:F2812是带有内部Flash的DSP,与内部没有flash的C6455相比在硬件设计上可能更加简单,其程序运行机制也略有不同,c6455只能将flash中的程序加载到RAM中才能运行,而F2812在Flash内部就可以运行,而将对时间敏感的程序段通过伪指令放入拷贝至RAM运行。这一点类似于MSP430系列单片机。


一般情况下DSP编程有两种:一是在线仿真,直接把程序下载到片内RAM里,在不掉电的情况下运行和调试,保证下载和运行的速度,方便调试工作;二是脱离仿真后应用,如果还像在线仿真一样将程序下载到片内的RAM区, RAM是一个易失的存储器,当掉电后RAM内部的程序和数据全部丢失,没办法运行。所以此时应当把程序下载到ROM、FLASH、OTP等里,掉电也不丢失。

对于程序在FLASH中运行时,需要注意的: DSP在150M时钟频率下,FLASH中只能提供大约120M的时钟频率,所以有时候我们希望在RAM中运行时间敏感或计算量很大的子程序(比如AD采样)。但是我们所有代码都放在FLASH中,这就必须在上电后将FLASH中的这段敏感程序复制到RAM中运行,加快速度。要在CMD文件中进行配置。


2015-10-19 张朋艺

F2812 DSP程序运行在片内RAM和FLASH的区别的更多相关文章

  1. 单片机内程序运行的时候ram空间是如何分配的?

    转自:http://blog.sina.com.cn/s/blog_a575eb9401014tam.html 单片机内程序运行的时候ram空间是如何分配的?我现对一个程序进行减少片内ram的使用的优 ...

  2. 新手学习ARM,对片内ram、SDRAM、NOR FLASH和NAND FLASH启动这几个概念的理解

    片内的ram用来存储启动代码,在2440初始化sdram之前,代码就在片内ram中运行.片内ram装载的是norflash中的内容,即u-boot. uboot放在norflash里,nandflas ...

  3. 放在NSArray、NSDictionary等容器内的对象Item,Item中的property在程序运行过程中被无故释放

    可能是被释放的property本身是OC对象而它的属性被误写成assign,例如: @interface MyItem : Object @property (nonatomic, assign) N ...

  4. 21ic编辑推荐:从单片机开始的程序运行

    一直不清楚单片机中程序的执行过程,就是知道一个程序总是从一个main函数开始执行,然后把程序段存放在ROM里面,动态数据存放在RAM里面,而单片机的RAM资源又是及其的稀少,所以要省着用,但是到底怎么 ...

  5. linux下实现在程序运行时的函数替换(热补丁)

    声明:以下的代码成果,是参考了网上的injso技术,在本文的最后会给出地址,同时非常感谢injso技术原作者的分享. 但是injso文章中的代码存在一些问题,所以后面出现的代码是经过作者修改和检测的. ...

  6. Java中内存中的Heap、Stack与程序运行的关系

    堆和栈的内存管理 栈的内存管理是顺序分配的,而且定长,不存在内存回收问题:而堆 则是随机分配内存,不定长度,存在内存分配和回收的问题:堆内存和栈内存的区别可以用如下的比喻来看出:使用堆内存就象是自己动 ...

  7. 第二章--Win32程序运行原理 (部分概念及代码讲解)

    学习<Windows程序设计>记录 概念贴士: 1. 每个进程都有赋予它自己的私有地址空间.当进程内的线程运行时,该线程仅仅能够访问属于它的进程的内存,而属于其他进程的内存被屏蔽了起来,不 ...

  8. 查询在应用程序运行得很慢, 但在SSMS运行得很快的原因探究

    原文:查询在应用程序运行得很慢, 但在SSMS运行得很快的原因探究 查询在应用程序运行得很慢, 但在SSMS运行得很快的原因探究 -理解性能疑点 1      引言 内容来自http://www.so ...

  9. Android从启动到程序运行整个过程的整理

    1Android是基于Linux的一个操作系统,它可以分为五层,下面是它的层次架构图,可以记一下,因为后面应该会总结到SystemServer这些Application Framework层的东西 A ...

随机推荐

  1. MyBatis底层实现原理: 动态代理的运用

    转载:https://mp.weixin.qq.com/s/_6nyhaWX15mh3mkj8Lb0Zw Mybatis中声明一个interface接口,没有编写任何实现类,Mybatis就能返回接口 ...

  2. mongodb 高级聚合查询

    mongodb高级聚合查询   在工作中会经常遇到一些mongodb的聚合操作,特此总结下.mongo存储的可以是复杂类型,比如数组.对象等mysql不善于处理的文档型结构,并且聚合的操作也比mysq ...

  3. Mina入门级客户端程序实现telnet程序

    Mina入门级客户端程序实现telnet程序,其实mina的客户端和服务端很相似 1.编写客户端MinaClient.java和客户端处理类MyClientHandler.java2.MinaClie ...

  4. codeforces425C

    http://codeforces.com/contest/425/problem/C 题意:两数列a[],b[],进行若干轮操作,每次操作花费e, 将a的一个前缀和b的一个前缀(两前缀的最后一个数字 ...

  5. Invalid JDK version in profile 'doclint-java8-disable': Unbounded range: [1.8, for project com.google.code.gson:gson 解决办法

    利用maven打包的时候遇到这个问题 在git上发现一个解决方案 问题解决

  6. C# 获取网络文件 批量压缩成 文件流 并下载 压缩包

    需要的DLL : ICSharpCode.SharpZipLib.dll JS部分 //下载所有文件的 压缩包 function DownAllFile() { //zip文件名 var zipNam ...

  7. [后渗透]Linux下的几种隐藏技术【转载】

    原作者:Bypass 原文链接:转自Bypass微信公众号 0x00 前言 攻击者在获取服务器权限后,会通过一些技巧来隐藏自己的踪迹和后门文件,本文介绍Linux下的几种隐藏技术. 0x01 隐藏文件 ...

  8. phpmyadmin个版本漏洞

    phpMyadmin各版本漏洞 一: 影响版本:3.5.x < 3.5.8.1 and 4.0.0 < 4.0.0-rc3 ANYUN.ORG 概述:PhpMyAdmin存在PREGREP ...

  9. Tecplot如何提取三维图中某条线的数据【转载】

    转载自:http://blog.sina.com.cn/s/blog_9de422500102v9by.html 截取线所在的面Data.Extract .slice from Plane,显示如下窗 ...

  10. mysql存储引擎介绍,索引

    区别: MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等 ...