STM32本身没有自带EEPROM,但是STM32具有IAP(在应用编程)功能,所以我们可以把它的FLASH当成EEPROM来使用...
1、在写函数时关掉了擦除扇区功能,FLASH_ErasePage(flash_add);函数可以在一个区块内完成数据在不同...
* Return Value: 0 - OK, 1 - Failed*/intUnInit (unsignedlongfnc) {/*Add your Code*/return(0);//Finished without Errors}/** Erase complete Flash Memory * Return Value: 0 - OK, 1 - Failed*/intEraseChip (void) {/*Add your Code*/return(0);//Finished without Errors}/** Erase Se...
if (norflash_buf[secoff + i] != 0XFF) { break; /* 需要擦除, 直接退出for循环 */ } } if (i < secremain) /* 需要擦除 */ { norflash_erase_sector(secpos); /* 擦除这个扇区 * for (i = 0; i < secremain; i++) /* 复制 */ { norflash_buf[i + secoff]...
这里选择扇区5进行flash的读写 1.读flash /** 读取flash address 读取起始地址 readBuf 读取内容存放位置 size 读取的大小 **/ void readFlash(uint32_t address,uint8_t *readBuf,uint16_t size) { uint16_t i; uint16_t tmpBuf; printf("开始读flash\r\n"); ...
int EraseSector (unsigned long adr); // Erase Sector Function int ProgramPage (unsigned long adr, // Program Page Function unsigned long sz, unsigned char *buf); Optional Flash Programming Functions (Called by FlashOS): int BlankCheck (unsigned long adr, // Blank Check ...
向地址510写入1个字节数据:PageWrite(&temp3, 510, 1) (这里已经是写到下一页了) 下面是将从0地址到511地址读取出来的512个字节数据,一行32字节。 32.3.4 W25QXX扇区擦除 SPI Flash的擦除支持扇区擦除(4KB),块擦除(32KB或者64KB)以及整个芯片擦除。对于扇区擦除和块擦除,使用的时候要注意一点,一般情况下...
NAND FLASH 的 page 由 2 部分组成:数据存储区( data area)和备用区域( spare area),对 MT29...
执行Program Page页编程函数。 执行Uninit函数。 操作完毕。 36.2.4 算法程序中校验操作执行流程 校验操作大致流程: 校验要用到MDK生成的axf可执行文件。校验就是axf文件中下载到芯片的程序和实际下载的程序读出来做比较。 查看Flash算法是否在FLM文件。如果没有在,操作失败。如果在: ...
static int erase(long offset, size_t size); static sfud_flash_t sfud_dev = NULL; struct fal_flash_dev gd25q32 = struct fal_flash_dev w25q128 = { .name = "GD25Q32", .name = "W25Q128", .addr = 0, .len = 4 * 1024 * 1024, .len = 16 * 1024 * 1024, .blk_size = 409...