Is IAP Erase Sensibly Optimised?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Is IAP Erase Sensibly Optimised?

ソリューションへジャンプ
1,046件の閲覧回数
mikesimmonds
Contributor III

I am specifically concerned with the LPC1313 but I expect that this will (should?) apply to all LPC devices.

Does the IAP implementation for flash erase (either individual sectors or all sectors) check for each sector

being blank and then skipping the erase for that sector. To reduce erase cycles and thereby improve longevity?

On a similar note, does flash programming check for identical updates and also skip the operation(s).

Regards, Mike.

ラベル(2)
0 件の賞賛
返信
1 解決策
808件の閲覧回数
thefallguy
Contributor IV

From what I have been able to determine, it is NOT smart. That is, it is up to you to determine if a page is identical and not reprogram. It is only a memcmp(), so not a big deal...

元の投稿で解決策を見る

0 件の賞賛
返信
3 返答(返信)
808件の閲覧回数
jeremyzhou
NXP Employee
NXP Employee

Hi Mike,

I think the IAP erase command is identical for all LPC MCU, however I hasn't found the information of the mechanism of the erase command, maybe only by NDA or it's not shared by the customers.
Have a great day,
Ping

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 件の賞賛
返信
808件の閲覧回数
mikesimmonds
Contributor III

I am not asking for trade secret technical details about the erase or programming algorithms, just whether or not

the IAP code is sensible enough to detect, say, an erase of an already blank sector and if so, skip the erase operation.

Surely, that information should not be subject to NDA.

Cheers, Mike.

0 件の賞賛
返信
809件の閲覧回数
thefallguy
Contributor IV

From what I have been able to determine, it is NOT smart. That is, it is up to you to determine if a page is identical and not reprogram. It is only a memcmp(), so not a big deal...

0 件の賞賛
返信