#endif
#include "imp.h"
-#include "avrf.h"
#include <target/avrt.h>
#define AVR_JTAG_REG_ProgrammingCommand_Len 15
#define AVR_JTAG_REG_FlashDataByte_Len 16
+struct avrf_type
+{
+ char name[15];
+ uint16_t chip_id;
+ int flash_page_size;
+ int flash_page_num;
+ int eeprom_page_size;
+ int eeprom_page_num;
+};
+
+struct avrf_flash_bank
+{
+ int ppage_size;
+ int probed;
+};
+
static struct avrf_type avft_chips_info[] =
{
/* name, chip_id, flash_page_size, flash_page_num,
if (CMD_ARGC < 6)
{
- LOG_WARNING("incomplete flash_bank avr configuration");
- return ERROR_FLASH_BANK_INVALID;
+ return ERROR_COMMAND_SYNTAX_ERROR;
}
avrf_info = malloc(sizeof(struct avrf_flash_bank));
if (CMD_ARGC < 1)
{
- command_print(CMD_CTX, "avr mass_erase <bank>");
- return ERROR_OK;
+ return ERROR_COMMAND_SYNTAX_ERROR;
}
struct flash_bank *bank;
static const struct command_registration avrf_exec_command_handlers[] = {
{
.name = "mass_erase",
+ .usage = "<bank>",
.handler = avrf_handle_mass_erase_command,
.mode = COMMAND_EXEC,
.help = "erase entire device",
.name = "avrf",
.mode = COMMAND_ANY,
.help = "AVR flash command group",
+ .usage = "",
.chain = avrf_exec_command_handlers,
},
COMMAND_REGISTRATION_DONE