在单片机系统中,程序的存储一般放在flash中,不易丢失的数据一般存放在EEROM中(比如说我们经常使用的AT24C02,、AT24C256),一般情况不建议将频繁读写的数据存放在Flash中,一方面FLASH在单片机中都是1K或2K为一页,在执行擦除指令时,一次最少要擦除一页的数据。FLASH支持单字节读写,但每次在更新数据前都必须先擦除原数据,然后才能重新写入数据,而不能在原数据基础上更新内容。另一方面,频繁读写Flash会缩短Flash的使用时间。
flash的读写一般用作两种情况,第一种是通过程序下载或仿真将程序下载到单片机Flash,另一种是在单片机运行过程中实现在线升级(IAP)。对于初学者,参照编程手册做一次编程练习以便进一步加深理解是有必要的。