#include "image.h"
-typedef struct faux_flash_bank_s
+struct faux_flash_bank
{
- struct target_s *target;
+ struct target *target;
uint8_t *memory;
uint32_t start_address;
-} faux_flash_bank_t;
+};
static const int sectorSize = 0x10000;
/* flash bank faux <base> <size> <chip_width> <bus_width> <target#> <driverPath>
*/
-static int faux_flash_bank_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct flash_bank_s *bank)
+FLASH_BANK_COMMAND_HANDLER(faux_flash_bank_command)
{
- faux_flash_bank_t *info;
+ struct faux_flash_bank *info;
if (argc < 6)
{
return ERROR_FLASH_BANK_INVALID;
}
- info = malloc(sizeof(faux_flash_bank_t));
+ info = malloc(sizeof(struct faux_flash_bank));
if (info == NULL)
{
LOG_ERROR("no memory for flash bank info");
int i = 0;
uint32_t offset = 0;
bank->num_sectors = bank->size/sectorSize;
- bank->sectors = malloc(sizeof(flash_sector_t) * bank->num_sectors);
+ bank->sectors = malloc(sizeof(struct flash_sector) * bank->num_sectors);
for (i = 0; i < bank->num_sectors; i++)
{
bank->sectors[i].offset = offset;
static int faux_erase(struct flash_bank_s *bank, int first, int last)
{
- faux_flash_bank_t *info = bank->driver_priv;
+ struct faux_flash_bank *info = bank->driver_priv;
memset(info->memory + first*sectorSize, 0xff, sectorSize*(last-first + 1));
return ERROR_OK;
}
static int faux_write(struct flash_bank_s *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
{
- faux_flash_bank_t *info = bank->driver_priv;
+ struct faux_flash_bank *info = bank->driver_priv;
memcpy(info->memory + offset, buffer, count);
return ERROR_OK;
}
return ERROR_OK;
}
-flash_driver_t faux_flash = {
+struct flash_driver faux_flash = {
.name = "faux",
.register_commands = &faux_register_commands,
.flash_bank_command = &faux_flash_bank_command,