杰发科技AC7801——Flash模拟EEP内存(2)

1. 默认配置在1000个地址存储1000个数据

配置如下

计算地址

查看地址内容,等到打印完成

计算符合,从0-999共计1000

2. 修改配置在65536地址存储65536个数据

配置还是这个

因为传进去的地址是uint16_t,因此最大值是65536,写65536个数据在65536个地址里面

写到5200左右会每7s写一个数据,读的话还是很快

按照公式计算,512*10是10页,即会写到0x14000+0x5000

然而实际上是写到0x14747就结束了,大概1863个,还不到1页

3. 问题分析

我们重启一下,看下写到哪里开始慢起来,还是5270这个地方

大概在写到3000时候暂停(直接连接atclinktool会暂停读写数据)

写到了0x17190

减去14000,共计12688个地址

一个数据占用2个字节,加一个地址位2字节。相当于写一个数据需要4个字节空间。

也就是说最多写了3172个数据。

3127个数据,写的是

确实和我们结束时候的数据一样,但是跟地址似乎对应不上

起始是因为为了区别地址和数据,在数据上加了0x99导致

我们再来一次测试,直接写4096个数据

0x99是153和数据对上了

写到了0x1098,又对上了

4. 分析,写慢的原因

因为初始化的页数过多,因此我们只初始化一页测试看看结果,初始化一页,写4097个数据

结果显示到第650左右写的数据开始变慢,大约200ms左右写一次

看到从13800开始写了数据,

2048个地址,正好是1页,并且地址是倒着写的

并且是从03e开始写,也就是从地址62开始写

测试一下正好写完一页的,512多2个数据的,发现在510写完后会变慢。

考虑到EEP在当页起始需要去掉2个数据位置,正好写完一页开始变慢。

因此,上面的分析来看,写慢的原因找到了。

5. 交换写,备份区

我们看到上面有个备份区,看下这个是什么

测试512个数据,即第二个数据应该会放在前一页

发现前一页也因为有2个字节占用,重新从14000开始写,最后一个地址蟹道乐14000当页,而14000这个地址是之前被000地址占用了

为了方便看结果,单独写了两个地址的数据。

这里把地址0也给个特定值,发现在写完之后被覆盖了

因此如果要写1024个字节地址的话,最好就多初始化一页,初始化为512*2,即使用2页

最高写到400

备份区写到402

初始化的区域写到401,地址0的6666被覆盖掉

测试一下最高能到多少不会被覆盖

我们测试2页,也就是512*2=1024个,再少一个1023应该就OK了

因为后面加了2个固定数据,因此1023-2=1021,循环写1021个,0地址没有被覆盖

实际上最后一个8888没写上

回头看上面的计算少算了一个校验位,应该是-2才对

因此改为1024-2-2=1020,参考前面的少了个8888的位置,1020肯定是对的。

看到和计算的一样,备份区没有开始写,并且数据完整。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/410839.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Pytorch框架的深度学习PSPnet网络动物马语义分割系统源码

第一步:准备数据 动物马分割数据,总共有328张图片,里面的像素值为0和1,所以看起来全部是黑的,不影响使用 第二步:搭建模型 psp模块的样式如下,其psp的核心重点是采用了步长不同,po…

前端:html+css:伪类画箭头(实心)

