Flash编程以前,必须将对应的块擦除,而擦除的过程就是将全部位都写为1的过程,块内的全部字节变为0xFF编程
Nor Flash 又分为SPI Flash(串行 使用SPI通讯)和 Nor Flash(并行 总线上传输)ui
SPI Flash : 每次传输一个bit位的数据,传输速度慢,可是价格便宜,任意地址读数据,擦除按扇区进行spa
Nor Flash : 每次传输一个字节 ,速度快,任意地址读数据,擦除按扇区进行orm
Nand Flash:芯片操做是以“块”为基本单位.NAND闪存的块比较小,通常是8KB,而后每块又分红页,页大小通常是512字节.要修改NandFlash芯片中一个字节,必须重写整个数据块,读和写都是按照扇区进行的。ip
flash 低地址开始存放数据,占得内存大小按数据类型分配,一个地址一个字节(0xff)。地址自动向上增长内存
如存放一个uint16_t数据 占用2个字节。若是地址从0x90000000存放数据,则低位占据0x90000001高位占据0x90000002。若是从0x90000001开始取uint16_t数据,则会取出上个数据的高位和下个数据的低位flash
#defint FLASH_ADDR 0x90000000it
ipAddr = (volatile uint16_t *)FLASH_ADDR + 1; 与 ipAddr = (volatile uint16_t *)0x90000002等效数据类型
WordProgram(1, 0x2665); //分配了uint16_t的两个地址,低地址上写0x65,高地址写0x26并行