projects
/
fw
/
stlink
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Align loader to 32-bit boundary
[fw/stlink]
/
src
/
stlink-common.c
diff --git
a/src/stlink-common.c
b/src/stlink-common.c
index 18c76fb86c109b242d32c7f8080a88d67941ca60..533e670c6969dfa130039ab9117eab2a6dfe4999 100644
(file)
--- a/
src/stlink-common.c
+++ b/
src/stlink-common.c
@@
-1525,7
+1525,7
@@
int write_loader_to_sram(stlink_t *sl, stm32_addr_t* addr, size_t* size) {
0x00, 0x2a,
0xf8, 0xd3,
0x00, 0x2a,
0xf8, 0xd3,
- 0x00, 0xbe
+ 0x00, 0xbe
,
};
static const uint8_t loader_code_stm32l0[] = {
};
static const uint8_t loader_code_stm32l0[] = {
@@
-1547,7
+1547,7
@@
int write_loader_to_sram(stlink_t *sl, stm32_addr_t* addr, size_t* size) {
0x00, 0x2a,
0xf8, 0xd3,
0x00, 0x2a,
0xf8, 0xd3,
- 0x00, 0xbe
+ 0x00, 0xbe
,
};
static const uint8_t loader_code_stm32f4[] = {
};
static const uint8_t loader_code_stm32f4[] = {
@@
-1679,6
+1679,10
@@
int write_loader_to_sram(stlink_t *sl, stm32_addr_t* addr, size_t* size) {
}
memcpy(sl->q_buf, loader_code, loader_size);
}
memcpy(sl->q_buf, loader_code, loader_size);
+
+ /* pad to 32-bits */
+ loader_size = (loader_size + 3) & ~3;
+
stlink_write_mem32(sl, sl->sram_base, loader_size);
*addr = sl->sram_base;
stlink_write_mem32(sl, sl->sram_base, loader_size);
*addr = sl->sram_base;