Dear Wolfgang,

On 08/03/2016 12:59 PM, Wolfgang Denk wrote:
Dear James,

In message <fcff97bb-d146-fc77-28e4-050cac092...@gmail.com> you wrote:
I know my non-volatile copy of the environment is in NOR flash so I use
the command

protect all off;erase <saved env address> +1

But, of course this is specific to NOR flash.

I'm not aware of a way to do this in the general case, independent of NV
environment storage media and redundancy.

The idea applies to all kinds of persistent storage: just overwrite a
few (4 or more) bytes at the beginning of each copy of the persistent
envrionment.

In your case, you could save the "erase" by overwriting the first 4
bytes (where the CRC32 checksum is stored) with 0xFFFFFFFF.

In the case of my NOR flash storage, telling erase to do one byte actually causes the erasure of an entire flash sector, which we've reserved for the NV environment. You are of course correct that overwriting the CRC will have the same operational effect.

In my shop, time is not critical, whereas simplicity of commands is valued by those I have to instruct to get this sort of operation done.

It's a rare occurrence that we need to do this, we don't use this sort of operation as a normal part of doing business.


I'd be supportive of having a way to do this.

No, I don't think we want to support this.  The persistent copy of the
environment is a precious resource, and I cannot think of a regular
use case to invalidate this.  If you do, the result is that you will
use the default settings at next boot - and the samve effect can be
acchieved by using "env reset" + "env save" as already recommended.
[The only difference is that you will not see the "invalid CRC, using
the default env" warning then, but I consider this a pro, not a con.]

Thank you for this perspective. I often feel a bit isolated in my way of doing things and I find it valuable to read things like this.

I agree that there is not a regular use for an operation of this sort.

During development and debug, I will occasionally need to restore a particular system to the physical state it would be in had we just received it from our contract manufacturer, which would include a blank area in NOR flash where the U-Boot environment is kept. This is done usually to "prove" that processes will work on those systems from the CM when production starts.

Up to now, I've used the erase command to do this and I will continue to do things this way. I guess I've been at this long enough that the rare times I need to erase this area of flash has become noticeable as a pattern.

Again, thank you for your reply.

Regards,
Jim


Best regards,

Wolfgang Denk


--
Jim Chargin
AJA Video Systems                       j...@aja.com
(530) 271-3334                          http://www.aja.com
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to