日常笔记之嵌入式系统内存

在嵌入式系统中,文件系统和pc的存储介质有些不同。PC 机中常用的是硬盘、内存、光盘和 U 盘等; 嵌入式系统中文件系统常用的有 SDRAM, DDR-SDRAM ,NOR-FLASH ,NAND-FLASH ,SD 卡,U 盘和硬盘等,种类比PC 机要多,有些是两者都有使用;如内存, 在PC 机上称为内存,在 嵌入式系统中有多个名字,可以叫内存,也可以叫SDRAM 和DDR 。

      内存(sdram或ddr) 在嵌入式系统中可以用做文件系统的存储介质, 内存在掉电的情况下,不能保持原有数据不变,所以基于内存的文件系统只能是临时的文件系统 ,可以用来保存临时的文件,不能用来保存需要永久记录的文件,好处是只存在内存之中动态变化,重起系统不会产生垃圾,而且SDRAM中的文件操作要比其它介质中的文件操作要快。内存目前常用的有两种 SDRAM 和DDR SDRAM ,使用SDRAM 需要CPU 提供SDRAM 接口控制器,使用DDR SDRAM 需要CPU 提供DDR SDRAM 接口控制器,两者最大的不同是DDR SDRAM 比SDRAM 至少快1 倍,这就意味着读取一个文件如果使用SDRAM 需要2 秒钟,使用DDR 就可能只需要少于1 秒钟。

       FLASH 是嵌入式系统最常用的文件系统存储介质,有两种类型 NOR 和NAND ,NOR FLASH 可以直接进行读操作,但写操作是按块而不是按字节来进行,不能直接写,需要通过命令来做控制;NAND FLASH 即不能直接进行读操作,也不可以直接进行写,读写都是按块来进行,都需要通过命令来做控制。比较而言NOR 比NAND 读速度要快些,NAND比NOR 的单位密度要高,就是单片IC NAND-FLASH 可以有4GB(Byte) 的存储空间,NOR-FLASH 最多也只有1Gb(bit)。NAND FLASH 通常有坏块,所以文件系统的设计相对复杂(需要对坏块进行处理)。当然最后体验(点)也不一样。需要指出的是FLASH 掉电可以保持文件不丢失。

       注意:在修改bootload等操作中,只能通过修改flash,来实现操作。

      内存工作原理:内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。

      具体工作流程:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,藉此来保持数据的连续性。

       ROM也有很多种,PROM是可编程的ROM,PROM和EPROM(可擦除可编程ROM)两者区别是,PROM是一次性的,也就是软件灌入后,就无法修改了,这种是早期的产品,现在已经不可能使用了,而EPROM是通过紫外光的照射擦出原先的程序,是一种通用的存储器。另外一种EEPROM是通过电子擦出,价格很高,写入时间很长,写入很慢。
  举个例子,手机软件一般放在EEPROM中,我们打电话,有些最后拨打的号码,暂时是存在SRAM中的,不是马上写入通过记录(通话记录保存在EEPROM中),因为当时有很重要工作(通话)要做,如果写入,漫长的等待是让用户忍无可忍的。 

         FLASH 具体介绍:

       FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。

      Flash主要有两种NOR Flash和NADN Flash。NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码。
  一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOC(Disk On Chip)和我们通常用的"闪盘",可以在线擦除。目前市面上的FLASH 主要来自Intel,AMD,Fujitsu和Mxic,而生产NAND Flash的主要厂家有Samsung和Toshiba及Hynix。
  现在的单片机,RAM主要是做运行时数据存储器,FLASH主要是程序存储器,EEPROM主要是用以在程序运行保存一些需要掉电不丢失的数据.
  另外,一些变量,都是放到RAM里的,一些初始化数据比如液晶要显示的内容界面,都是放到FLASH区里的(也就是以前说的ROM区),EEPROM可用可不用,主要是存一些运行中的数据,掉电后且不丢失
  SRAM、SDRAM都用于程序工作时保存临时数据和程序,因为在系统调电后,保存在其中的数据都会丢失。
  FLASH用于系统中保存长期的数据,如:配置信息,程序等。
  由于SRAM接口电路简单,在小系统中常用,SDRAM的接口相对复杂,需要相应的控制器支持,但由于容量大、价格便宜、访问速度快,所以常用在对内存容量和处理速度要求高的应用场合,在这种场合中,相应的处理器(CPU)都自带有SDRAM控制器。
  DRAM是动态存储器(Dynamic RAM)的缩写SDRAM是英文SynchronousDRAM的缩写,译成中文就是同步动态存储器的意思。从技术角度上讲,同步动态存储器 (SDRAM)是在现有的标准动态存储器中加入同步控制逻辑(一个状态机),利用一个单一的系统时钟同步所有的地址数据和控制信号。使用SDRAM不但能提高系统表现,还能简化设计、提供高速的数据传输。在功能上,它类似常规的DRAM,且也需时钟进行刷新。可以说,SDRAM是一种改善了结构的增强型DRAM。目前的SDRAM有10ns和8ns.

       

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
内存管理机制是嵌入式系统研究中的一个重点和难点的问题,它必须满足以下几个特性: ①实时性。从实时性的角度出发,要求内存分配过程要尽可能地快。因此,在嵌入式系统中,不可能采用通用操作系统的一些复杂而完善的内存分配策略,一般没有段页式的虚存管理机制;而是采用简单、快速的内存分配方案,其分配方案也因程序对实时性的要求而异。例如,VxWorks系统采用简单的“首次适应,立即聚合”方法;VRTX中采用多个固定尺寸存储块的binning方案。 ②可靠性。嵌入式系统应用的环境千变万化,在有些特定情况下,对系统的可靠性要求极高,内存分配的请求必须得到满足,如果分配失败则可能会带来灾难性的后果。比如,飞机的燃油检测系统。在飞机飞行过程中,如果燃料发生泄漏,系统应该立即检测到,并发出相应的警报等待飞行员及时处理。如果因为内存分配失败而不能相应地操作,就可能发生机毁人亡的事故。 ③高效性。内存分配要尽可能地减少浪费。不可能为了保证满足所有的内存分配请求而将内存配置得很大。一方面,嵌入式系统对成本的要求使得内存在其中只是一种很有限的资源;另一方面,即使不考虑成本的因素,系统硬件环境有限的空间和有限的板面积决定了可配置的内存容量是很有限的。 针对以上三个约束条件,市场上主流的嵌入式操作系统,如VxWorks、嵌入式Linux 等均提出了一套有效的解决方案;但是,这些系统只提供了应用开发的接口,其底层的实现方案不可见。本文以开源的嵌入式操作系统RTEMS为例,分析了嵌入式系统内存管理所面临的问题,研究了其底层实现的解决方案。一般的嵌入式系统中最基本的内存管理方案有两种——静态分配和动态分配。
笔记电脑系统占用内存高时,可能会导致电脑卡顿、不流畅的现象。这种情况下,有几种方法可以解决这个问题。 首先,可以通过任务管理器来查看哪些系统进程占用了大量的内存。打开任务管理器的方法是按下Ctrl + Shift + Esc键,然后切换到“进程”选项卡并按照内存使用量排序。识别出占用内存最多的进程后,可以尝试终止它,或者通过设置来限制它的内存使用量。 其次,关闭不必要的后台软件也可以释放内存。后台运行的软件会占用一定的内存资源,如果太多的后台软件运行,就会导致系统内存占用过高。可以通过右键单击任务栏中的图标,选择关闭或退出程序来关闭不常用的后台软件。 此外,还可以通过清理垃圾文件来释放内存空间。垃圾文件的积累也会占用系统内存,因此定期清理垃圾文件可以缓解内存占用过高的问题。可以使用系统自带的磁盘清理工具或第三方的磁盘清理软件来进行清理操作。 最后,如果还没有解决内存占用过高的问题,可以考虑升级电脑内存。增加内存容量可以提升系统的运行速度和处理能力,从而减少内存占用过高的问题。 综上所述,当笔记电脑系统占用内存过高时,可以通过终止占用内存高的进程、关闭不必要的后台软件、清理垃圾文件和升级内存等方法来解决这个问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值