From 1645d372d27e4c784f2e56dc37248ae82ea5dcad Mon Sep 17 00:00:00 2001 From: Marti Bolivar Date: Thu, 14 Dec 2017 16:55:45 -0500 Subject: [PATCH] scripts: runner: dfu-util: add --dfuse-modifiers option This gives callers finer-grained control over the flash. For example, giving --dfuse-modifiers=force:mass-erase allows a chip-erase rather than just erasing the sectors which need to be overwritten with the image. Signed-off-by: Marti Bolivar --- scripts/support/runner/dfu.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/support/runner/dfu.py b/scripts/support/runner/dfu.py index d41f162c0ed..44276f467fd 100644 --- a/scripts/support/runner/dfu.py +++ b/scripts/support/runner/dfu.py @@ -57,6 +57,11 @@ class DfuUtilBinaryRunner(ZephyrBinaryRunner): parser.add_argument("--dfuse", default=False, action='store_true', help='''set if target is a DfuSe device; implies --dt-flash.''') + parser.add_argument("--dfuse-modifiers", default='leave', + help='''colon-separated list of DfuSe modifiers + (default is "leave", which starts execution + immediately); --dfuse must also be given for this + option to take effect.''') parser.add_argument('--dfu-util', default='dfu-util', help='dfu-util executable; defaults to "dfu-util"') @@ -69,7 +74,7 @@ class DfuUtilBinaryRunner(ZephyrBinaryRunner): args.dt_flash = True # --dfuse implies --dt-flash. build_conf = BuildConfiguration(os.getcwd()) dcfg = DfuSeConfig(address=cls.get_flash_address(args, build_conf), - options="leave") + options=args.dfuse_modifiers) else: dcfg = None