void ReadImageFlag(void){ OTADataFlashInfo_t p_image_flash;EEPROM_READ(OTA_DATAFLASH_ADD, &p_...
1、先利用EEPROM_ERASE(512, 6),用于擦除 EEPROM 存储器中指定地址范围的数据。当调用 EEPROM_ERASE 函数时,它会将起始地址为 512 的连续 6 个字节的数据擦除为初始值。 EEPROM_WRITE(512, Rx_NAMEPacket, 6)这个函数将数据写入 EEPROM 存储器中指定地址处。当调用 EEPROM_WRITE 函数时,将串口接收到的 Rx_...
EEPROM_WRITE(256, MAC, 6) 操作,将数组 MAC 的数据写入到 EEPROM 存储器的地址 256 处。将数据写入 EEPROM 存储空间,其中 256 是写入的起始地址,MAC 是要写入的数据,6 是要写入的数据长度。 最后进行一次软件复位。 在蓝牙初始化前,将EEPROM_READ(256, ReadMacAddr, 6) 操作,从 EEPROM 存储器的地址 256...
uint16_t i; uint32_t ver_flag;/*读取第一块*/EEPROM_READ(OTA_DATAFLASH_ADD, (uint32_t*)&block_buf[0],4);/*擦除第一块*/EEPROM_ERASE(OTA_DATAFLASH_ADD, EEPROM_PAGE_SIZE);/*更新Image信息*/block_buf[0] =new_flag;/*编程DataFlash*/EEPROM_WRITE(OTA_DATAFLASH_ADD, (uint32_t*)...
1、根据模块开头的两个paramter的定义可直接计算所需计数总数,然后生成所需要的时钟,IIC的时钟规定在100Khz至400Khz之间,太快肯定不行,太慢的话有些器件也不行(笔者测试EEPROM在10Khz时无法正常读写) 2、由于IIC协议规定,数据在高电平期间有效,所以如果是写IIC ...
EEPROM_READ(StartAddr,Buffer,Length) //擦除数据 //这里的length 是字节,但是实际的擦除是按照256字节高位对齐,比如传入257字节,实际是擦除了512字节. //擦除后的区域,使用EEPROM_READ读出来默认是0xff,使用指针方式绝对地址读取,非0xff //传入的地址是相对地址,0对应dataflash的起始地址 ...
EEPROM_READ(OTA_DATAFLASH_ADD, (uint32_t *)&block_buf[0], 4); /* 擦除第一块 */ EEPROM_ERASE(OTA_DATAFLASH_ADD, EEPROM_PAGE_SIZE); /* 更新Image信息 */ block_buf[0] = IMAGE_OTA_FLAG; /* 编程DataFlash */ EEPROM_WRITE(OTA_DATAFLASH_ADD, (uint32_t *)&block_buf[0], 4)...
EEPROM_WRITE(0, TestBuf,500);//Data-Flash写地址为相对地址,可单字节写 EEPROM_READ(0, TestBuf,500);//Data-Flash读地址为相对地址,可单字节读 二.CodeFlash 擦写读 接口函数: FLASH_ROM_ERASE(20*1024,4096);//Code-Flash擦地址为绝对地址,最小擦除单位4k字节,擦除起始地址需按照4k字节对齐 ...
UINT32 ver_flag;/*读取第一块*/EEPROM_READ( OTA_DATAFLASH_ADD, (PUINT32)&block_buf[0],4);/*擦除第一块*/EEPROM_ERASE(OTA_DATAFLASH_ADD,EEPROM_PAGE_SIZE);/*更新Image信息*/block_buf[0] =IMAGE_OTA_FLAG;/*编程DataFlash*/EEPROM_WRITE(OTA_DATAFLASH_ADD, (PUINT32)&block_buf[0],4...
3. Re:CH573/571/CH583/582/CH592/591 内部flash和eeprom的读写 你好 我这边使用的也是CH573F 目前在进行到IAP升级的操作 由于ram的空间不足以存储用于升级的BIN文件 需要将串口读取的BIN数据放入到flash进行暂存 同时将存储的数据包进行打印操作 这... --烧饼333 4. Re:CH573/CH571 实现用户bootloader和用...