Skip to content
  • Andreas Färber's avatar
    flash/nor: Add erased_value to drivers and pass it to targets · eaacb900
    Andreas Färber authored
    
    
    struct flash_driver has a default_padded_value field that is similar,
    but it can be changed by the user for the specific purpose of padding.
    
    Add a new erased_value field and initialize it for all targets,
    particularly stm32lx, xmc4xxx and virtual.
    
    Use this value in core.c:default_flash_mem_blank_check(), the slow path.
    
    Extend the target API to pass erased_value down to target code.
    Adding an argument ensures that we catch all callers.
    
    This allows us to merge xmc4xxx.c:xmc4xxx_blank_check_memory() into
    armv7m:armv7m_blank_check_memory().
    
    It further allows us to use default_flash_blank_check() in place of
    xmc4xxx.c:xmc4xxx_flash_blank_check(), adding a potential slow path
    fallback, as well as stm32lx:stm32lx_erase_check(), adding the potential
    armv7m fast path with fallback to default_flash_mem_blank_check().
    
    Fix a mips32 code comment while at it (zeroed -> erased).
    
    The armv4_5 and mips32 target implementations will now error out if an
    erase value other than 0xff is used, causing default_flash_blank_check()
    to fall back to the default_flank_mem_blank_check() slow path.
    
    Change-Id: I39323fbbc4b71c256cd567e439896d0245d4745f
    Signed-off-by: default avatarAndreas Färber <afaerber@suse.de>
    Reviewed-on: http://openocd.zylin.com/3497
    
    
    Tested-by: jenkins
    Reviewed-by: default avatarTomas Vanek <vanekt@fbl.cz>
    eaacb900