From 4c206c3b7cb14bf29eb8ff23aa3c64e1cdab69db Mon Sep 17 00:00:00 2001 From: Uwe Bonnes Date: Thu, 19 Jan 2012 14:07:14 +0100 Subject: [PATCH] Allow to write to sram from the command line --- flash/main.c | 7 ++++++- src/stlink-common.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/flash/main.c b/flash/main.c index d61b22b..0f3040d 100644 --- a/flash/main.c +++ b/flash/main.c @@ -109,7 +109,12 @@ int main(int ac, char** av) if (o.do_read == 0) /* write */ { - err = stlink_fwrite_flash(sl, o.filename, o.addr); + if ((o.addr >= sl->flash_base) && + (o.addr < sl->flash_base + sl->flash_size)) + err = stlink_fwrite_flash(sl, o.filename, o.addr); + else if ((o.addr >= sl->sram_base) && + (o.addr < sl->sram_base + sl->sram_size)) + err = stlink_fwrite_sram(sl, o.filename, o.addr); if (err == -1) { printf("stlink_fwrite_flash() == -1\n"); diff --git a/src/stlink-common.h b/src/stlink-common.h index a1442f3..155c6c0 100644 --- a/src/stlink-common.h +++ b/src/stlink-common.h @@ -363,6 +363,7 @@ extern "C" { int stlink_erase_flash_mass(stlink_t* sl); int stlink_write_flash(stlink_t* sl, stm32_addr_t address, uint8_t* data, unsigned length); int stlink_fwrite_flash(stlink_t *sl, const char* path, stm32_addr_t addr); + int stlink_fwrite_sram(stlink_t *sl, const char* path, stm32_addr_t addr); int stlink_verify_write_flash(stlink_t *sl, stm32_addr_t address, uint8_t *data, unsigned length); // PUBLIC -- 2.30.2