diff --git a/src/platforms/pc/cl_utils.c b/src/platforms/pc/cl_utils.c index 0a27ca8..9b3a78f 100644 --- a/src/platforms/pc/cl_utils.c +++ b/src/platforms/pc/cl_utils.c @@ -253,8 +253,17 @@ void cl_init(BMP_CL_OPTIONS_t *opt, int argc, char **argv) case 'T': opt->opt_mode = BMP_MODE_SWJ_TEST; break; + case 'w': + if (opt->opt_mode == BMP_MODE_FLASH_VERIFY) + opt->opt_mode = BMP_MODE_FLASH_WRITE_VERIFY; + else + opt->opt_mode = BMP_MODE_FLASH_WRITE; + break; case 'V': - opt->opt_mode = BMP_MODE_FLASH_VERIFY; + if (opt->opt_mode == BMP_MODE_FLASH_WRITE) + opt->opt_mode = BMP_MODE_FLASH_WRITE_VERIFY; + else + opt->opt_mode = BMP_MODE_FLASH_VERIFY; break; case 'r': opt->opt_mode = BMP_MODE_FLASH_READ; diff --git a/src/platforms/pc/cl_utils.h b/src/platforms/pc/cl_utils.h index e002cda..4a0c1e2 100644 --- a/src/platforms/pc/cl_utils.h +++ b/src/platforms/pc/cl_utils.h @@ -32,6 +32,7 @@ enum bmp_cl_mode { BMP_MODE_RESET, BMP_MODE_FLASH_ERASE, BMP_MODE_FLASH_WRITE, + BMP_MODE_FLASH_WRITE_VERIFY, BMP_MODE_FLASH_READ, BMP_MODE_FLASH_VERIFY, BMP_MODE_SWJ_TEST,