一、效果图 二、代码 html <div class"rectangle">AC/DC</div> css /* 图形 */ .rectangle {position: relative;width: 50px;height: 20px;background-color: #3498db;color: white; } .rectangle:before {content: ;position: absolute;top: 0;l…

Spring Boot Web开发实践:请求与响应参数的使用方法

主要介绍了请求响应的简单参数、实体参数、数组集合参数、日期参数、路径参数等各自的使用方法&#xff01;&#xff01;&#xff01; 文章目录 前言 Postman 简单参数 原始方式 SpringBoot方式 实体参数 数组集合参数 日期参数 路径参数 总结 前言 主要介绍了请求响应的简单参…

Tkinter Checkbutton设置了一个多选,为什么初始值都是勾选的:

代码如下&#xff1a; from tkinter import *master Tk()renyuan ["唐僧", "沙僧", "悟空", "八戒"]def r_change():rec ""ci 0for el in vars:rec el.get() "、"ci 1rec "九点" rec "离…

PHP概述-特点-应用领域-如何学习

老师建议注册使用百度文心一言&#xff1b;讯飞星火大模型-AI大语言模型-星火大模型-科大讯飞&#xff1b;Kimi.ai - 帮你看更大的世界 等人工智能工具软件的一个到两个&#xff0c;也可下载文心一言、讯飞星火、kimi等APP软件使用&#xff0c;对于我们在读的大二学生来说有什么…

GPT-6曝光!阉割版「草莓」秋季兑现

夕小瑶科技说 原创 作者 | 海野 OpenAI的Q* 项目&#xff0c;也就是后来在网上沸沸扬扬的Strawberry草莓&#xff0c;终于定档于秋季上线。 据The Information爆料&#xff0c;作为GPT-4的下一代&#xff0c;Strawberry很惊艳&#xff1a; 拥有极强的推理和数学能力&#xf…

【人工智能 | 机器学习 | 理论篇】决策树(decision tree)

文章目录 1. 基本流程2. 划分选择2.1 信息增益2.2 增益率2.3 基尼系数 3. 剪枝处理3.1 预剪枝3.2 后剪枝 4. 连续与缺失值4.1 连续值处理4.2 缺失值处理 5. 多变量决策树 1. 基本流程 二分类任务决策树流程&#xff1a; 决策树&#xff1a;包含 1个根结点、若干个内部结点、若…

vue.js3+element-plus+typescript add,edit,del,search

vite.config.ts server: {cors: true, // 默认启用并允许任何源host: 0.0.0.0, // 这个用于启动port: 5110, // 指定启动端口open: true, //启动后是否自动打开浏览器 proxy: {/api: {target: http://localhost:8081/, //实际请求地址&#xff0c;数据库的rest APIschangeOr…

Maven Wrapper深入实战

概述 官网&#xff0c;GitHub。 Maven Wrapper&#xff0c;缩写为mvnw&#xff0c;是一个受Gradle Wrapper和Takari Wrapper启发而产生的Maven子项目&#xff0c;主要有以下三个用途&#xff1a; 让开发者电脑上无需安装Maven&#xff0c;也不用配置环境变量&#xff0c;即可…

【案例63】SSL RC4 加密套件支持检测 (Bar Mitzvah)修复方案

漏洞详情信息 漏洞名称 SSL RC4 加密套件支持检测 (Bar Mitzvah) 漏洞等级 高 漏洞描述 远程主机支持在一个或多个密码组中使用 RC4。 RC4 密码在伪随机字节流的生成中存在缺陷&#xff0c;导致引入了各种各样的小偏差&#xff0c;降低了其随机 性。 如果反复加密明文&am…

Linux下qt程序缺少中文字库,中文显示为框框

现象 Linux下qt5.9编译程序&#xff0c;运行时候界面上的中文显示一个一个的框框。 如图 原因 开发板里缺少中文字库或者qt字库环境未正常配置导致的。 解决方法一&#xff1a; 如果系统中存在中文字库&#xff0c;一般是在/usr/share/下有一个fonts文件夹 配置qt中文字库路…

【雷电防护】同为科技为国科大构建雷电防护系统

中国科学院大学&#xff08;University of Chinese Academy of Sciences&#xff09;&#xff0c;以下简称“国科大”&#xff0c;主校区位于北京市&#xff0c;是一所以科教融合为办学模式、研究生教育为办学主体的创新型大学&#xff0c;是国家“双一流”建设高校&#xff0c…

go+gin+vue入门

后端框架 1、安装go、goland 2、创建空项目 3、下载要用的包&#xff1a;命令行输入go get -u github.com/xxxx 4、安装mysql数据库&#xff0c;使用navicat创建数据库。 5、按照项目框架搭建目录、文件、代码&#xff1a;如router、model… 6、运行测试&#xff0c;go run ma…

openshift node NotReady kubelet http: TLS handshake error

文章目录 问题现象解决方法 问题现象 openshift 集群 node 节点 notready $ oc get node NAME STATUS ROLES AGE VERSION master1.ocp4.demo.com Ready control-plane,master 4d14h v1.29.76abe8a1 master2.ocp4…

什么是响应式?

表达式: 用于表达式进行插值,渲染到页面之中 语法: {{ 表达式 }} 案例 <template><h1>{{ arr[2] }}</h1><h1>{{ 9 5 }}</h1><h1>{{ "神奇" }}</h1> </template><script setup> import { ref } from vue; …

C++ | Leetcode C++题解之第375题猜数字大小II

题目&#xff1a; 题解&#xff1a; class Solution { public:int getMoneyAmount(int n) {vector<vector<int>> f(n1,vector<int>(n1));for (int i n - 1; i > 1; i--) {for (int j i 1; j < n; j) {f[i][j] j f[i][j - 1];for (int k i; k &l…

刚开始学习软件编程,如何克服编程学习中的挫折感?

编程学习之路往往充满挑战&#xff0c;即便是最优秀的程序员也会遇到挫折。克服挫折感的关键在于心态、方法和持续的学习。以下是一些通俗易懂的建议和案例&#xff0c;展示了如何在遇到编程难题时保持积极态度。 1. 接受挫折是成长的一部分 编程是一个不断学习和成长的过程。…

【Java设计模式】Bridge模式:在Java中解耦抽象与实现

文章目录 【Java设计模式】Bridge模式&#xff1a;在Java中解耦抽象与实现一、概述二、Bridge设计模式的别名三、Bridge设计模式的意图四、Bridge模式的详细解释及实际示例五、Java中Bridge模式的编程示例六、Bridge模式类图七、Java中何时使用Bridge模式八、Java中Bridge模式的…

【日记】今天实在太累了(436 字)

正文 今天的工作强度跟之前完全不是一个级别。能不能不要给我找这么多事做&#xff0c;我只想摸鱼摆烂。以后到下一个单位就说自己啥都不会好了&#xff0c;省得一天天全来找我。 忙碌程度上升了一个数量级&#xff0c;一天结束之后完全不想说话。 好想睡觉。 昨晚尝试完成年度…

【Python】Python 函数综合指南——从基础到高阶

文章目录 Python 函数综合指南1. 函数介绍1.1 什么是函数&#xff1f;1.2 定义函数示例&#xff1a;1.3 调用函数1.4 函数参数1.4.1 必需参数1.4.2 默认参数1.4.3 关键字参数1.4.4 可变长度参数 2. Python 内置函数2.1 字符串处理函数示例&#xff1a; 2.2 数学函数示例&#x…