DFU: fix transitions between runtime and DFU mode

we now always go through a processor reset to avoid any state that might
be persistent/left-over during the switch.
This commit is contained in:
Harald Welte
2017-03-03 00:34:17 +01:00
parent db17e83960
commit d1e963479e
5 changed files with 27 additions and 13 deletions

View File

@@ -86,12 +86,11 @@ extern const USBDDriverDescriptors dfu_descriptors;
/* magic value we use during boot to detect if we should start in DFU
* mode or runtime mode */
#define USB_DFU_MAGIC 0xDFDFDFDF
/* RAM address for this magic value above */
#define USB_DFU_MAGIC_ADDR IRAM_ADDR
/* The API between the core DFU handler and the board/soc specific code */
struct dfudata {
uint32_t magic;
uint8_t status;
uint32_t state;
int past_manifest;