kopia lustrzana https://github.com/stlink-org/stlink
Add --reset option to trigger a reset both before and after flashing.
rodzic
73dccb68ed
commit
99e8194f7f
22
flash/main.c
22
flash/main.c
|
@ -17,13 +17,14 @@ struct opts
|
|||
const char* filename;
|
||||
stm32_addr_t addr;
|
||||
size_t size;
|
||||
int reset;
|
||||
};
|
||||
|
||||
static void usage(void)
|
||||
{
|
||||
puts("stlinkv1 command line: ./flash {read|write} /dev/sgX path addr <size>");
|
||||
puts("stlinkv1 command line: ./flash [--reset] {read|write} /dev/sgX path addr <size>");
|
||||
puts("stlinkv1 command line: ./flash /dev/sgX erase");
|
||||
puts("stlinkv2 command line: ./flash {read|write} path addr <size>");
|
||||
puts("stlinkv2 command line: ./flash [--reset] {read|write} path addr <size>");
|
||||
puts("stlinkv2 command line: ./flash erase");
|
||||
puts(" use hex format for addr and <size>");
|
||||
}
|
||||
|
@ -37,6 +38,17 @@ static int get_opts(struct opts* o, int ac, char** av)
|
|||
|
||||
if (ac < 1) return -1;
|
||||
|
||||
if (strcmp(av[0], "--reset") == 0)
|
||||
{
|
||||
o->reset = 1;
|
||||
ac--;
|
||||
av++;
|
||||
}
|
||||
else
|
||||
{
|
||||
o->reset = 0;
|
||||
}
|
||||
|
||||
/* stlinkv2 */
|
||||
o->devname = NULL;
|
||||
|
||||
|
@ -123,6 +135,9 @@ int main(int ac, char** av)
|
|||
if (stlink_current_mode(sl) != STLINK_DEV_DEBUG_MODE)
|
||||
stlink_enter_swd_mode(sl);
|
||||
|
||||
if (o.reset)
|
||||
stlink_reset(sl);
|
||||
|
||||
// Disable DMA - Set All DMA CCR Registers to zero. - AKS 1/7/2013
|
||||
if (sl->chip_id == STM32_CHIPID_F4)
|
||||
{
|
||||
|
@ -179,6 +194,9 @@ int main(int ac, char** av)
|
|||
}
|
||||
}
|
||||
|
||||
if (o.reset)
|
||||
stlink_reset(sl);
|
||||
|
||||
/* success */
|
||||
err = 0;
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue