好长时间没有写了

一直忙着工作,才想起好长时间没有写点东西了,优快云还是每天必看的网站,再想什么时间我也能成为C++领域的高手呢?期待!
虽然提供的引用中未直接提及NvM下电时间过长的原因,但从NvM_ReadAll时间过长的优化方法可以进行一定的推测,下电时间过长可能的原因及对应的解决方法如下: ### 可能的原因 - **入Block数量过多**:过多的Block需要入数据,会增加下电的时间。 - **数据配置不合理**:若入频率较高的Block的WriteCycle设置不合理,可能导致下电操作频繁且耗时。 - **LookupTable存储问题**:LookupTable没有及时有效存储,导致下电时需要额外的时间处理。 ### 解决方法 - **合并减少下电Block数量**:合并减少上电读Block数量的思路同样适用于下电,减少需要入数据的Block数量,从而缩短下电时间。 - **优化数据配置**:将上电ReadAll的Block同时也配置为WriteAll,增大入频率较高的Block的WriteCycle,减少不必要的入操作,提高下电效率。 - **及时存储LookupTable**:在下电后存储LookupTable,在NvM_WriteAll之后调用Fee_30_FlexNor_PersistLookupTable(例如BswM_ESH_OnEnterShutdown中),示例代码如下: ```c Std_ReturnType retVal; NvM_RequestResultType nvJobResult; Fee_30_FlexNor_ConstConfigPtrType config = Fee_30_FlexNor_ConfigInterface_GetConfig(); for(uint8 pIndex = 0; pIndex < config->PartitionCount; pIndex++) { retVal = Fee_30_FlexNor_PersistLookupTable(pIndex); if(E_OK == retVal) { do { Fee_30_FlexNor_MainFunction(); Fls_MainFunction(); nvJobResult = Fee_30_FlexNor_GetJobResult(); } while(MEMIF_JOB_PENDING == nvJobResult); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值