你好!我困惑并希望在使用BLE(DA14681)中了解QSPI缓存模式的启动过程中的一些帮助(DA14681)。
在Document UM-B-044(软件参考)中,它对我来说不清楚,其中从闪存中的图像中的保留区域中切断了8个字节(参考图43)?正如我所能理解的,必须有两个补丁条目(4×2),必须在启动过程中复制到RAM。所以我们松开这些条目吗?
如我所理解的:IVT(192)+64(补丁)= 256,48个修补字节从0x8000 0000,所以保留区域必须为64,而不是56。
拜托,说出我的想法是什么?
同样...在UM-B-044:
只需将标题预先生到二进制映像将在闪存中迁移整个图像并损坏
作为所有函数地址的代码都是错误的。相反,bin2image只修改第一个
0x100字节。
但是在AN-B-046_DA1468x_booting_from_serial_interface:
Flash标题由闪存的二进制图像的顶部添加8个字节,将前248个字节放在8字节的顶部。
248字节后,它是否会有8个零字节?但248-192 = 56,不是64(补丁)
设备:
嗨mikle,
谢谢你在线的询问。让我试着向你解释如何重定向到RAM正在发生。
因此,(192 + 64)= 256bytes(0x100)将被重定向到第一个RAM单元格,该ram单元格固定而不从任何闪存地址换档变为。
谢谢,PM_DIALOG.
非常感谢您的回复
1.对于所有应用程序的Flash Requerd的内存布局,即在112个补丁字节之后保留区域中存在2雷竞技安卓下载08个字节?
2.还在第36段“Memory地图”中的Datasheet DA14681-01-DS-V3.0中:QSPI Flash从0x800 0000。
但是在软件上参考UM-B-044-DA1468X ...在图43中说:0x8000 0100,即0x8之后的3个Zeroes,而不是2个Zeroes作为N Datasheet。
也许我错了?
3.此外,在答案中,您所说的:
第一个RAM单元(0x07C000),在图片0x7C0000上,但在数据表RAM中以0x7FC 0000开始。
什么是对的?
正如我可以在BLE_ADVIZE中看到的部分.INIT_TEXT .elf从0x800 0100开始,而不是在数据中心(我是关于MSB Byte)。
4.所以我的主要问题:a)装载机封面后,什么映射地址(0x0000 0000)点到48个补丁字节?
b)闪存中的代码(在208年保留字节之后)是什么映射的地址?
拜托,不要为我的愚蠢问题扔石头。
嗨mikle,
是的,始终保留此区域,以便保留跳转表的可扩展性以实现ROM修补。QSPI闪存从0x800 0000开始。代码和数据从0x800 0100开始。RAM从0x7FC0000开始,您是正确的 - 它是一个拼写错误!关于你的最后一个问题,你能澄清一下吗?
谢谢,PM_DIALOG.
非常感谢。
我的最后一个问题是在重对0x0后的代码地址(800 0100的代码)。IE。IVT在0x0000 0000,0x0000 0100,0x0000 0100,0x0000 0130的0x0000 0100的贴片字节。
还有真实的应用程序代码?
在0x0000 0200?
嗨mikle,
Flash中的代码和数据从0x80000200开始。
谢谢,PM_DIALOG.
是的,我明白了这一点。但从重新映射07FC 0000至000000 0000之后,有0800 0200(不是8000 0200)。
是这个权利:0x0800 0200 => 0x0000 0200 ???