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並行