• David Brownell's avatar
    NOR: add optional "flash erase_address" sector padding · 73566405
    David Brownell authored
    Add a NOR flash mechanism where erase_address ranges can be padded
    out to sector boundaries, triggering a diagnostic:
      > flash erase_address 0x0001f980 16
      address range 0x0001f980 .. 0x0001f98f is not sector-aligned
      Command handler execution failed
      in procedure 'flash' called at file "command.c", line 647
      called at file "command.c", line 361
      > flash erase_address pad 0x0001f980 16
      Adding extra erase range, 0x0001f800 to 0x0001f97f
      Adding extra erase range, 0x0001f990 to 0x0001fbff
      erased address 0x0001f980 (length 16) in 0.095975s (0.163 kb/s)
    This addresses what would otherwise be something of a functional
    regression.  An earlier version of the interface had a dangerous
    problem:  it would silently erase data outside the range it was
    told to erase.  Fixing that bug turned up some folk who relied on
    that unsafe behavior.  (The classic problem with interface bugs!)
    Now they can get that behavior again.  If they really need it,
    just specify "pad".
    Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>