跳转到主要内容

RAM

RAM在单片机里有什么的用途?

demi /

单片机就是个小计算机,跳蚤虽小不但五脏惧全,有时还跳得很高呢!自然,大计算机少不得的数据存储系统,小不点的单片机一样有,而且往往和CPU集成在一起,更加显得小巧灵活。直到90年代初,国内容易得到的单片机就是8031:不带存储器的芯片,要想工作,还必需外加RAM和ROM,单片机成了3片机...

如何将MCU中部分函数运行于RAM中

judy /

MCU(如: 基于Cortex V6M 的Cortex M0+ 等) Code 通常运行在内嵌Flash 中。在某些特定应用场合,需要将部分函数运行于RAM中。

为解决次问题,实现了一种解法,具体做法如下:

1. 实现要运行在RAM的 routine, 本rouTIne 使用纯汇编实现, 如:

__asm void program_word2addr(uint32_t addr, uint32_t data)

{

push {r3, r4, r5, lr} ;save some regsiters

/*your code for this rouTIne*/

pop {r3, r4, r5, pc}

}

2. 编译时,采用code 与运行位置无关的编译选项 如 (Keil--apcs /ropi/rwpi), 生成 *.axf;

3. 通过fromelf -c 将生成 *.axf 反汇编,找到对应program_word2addr 实现部分, 并将rouTIne 对应的binary code Copy 到所要应用的 Code 中,以只读数组的形式出现:

如:

ARM里的RAM和SDRAM有什么区别

judy /

本文主要介绍的是ARM里的RAM和SDRAM有什么区别,首先介绍了RAM的类别及特点,其次对SDRAM做了详细阐述,最后介绍了RAM和SDRAM的区别是什么。

<strong>RAM介绍</strong>

Random-Access Memory(随机存取存储器),在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。存储器的种类很多,按其用途可分为主存储器和辅助存储器[或者内存储器和外存储器],主存储器简称内存,内存在电脑中起着举足轻重的作用,一般采用半导体存储单元。因为RAM是内存其中最重要的存储器,所以通常我们直接称之为内存。内存就是存储程序以及数据的地方,比如当我们在使用WPS处理文稿时,当你在键盘上敲入字符时,它就被存入内存中,当你选择存盘时,内存中的数据才会被存入硬(磁)盘。

RAM就是既可以从中读取数据,也可以写入数据。当机器电源关闭时,存于其中的数据就会丢失。我们通常购买或升级的内存条就是用作电脑的内存,内存条(SIMM)就是将RAM集成块集中在一起的一小块电路板,它插在计算机中的内存插槽上,以减少RAM集成块占用的空间。目前市场上常见的内存条有 128M/条、256M/条、512M/条等。

ROM和RAM的故事

judy /

ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。

RAM有两大类:

一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。

另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很 多,计算机内存就是DRAM的。

DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。

嵌入式中,ROM和RAM到底有何不同?

judy /

随着智能手机的发展,不管是看手机配置还是经常在生活中与网络中都经常听人有人讨论一些词。比如手机RAM多少或者ROM多少等等。可能大家都知道不管是ROM还是RAM越大越好,但对于ROM和RAM是什么意思以及两者之间的区别却不了解。

简单的说,一个完整的计算机系统是由软件和硬件组成的。其中,硬件部分由中央处理单元CPU(包括运算器和控制器)、存储器和输入/输出设备构成。目前个人电脑上使用的主板一般只能支持到1GB的内存,即使是INTEL目前最高阶的450NX芯片组也只能支持到4GB。

单片机的一个主要作用就是数据信息的处理,而在处理数据的过程中,需要一些“容器”来存放这些数据。这就好比烧饭要用到锅碗瓢盆一样。在这里,我们称这些“容器”为“存储器”。

存储器的物理实质是一组(或多组)具备数据输入/输出和数据存储功能的集成电路,用于充当设备缓存或保存同定的程序及数据。存储器按存储信息功能的不同,可分为只读存储器ROM和随机存储器RAM

<strong>RAM</strong>

RAM、SRAM、SDRAM、ROM、EPROM、EEPROM、Flash存储器概念

judy /

常见存储器概念:RAM、SRAM、SDRAM、ROM、EPROM、EEPROM、Flash。存储器可以分为很多种类,其中根据掉电数据是否丢失可以分为RAM(随机存取存储器)和ROM(只读存储器),其中RAM的访问速度比较快,但掉电后数据会丢失,而ROM掉电后数据不会丢失。

在单片机中,RAM主要是做运行时数据存储器,FLASH主要是程序存储器,EEPROM主要是用以在程序运行保存一些需要掉电不丢失的数据。

<strong>FLASH:</strong>单片机运行的程序存储的地方。

<strong>SRAM:</strong>存储单片机运行过程中产生的了临时数据。

<strong>EEPROM:</strong>视用户的需要而定,一般用来存储系统的一些参数,这些参数可能需要修改,也可能不会修改。

浅谈IAR环境下Flash调试和RAM调试的区别

editor /

其实关于Flash调试和RAM调试的概念,我也是从调试Kinetis的时候才开始接触,最初只是随便用用,没有深究,之后用的多了才开始深入研究两者之间的区别,发现里面大有文章可作,这也是我为什么后来又把本文的前缀改成【原创精品】的缘故,翻看了网上的一些资料,大多是授人以鱼的文章,所以觉着有必要在这里谈谈自己的一点看法,做个笔记。

最近一直埋头于毕业论文的撰写当中,真是有种“两耳不闻窗外事,一心只写毕业论文”的感觉啊。成天大眼对小眼地面对着word、viso和知网客户端等等文字编辑工具真是有种麻木的赶脚,不写论文不知道,一写论文吓一跳,感觉让我写上几万行代码也比坐在电脑面前憋出几万字论文来的轻巧,“问君能有几多愁,恰似一江春水向东流”,哎,突然间发现,人生最最痛苦的不是人死了钱没花了,而是写了十几天的论文才发现,晕,还有一多半没写呢,不过木有办法,只能硬着头皮上了,再此之前还是更篇博客为好,不然该沉底落灰了(话说貌似断更了好长时间了,不过幸好不是写小说,不然该被拍砖了),哈哈~

关于单片机RAM的作用

editor /

<strong> 一、内部RAM</strong>

共256个单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。

前128单元具体分为:

1、工作寄存器区:共4个组,每组为8个存储单元,即00H-07H,08H-0FH,10H-17H,18H-1FH,具体选择哪一个由程序状态字(PSW)中的RS1和RS0的组合决定(在此我就不展开了,呵呵……)

2、位寻址区:20H-2FH,共16个单元,每一位可以进行位寻址(16*8=128个位地址),就是每一个触发位,就是bit可以寻址

3、便笺区:从30H-7FH,共80个单元,用于存放用户数据或作堆栈区使用。

4、从80H-FFH为专用寄存器占用,其中还离散的分布SFR(21个特殊功能寄存器)

<strong> 二、256B</strong>

其中00H~7FH

可分为3个区域:

00H~1FH 是通用寄存器区

20H~2FH 是位寻址区

30H~7FH 是用户RAM区

80H~FFH是特殊功能寄存器区