Upgrade: Download needs to set the address.
This commit is contained in:
parent
1c5ee1f11f
commit
8f6b266c54
|
@ -157,7 +157,7 @@ retry:
|
||||||
printf("Progress: %d%%\r", (offset*100)/bindatalen);
|
printf("Progress: %d%%\r", (offset*100)/bindatalen);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
assert(stm32_mem_erase(handle, iface, LOAD_ADDRESS + offset) == 0);
|
assert(stm32_mem_erase(handle, iface, LOAD_ADDRESS + offset) == 0);
|
||||||
stm32_mem_write(handle, iface, (void*)&bindata[offset], 1024);
|
stm32_mem_write(handle, iface, (void*)&bindata[offset], 1024, LOAD_ADDRESS + offset);
|
||||||
}
|
}
|
||||||
stm32_mem_manifest(handle, iface);
|
stm32_mem_manifest(handle, iface);
|
||||||
|
|
||||||
|
|
|
@ -69,8 +69,13 @@ int stm32_mem_erase(usb_dev_handle *dev, uint16_t iface, uint32_t addr)
|
||||||
return stm32_download(dev, iface, 0, request, sizeof(request));
|
return stm32_download(dev, iface, 0, request, sizeof(request));
|
||||||
}
|
}
|
||||||
|
|
||||||
int stm32_mem_write(usb_dev_handle *dev, uint16_t iface, void *data, int size)
|
int stm32_mem_write(usb_dev_handle *dev, uint16_t iface, void *data, int size, uint32_t addr)
|
||||||
{
|
{
|
||||||
|
uint8_t request[5];
|
||||||
|
|
||||||
|
request[0] = STM32_CMD_SETADDRESSPOINTER;
|
||||||
|
memcpy(request+1, &addr, sizeof(addr));
|
||||||
|
stm32_download(dev, iface, 0, request, sizeof(request));
|
||||||
return stm32_download(dev, iface, 2, data, size);
|
return stm32_download(dev, iface, 2, data, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int stm32_mem_erase(usb_dev_handle *dev, uint16_t iface, uint32_t addr);
|
int stm32_mem_erase(usb_dev_handle *dev, uint16_t iface, uint32_t addr);
|
||||||
int stm32_mem_write(usb_dev_handle *dev, uint16_t iface, void *data, int size);
|
int stm32_mem_write(usb_dev_handle *dev, uint16_t iface, void *data, int size, uint32_t addr);
|
||||||
int stm32_mem_manifest(usb_dev_handle *dev, uint16_t iface);
|
int stm32_mem_manifest(usb_dev_handle *dev, uint16_t iface);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue