首页 > 其他分享 >CH58xFLASH操作

CH58xFLASH操作

时间:2023-04-18 21:00:32浏览次数:40  
标签:FLASH MACBuf WRITE CH58xFLASH ERASE PRINT 操作 EEPROM

一、描述

  • 读:从FLASH将数据赋值给buff;
  • 写:从buff将数据赋值给FLASH;

DataFlash特点:

擦/ERASE 写/READ 读/WRITE
0.25KB(的倍数)/4KB(的倍数) 1Byte/多个Byte/256Byte(的倍数,best) 1Byte/多Byte

CodeFlash特点:

擦/ERASE 写/READ 读/WRITE
4KB(的倍数) 4Byte 4Byte/256Byte(的倍数,best)

二、实例

实现功能:按下RESET后MAC地址自加1。

实现方式:①先将FLASH的内容赋值给buf;②然后让buf[0]的内容自加;③擦除FLASH的内容;④将buf[0]的内容写给FLASH。

void FLASH_Init(){
    uint8 status = R8_RESET_STATUS;
    if(((status & 0x07) == 0x01 ))
    {
        MACBuf[0] = 6; MACBuf[1] = 3; MACBuf[2] = 4; MACBuf[3] = 5;
        PRINT("Inter...\r\n");
        EEPROM_ERASE(0, EEPROM_PAGE_SIZE);
        EEPROM_WRITE(0, MACBuf, 4);
    }
    uint8 ret = EEPROM_READ(0, MACBuf, 4);
    PRINT("MACBuf[0] = %02x \r\n", MACBuf[0]);
    MACBuf[0]++;
    EEPROM_ERASE(0, EEPROM_PAGE_SIZE);
    EEPROM_WRITE(0, MACBuf, 4);
    for(uint8 i = 0; i < 4; i++)
    {
        PRINT("%02x ", MACBuf[i]);
    }PRINT("\n");
}
cfg.MacAddr[i] = MACBuf[0];

 

标签:FLASH,MACBuf,WRITE,CH58xFLASH,ERASE,PRINT,操作,EEPROM
From: https://www.cnblogs.com/gscw/p/17328009.html

相关文章

  • Linux下Mysql数据库的基础操作
    (Linux下Mysql数据库的基础操作)一、Mysql数据介绍Mysql数据库是一种关系型数据库管理系统,具有的优点有体积小、速度快、总体成本低,开源,可移植性(跨平台,在不同系统中使用),可以和开发语结合,属于轻量级数据库。二、数据库相关术语介绍1.数据库相关名词数据库:database表:table......
  • stm32文件系统读写操作调试总结
    一问题最近使用到了文件系统的读写,中间遇到了一些问题值得深思。 二源码解析创建文件:FRESULTres;do{sprintf(filename,"/sensor_signal/sensor_%d.bin",file_num++);mprintf("filenameis:%s\n\r",filename);res=f_open(&file,fi......
  • 使用bat操作替换XML文件的字符串
    使用bat脚本,替换xml的字符串,并且生成一个新文件@echooffsetlocalenabledelayedexpansionsetold_str=123setnew_str=456setinput_file=123.xmlsetoutput_file=456.xmlset"file_content="for/f"delims="%%ain(%input_file%)do(set"line......
  • Linux操作系统网络模块
    Linux操作系统的网络模块是负责网络通信的核心部分。它通过实现各种协议和算法,使得计算机能够在网络中进行数据交换和通信。网络模块主要包括以下几个方面的功能:(1)IP协议栈:负责处理网络层的数据包,实现IP地址的分配、路由选择等功能。IP协议栈是网络模块中最基本的部分,它负责处理......
  • Redis Linux环境 安装,卸载,启动,通用名令,数据结构,字符串类型操作
    目录Redis高级Linux下安装redis卸载教程redis启动方式1.在redis目录下的src文件路径下2.动态参数启动3.配置文件启动客户端连接命令配置文件redis通用命令redis数据结构Redis字符串类型操作redis单线程为什么这么快Redis高级速度快:10wops(每秒10w读写),数据存在内存中,c语言实现,单......
  • 使用了enabled_PDBs_on_standby参数后,主库新增pdb后从库的操作
    环境:OS:Centos7DB:12.2.0.1拓扑:1主1从的dataguard 1.从库查看参数enabled_PDBs_on_standbySQL>showparametersenabled_PDBs_on_standbyNAMETYPEVALUE--------------------------------------------------------------......
  • js 选择器操作相关
    Javascript知识【jQuery选择器】 https://blog.csdn.net/m0_64550837/article/details/126231445 CSS选择器https://blog.csdn.net/weixin_44214326/article/details/128093869 ......
  • Mysql数据库-DQL操作
    DQL是数据查询语言(DataQueryLanguage)的缩写,是一种用于从数据库中检索数据的编程语言。DQL是SQL(结构化查询语言)的子集,用于查询关系型数据库,例如MySQL、Oracle和SQLServer等。DQL提供了多种查询操作,如SELECT、FROM、WHERE、GROUPBY、HAVING、ORDERBY等。使用这些操作,可以根据......
  • Object.create与new操作符
    前言Object.create与new都可以用来生成一个对象,那么它们之间有什么区别和联系呢分析先看一下用法,很明显可以看出,new是生成一个基于构造函数生成一个新对象,而Object.create是基于某个对象,将这个对象作为原型链实现的一个新的空对象。functionO(a){this.a=a;}const......
  • 15天玩转redis —— 第七篇 同事的一次缓存操作引起对慢查询的认识
       上个星期同事做一个业务模块,需要将一个80M的数据存入到redis缓存中,想法总是好的,真操作的时候遇到了HSet超时,我们使用的是C#的StackExchange.Redis驱动。<redisCacheClientallowAdmin="true"ssl="false"connectTimeout="5000"abortConnect="false"database="......