flash地址0x1E000访问同时使用辅助引导程序

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
6个职位/ 0个新职位
最后发表
Ankit
离线
最后看到:三个月三个星期前
加入:2017-05-24 07:42
flash地址0x1E000访问同时使用辅助引导程序

你好,

我正在使用二级引导加载程序,我的应用程序驻留在闪存中。引导加载程序头位于默认位置(0x1F000)。我有一些应用程序相关的数据,我存储在外部闪存0x1E000位置。有时我发现我的应用程序数据在地址0x1E000上被重写。我确信我的应用程序没有在该地址写入任何垃圾数据。所以,我想确认一下是二级引导加载程序还是BLE堆栈访问0x1E000地址供自己使用?

如果是,请建议我可以使用我的申请位置。

设备:
LC_Dialog
离线
最后看到:6天2小时前
工作人员
加入:2016-09-19 23:20
嗨Ankit,

嗨Ankit,

请帮我理解这个问题。您的应用程亚博国际官网平台网址序有一个辅助引导加载程序。能否指定二级引导加载程序驻留在哪里?
在外部flash应用程序中,主引导加载程序查看应用程序映像的0x00位置。如果您有一个辅助引导加载程序,那么您可以自定义应用程序映像在闪存中的位置。

不管主/次引导加载程序如何,在引导时所做的就是将应用程序映像复制到RAM中以执行。因此BLE堆栈将不会访问闪存。除非用户应用程序请求读/写,否则SDK的其他部分不会访问flash。

最好的
信用证

Ankit
离线
最后看到:三个月三个星期前
加入:2017-05-24 07:42
我的辅助引导程序和

我的辅助引导加载程序和我的应用程序都驻留在闪存中。据我所知,二级bootloader在闪存中存储分区的信息,如签名、图像分区起始地址、CRC等。我已经在0x1F000配置了PRODUCT_HEADER_POSITION。但我发现,有时我的应用程序数据,这只是一个扇区以上PRODUCT_HEADER_POSITION位于0x1E000,损坏。里面全是0。

Qinjiny_Dialog
离线
最后看到:1周6天前
工作人员
加入:2016-11-01 05:47
嗨Ankit,

嗨Ankit,

据我所知,二级引导加载程序基本上不写入flash或执行任何擦除操作。像PRODUCT_HEADER_POSITION这样的addr定义只告诉它从哪里读取所需的数据,次要引导加载程序不会写入或擦除flash。SDK中唯一可以操作flash内容的功能是SUOTA和保存bonding信息以满足安全需求。当你禁用这些功能时,检查是否有任何变化。除此之外,您可能需要在您自己的应用程序中重新检查所有关于SPI flash处理的内容。

Ankit
离线
最后看到:三个月三个星期前
加入:2017-05-24 07:42
你好再次,

你好再次,

我仍然面临着这个问题。我在做闪存擦除,读写操作。

我必须在每次闪光操作后引入延迟吗?如果是,那么具体操作的延迟应该是什么?

MT_dialog
离线
最后看到:3个月1周前
工作人员
加入:2015-06-08 34
嗨Ankit,

嗨Ankit,

我不认为有必要针对flash操作之间的延迟,没有延迟与flash交互SDK时,你有时会损坏数据可能与事实SUOTA擦除每家银行在写作之前的新形象,但这将需要一个相当大的图像达到0 x1e000,如果发生了,这意味着您可以轻松地复制这个问题每次你写银行2,另外如果SUOTA干扰的额外数据,或许你会看到0 xff擦除数据并不是零。如果问题不能以这种方式复制,这意味着您的数据被其他东西破坏,而不是被SUOTA。

由于MT_dialog