RAM、ROM、FLASH区别:
我问了大佬个问题:“IAR中有个Erase Memory对板子有什么影响?”
大佬回答:“Erase Memory是擦除的Flash分区的内容,芯片存储擦除都是有寿命的,不建议擦除,而且无法直观看到存储区域的数据变化。如果没有重新烧录的操作,只是断电这样存储,看数据的存储位置,一个芯片分RAM、ROM跟FLash存储区域,如果是存在FLash的区域,而不是在RAM运行临时创建的,那就会保存下来,就是上次上电运行的数据会一直到下次上电都有保存着。”
对于一个6+128的机器来说:
RAM是6,ROM+Flash是128(至于ROM跟FLash分别分配多大空间,是可以手动设定的)
RAM:是运行空间,只有在程序需要运行的时候才使用,平时里面是没数据的,这些都是在程序运行时再RAM中划分分配。一但断电,整个RAM里面数据都没了,但ROM跟FLASH里面是有的,下次程序再执行的时候再从ROM里面读取使用。
ROM:是存放程序版本的,拿手机举例,新更新的一个鸿蒙4点几版本,这个整个程序的版本,整个代码都是存在ROM里面,在手机使用时启动RAM运存空间,需要执行那个函数,就从ROM这个里面去复制过来,运行,运行完将其删除,下次再用时再往过复制,RAM里面就是程序用哪个函数复制哪个,不是把整个代码全拷贝过去,像照片这些就是存放在FLASH里面,但在ROM里面会保存一个存放照片起始的地址,所有的数据都事通过寻找地址去找的。
整个来说就是,ROM把存放执行的函数以及所有存放数据的地址,RAM就是用来运行执行的,FLASH就是存放数据的,不同的数据的地址,以及大小在ROM里面都有记录。