• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > RAM中运行程序代码

RAM中运行程序代码

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了运行内存ram,运行内存ram 4gb,运行内存ram 4gb 3gb,ram容量是运行内存吗,ram是不是运行内存等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: RAM中运行程序代码
描述:

这两天在看uds方面的资料,其中要求将flash drive 下载到ram中运行,这个我在dsp 28xx系列上看到过,可以进行程序搬移且在ram中运行。
在其他单片机中,我觉得有的没办法做到。ti dsp采用的是统一编址方式,而如果单片机采用的是独立编址,即程序代码空间和数据代码空间不能互相访问,则程序没办法在ram中运行,
个人觉得pc指针应指向的是程序空间,又由于是独立编址,所以不可能跳转到ram区空间来执行ram区中的代码。
如果需要在ram中运行程序代码,需要是哈佛结构统一编址或者冯.诺依曼结构。
这是个人的一些理解,看看对不对,请大家指点。


解决方案1:

首先,单片机种类很多,结构也不一定只有哈佛的,楼主说的单片机估计是51系列。大部分标准结构的单片机都可以在RAM中运行程序,主要取决于该部分存储器是否可以被程序总线寻址
其次,即使是51单片机,由于程序存储器和数据存储器地址线公用,可以通过外部存储器共享地址空间达到在RAM中运行的目的。实际上早期(70~80年代)的开发系统就是这么做的
最后,主流单片机为了提高运行速度都可以在RAM中运行程序,例如ARM的CortexM系列,TI的2000系列,甚至用作通信协处理的变种51系列都可以在RAM中运行程序。

解决方案2:

能不能在RAM中运行程序跟总线结构没有关系。
1、CPU能不能访问RAM中代码跟CPU的寻址能力有关。由PC指针决定
2、CPU能不能访问RAM中的数据同样跟寻址能力有关。由SP指针决定
既然由这两个指针决定,那就很明显可以看出,这个两个指针的指向是在程序编写好后,由编译器决定如何指向的。也就是说编译器决定了CPU能否实现在RAM中运行程序。这里涉及到了两个概念,加载时域/LOADTIME,运行时域/RUNTIME。
LOADTIME是指程序存放地址,RUNTIME是指程序运行地址。
以下为例:
    ROM 地址为0到10000,RAM地址为10000到20000
   MAIN程序增加编译选项,将其运行地址定义在10000,加载地址定义到0,
   将MAIN程序烧录到加载地址,运行时出现如下情况:
如果MAIN程序没有搬到到运行地址中,那么跳转到MAIN时出现死机,因为RAM,10000处没有可执行的指令。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • RAM中运行程序代码

相关文章

  • 2017-06-05 DTU通信测试的基本配置
  • 2017-06-05 怎样让USB设备连上PC后自动启动
  • 2017-06-05 指针赋值问题
  • 2017-06-05 对于初学lua与cocos2dx结合做游戏,应该怎么起步呢
  • 2017-06-05 求助!关于STM32F072RBT6的ADC(DMA中断)多通道采集问题
  • 2017-06-05 inte815显卡声卡驱动问题在线等待急急急!~~~
  • 2017-06-05 求助!关于PPC8640外部中断的问题
  • 2017-06-05 新新手求指导pic18系列单片机问题~求高手指导
  • 2017-06-05 急,按键驱动挂载不上,求各路大神帮忙,谢谢
  • 2017-06-05 关于2003server不能联网问题急!

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 用VC60编译DDK例子遇到的问题
    • 使用USB发送数据包,速率问题
    • GSMGPRS模块测试,求大神帮忙
    • 求通信协议参考书籍
    • lua中脚本之间的调用
    • at91sam9263linux的文件系统出了问题,貌似跟nandflash有关,不知道从哪下手,希望各位有经验的给提供帮助,谢谢。
    • Lua关于可变参数和stringformat的问题
    • 有人了解ati显卡吗
    • 我想请教一下你,打印机驱动是如何取oemgpd文件的,
    • LM358+MOS组成的恒流源让人抓狂

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有