存储器分为易失性存储器和非易失性存储器。其中的易失性是指存储器掉电是否能保存数据。
易失性存储器:就是我们常说的RAM,这种存储器掉电后所有数据都消失,不会被保存,重新上电之后,原来的数据都没了。
RAM:“Random Access Memory”,随机存储器。根据存储机制,可分为动态随机存储器DRAM和静态随机存储器SRAM:
SRAM:读写速度快,但是成本相对较高,常用于小容量、高速存储时使用。
DRAM:读写速度较慢,集成度高,生产成本低,多用于大容量存储时使用。DRAM又可以分为SDRAM、DDR SDRAM、DDRII SDRAM、DDRIII SDRMAM。
非易失性存储器:这种存储器内部数据掉电不丢失,重新上电后,之前的数据都还在。可以分为ROM、FLASH、光盘、机型硬盘等。
ROM:”Read Only Memory“,译为只读存储器。后由于计数发展,出现了可以写入数据的ROM比如EEPROM,但是ROM的名字延续了下来。ROM根据特性不同,也分为以下几种。
FLASH:FLASH存储器也叫闪存,是可以重复擦写的存储器,擦除时一般以多个字节为单位擦除。FALSH可以分为NOR FLASH和NAND FLASH。
FLASH三个操作:写入、擦除、读取,写入是写0,擦除是将数据写1。
Flash 存储器的擦除必须是以1KB 为单位进行擦除,以扇区为单位擦除。
读写要根据FLASH是NOR_FLASH还是NAND_FLASH有所区分,NOR _FLASH写入可以一个字节一个字节地写入,读取也可以一个一个地字节的读,NAND_FLASH要按页操作,读数据的时候把整页数据读出来;写数据的时候,要写一页;擦除时候要按块擦除,擦除一整块的数据。
STM32F407内部是NOR_FLASH,可以一个字节一个字节的操作。
对于FLASH读写操作:
每次擦除FLASH就是把FLASH全部写1,即未写入时FLASH里面的数据为全1。写入只能写0,不能写1,也就是写入只能让FLASH从1变为0,不能0变为1,如果已经写入过了,则需要先擦除把数据变为1再写入。比如0x0F(0000 1111),只能低4位写入,高4位不能写入。
几种常见的存储器
版权声明:本文为wdsclm937256原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。