i在DSPIC33EP256MC502应用程序上工作,我需要在Flash上写入以保存配置。除擦除页面外,所有工作都删除了太多或太多。
数据表说页面擦除页面大小为" 1024个说明"(3072字节)由于指令为24位 幻影字节,因此指令为32位我们需要两个地址单元来解决指令
示例:
0x000000:[phantom] [指令1] [指令1] [指令1]
0x000002:[phantom] [指令2] [指令2] [指令2]
0x000004:[phantom] [指令3] [指令3] [指令3]
0x000006:...
a/天真i计算 1024指令页面大小如:
- 4096字节(包括幻象字节) [1024指令x 4字节]
- 3072 UTILE字节。 [4096字节x 0.75]
- 所以我们需要2048地址单元 [4096/2] 地址: 0x800地址每页
b/i做一个经验测试以验证,我发现每页0x600地址,这是指1024指令是:
- 0x600是1536地址
- 3072字节(包括幻象字节) [1536 x 2字节]
- 2304 UTILE字节 [3072字节x 0.75]
- 我发现擦除页面是 768指令 [3072/4]
我不明白有或没有幻影字节,三个或四个字节的数据表计数指令是如何的?每个页面有多少个地址?
有人可以帮助我理解我的错误和/或获得一个好的观点吗?
我现在确认1024指令擦除页面是:
- 4096字节(包括幻影字节)[1024指令x 4字节]
- 3072 UTILE字节。[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
Page 85:0x02A800至0x02Affe (最后一页包含Flash配置字节)
Page 86:0x02b000 (不存在页面)