首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dsPic33页面擦除大小

dsPic33页面擦除大小
EN

Stack Overflow用户
提问于 2016-06-15 19:22:45
回答 1查看 817关注 0票数 0

我在dsPic33EP256MC502应用程序上工作,我需要用闪存来保存配置。所有的工作,除了擦除页面,我抹了太多或太多。

数据表说页面擦除页的大小是"1024指令“(3072字节),因为指令是24位+幻影字节,指令是32位对齐的。我们需要两个地址单元来寻址指令

例子:

代码语言:javascript
复制
 0x000000 : [Phantom] [Instruction1] [Instruction1] [Instruction1]
代码语言:javascript
复制
 0x000002 : [Phantom] [Instruction2] [Instruction2] [Instruction2]
代码语言:javascript
复制
 0x000004 : [Phantom] [Instruction3] [Instruction3] [Instruction3]
代码语言:javascript
复制
 0x000006 : ...

A/天真地计算1024指令页面大小,如下所示:

  • 4096字节(包括幻影字节) 1024条指令x4字节
  • 3072个实用字节4096字节x 0.75
  • 因此,我们需要2048地址单元4096 /2来寻址一个页面:0x800每页地址

B/ I做了一个实证检验,我发现0x600每页地址,这意味着1024条指令是:

  • 0x600是1536地址
  • 3072字节(包括幻影字节)1536x2字节
  • 2304个实用字节3072字节x 0.75
  • 我发现擦除页是768指令 3072 /4

我不明白数据表是如何计算带或不带幻影字节的指令的,三个或四个字节?每页有多少个地址?

有人能帮我理解我的错误和/或得到一个好的观点吗?

EN

回答 1

Stack Overflow用户

发布于 2016-06-16 16:19:58

我现在确认1024条指令擦除页面是:

  • 4096字节(包括幻影字节) 1024条指令x4字节
  • 3072个实用字节4096字节x 0.75
  • 我们需要2048 (0x800)地址单元4096 /2来寻址一页

要小心测试擦除页对齐,因为如果你在页面中的某个地址擦除一页,整页就会被擦除,这就是为什么我的实证结论是错误的。

第0页: 0x000000至0x0007FE

第1页: 0x000800至0x000FFE

第2页: 0x001000至0x0017FE

第3页: 0x001800至0x001FFE

第4页: 0x002000至0x0027FE

..。

第84页: 0x02A000至0x02A7FE

第85页: 0x02A800至0x02AFFE (最后一页包含闪存配置字节)

第86页: 0x02B000 (不存在页)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37844082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档