x1000: bootloader: add whole-chip flash dump option

I don't expect this will be all that useful, but why not...

Change-Id: Ieb486bb719c5cc61e0f3e95f9fb603a1c30c6528
This commit is contained in:
Aidan MacDonald 2022-03-19 19:38:29 +00:00
parent c3562b6df6
commit 9bbe08f3ec
3 changed files with 10 additions and 0 deletions

View file

@ -71,6 +71,7 @@ static const struct menuitem debug_menu_items[] = {
#ifdef OF_RECOVERY_ADDR
{MENUITEM_ACTION, "Dump OF recovery", &dump_of_recovery},
#endif
{MENUITEM_ACTION, "Dump entire flash", &dump_entire_flash},
{MENUITEM_ACTION, "Main menu", &to_main_menu},
};

View file

@ -250,3 +250,11 @@ void dump_of_recovery(void)
dump_flash_file("/of_recovery.img", OF_RECOVERY_ADDR, OF_RECOVERY_LENGTH);
#endif
}
void dump_entire_flash(void)
{
#if defined(FIIO_M3K) || defined(SHANLING_Q1) || defined(EROS_QN)
/* TODO: this should read the real chip size instead of hardcoding it */
dump_flash_file("/flash.img", 0, 2048 * 64 * 1024);
#endif
}

View file

@ -171,6 +171,7 @@ int dump_flash(int fd, uint32_t addr, uint32_t length);
int dump_flash_file(const char* file, uint32_t addr, uint32_t length);
void dump_of_player(void);
void dump_of_recovery(void);
void dump_entire_flash(void);
void recovery_menu(void) __attribute__((noreturn));