Skip to content

Commit

Permalink
Merge pull request #1102 from 2a17/write_option_bytes
Browse files Browse the repository at this point in the history
Improved support for writing option bytes
  • Loading branch information
Nightwalker-87 authored Mar 14, 2021
2 parents e576768 + 7729fea commit cc9084c
Showing 1 changed file with 7 additions and 14 deletions.
21 changes: 7 additions & 14 deletions src/st-flash/flash_opts.c
Original file line number Diff line number Diff line change
Expand Up @@ -328,21 +328,14 @@ int flash_get_opts(struct flash_opts* o, int ac, char** av) {

case FLASH_CMD_WRITE:
// TODO: should be boot add 0 and boot add 1 uint32
if (o->area == FLASH_OPTION_BYTES) { // expect filename and optional address
if (ac >=1 && ac <= 2) {
o->filename = av[0];
if (o->area == FLASH_OPTION_BYTES) { // expect option byte value
if (ac != 1) { return invalid_args("option byte write <value>"); }
uint32_t val;
result = get_integer_from_char_array(av[0], &val);
if (result != 0) {
return bad_arg ("val");
} else {
return invalid_args("write <path> [addr]");
}

if (ac == 2) {
uint32_t addr;
result = get_integer_from_char_array(av[1], &addr);
if (result != 0) {
return bad_arg ("addr");
} else {
o->addr = (stm32_addr_t) addr;
}
o->val = (uint32_t) val;
}
} else if (o->area == FLASH_OPTION_BYTES_BOOT_ADD) { // expect option bytes boot address
if (ac != 1) { return invalid_args("option bytes boot_add write <value>"); }
Expand Down

0 comments on commit cc9084c

Please sign in to comment.