你好,
我正在使用辅助引导加载程序,我的应用程序驻留在闪存中。引导加载程序头位于默认位置(0x1F000)。我有一些应用程序相关的数据,我在0x1E000位置存储在外部闪存。有时,我发现我的应用程序数据在地址0x1E000处被过度写入。我确信我的应用程序没有在该地址写入任何垃圾数据。所以,我想确认是次要引导加载程序还是BLE堆栈访问0x1E000地址供自己使用?
如果是,建议我的位置,我可以使用我的申请。
嗨Ankit,
请帮助我理解这个问题。您的应用程雷竞技安卓下载序有一个辅助引导加载程序。您能指定这个辅助引导加载程序驻留在哪里吗?在外部flash应用程序中,主引导加载程序查看应用程序映像的0x00位置。如果您有一个辅助引导加载程序,那么您可以自定义应用程序映像在闪存中的位置。
不管主/次引导加载程序是什么,引导时所做的所有工作都是将应用程序映像复制到RAM上执行。所以BLE栈不会访问闪存。除非用户应用程序请求读/写,否则SDK的其他部分都不能访问闪存。
最好的信用证
我的辅助引导加载程序和我的应用程序都驻留在闪存中。据我所知,二级引导加载程序存储的分区信息,如签名,图像分区开始地址,CRC等在闪存。我已经在0x1F000配置了PRODUCT_HEADER_POSITION。但我发现有时我的应用程序数据,这只是一个扇区以上的PRODUCT_HEADER_POSITION位于0x1E000,被损坏。全是0。
据我所知,二级引导加载程序基本上不会写入flash或执行任何擦除操作。那些像PRODUCT_HEADER_POSITION这样的地址定义只告诉它在哪里读取它需要的所需数据,辅助引导加载程序不会写入或擦除闪存。SDK中唯一能够操作flash内容的功能是SUOTA和为安全需求保存绑定信息。检查禁用这些功能时是否有任何变化。除此之外,您可能需要在您自己的应用程序中重新检查关于SPI flash处理的一切。
你好再次,
我仍然面临这个问题。我正在做flash擦除,读写操作。
我必须在每次闪光操作后引入延迟吗?如果是,那么特定操作的延迟应该是什么?
我不认为有必要针对flash操作之间的延迟,没有延迟与flash交互SDK时,你有时会损坏数据可能与事实SUOTA擦除每家银行在写作之前的新形象,但这将需要一个相当大的图像达到0 x1e000,如果发生了,这意味着您可以轻松地复制这个问题每次你写在银行2中,此外,如果SUOTA篡改了额外的数据,或者擦除了数据,您将看到0xFF而不是0。如果问题不能以这种方式复制,那就意味着您的数据被其他东西损坏了,而不是被SUOTA损坏了。
由于MT_dialog
嗨Ankit,
请帮助我理解这个问题。您的应用程雷竞技安卓下载序有一个辅助引导加载程序。您能指定这个辅助引导加载程序驻留在哪里吗?
在外部flash应用程序中,主引导加载程序查看应用程序映像的0x00位置。如果您有一个辅助引导加载程序,那么您可以自定义应用程序映像在闪存中的位置。
不管主/次引导加载程序是什么,引导时所做的所有工作都是将应用程序映像复制到RAM上执行。所以BLE栈不会访问闪存。除非用户应用程序请求读/写,否则SDK的其他部分都不能访问闪存。
最好的
信用证
我的辅助引导加载程序和我的应用程序都驻留在闪存中。据我所知,二级引导加载程序存储的分区信息,如签名,图像分区开始地址,CRC等在闪存。我已经在0x1F000配置了PRODUCT_HEADER_POSITION。但我发现有时我的应用程序数据,这只是一个扇区以上的PRODUCT_HEADER_POSITION位于0x1E000,被损坏。全是0。
嗨Ankit,
据我所知,二级引导加载程序基本上不会写入flash或执行任何擦除操作。那些像PRODUCT_HEADER_POSITION这样的地址定义只告诉它在哪里读取它需要的所需数据,辅助引导加载程序不会写入或擦除闪存。SDK中唯一能够操作flash内容的功能是SUOTA和为安全需求保存绑定信息。检查禁用这些功能时是否有任何变化。除此之外,您可能需要在您自己的应用程序中重新检查关于SPI flash处理的一切。
你好再次,
我仍然面临这个问题。我正在做flash擦除,读写操作。
我必须在每次闪光操作后引入延迟吗?如果是,那么特定操作的延迟应该是什么?
嗨Ankit,
我不认为有必要针对flash操作之间的延迟,没有延迟与flash交互SDK时,你有时会损坏数据可能与事实SUOTA擦除每家银行在写作之前的新形象,但这将需要一个相当大的图像达到0 x1e000,如果发生了,这意味着您可以轻松地复制这个问题每次你写在银行2中,此外,如果SUOTA篡改了额外的数据,或者擦除了数据,您将看到0xFF而不是0。如果问题不能以这种方式复制,那就意味着您的数据被其他东西损坏了,而不是被SUOTA损坏了。
由于MT_dialog