从个人电脑的角度看嵌入式开发板——小白学ARM(五)
从个人电脑的角度看嵌入式开发板——小白学ARM(五)
各种存储器——SRAM、DRAM、SDRAM、ROM、NOR、NAND???
非计算机专业出身的小白没学过计算机原理,所以看到这些名字长得差不多的存储器时的反映是这样的:
后来在《STM32库开发实战指南(第二版)》上看到一张思维导图,结合小白个人的装机经历,给这个图升级了一下:
这样一家人辈分分清了
我们都知道电脑上有内存条,有单条8g,双通道16g,有些建模软件吃内存,内存小的话会提示内存不足。电脑上的内存条颗粒学名叫DRAM,经过几代发展,最新一代内存条颗粒都是DDR4 DRAM
mini2440开发板上的64M的SDRAM就相当于低配版的内存条了。
相对于DRAM的就是SRAM,D代表动态,S代表静态,一般cpu内部都会有SRAM,放到电脑上的cpu上就叫做缓存:
上图是AMD的3700CPU的参数,有二级缓存,三级缓存,当然也有一级缓存,二级缓存比三级缓存小,速度更快。
NOR FLASH和NAND FLASH都相当于电脑里的硬盘,系统和文件都存在上面,掉电也不会消失。由于NOR速度更快,你可以将其理解为内存和硬盘的结合体,因为NOR有时也做内存的工作。
NAND FLASH还是制作大名鼎鼎固态硬盘的原料,固态硬盘比机械硬盘快到不知道哪里去了。
正点原子的阿尔法开发板用的FLASH叫做EMMC,其实就是把控制FLASH的芯片和NAND FLASH整到一个芯片里,更方便使用。
在ARM启动流程里有这么一个说法:Nand启动时,先将Nand中前4k里的内容复制到内部SRAM(垫脚石)里,再由垫脚石中的代码将Nand其余部分复制到SDRAM中。
用PC的说法就是,先将硬盘里的一小部分系统文件读取到CPU内部缓存,再由内部缓存把硬盘里的其余系统文件装载到内存条里运行,完成开机。
mini2440开发板vs个人电脑
这样再看这个开发板,标上对应的装机术语,就清爽多啦