uint16_t cidr_nvpsiz2;
uint16_t cidr_eproc;
uint16_t cidr_version;
- char *target_name;
+ const char *target_name;
/* flash auto-detection */
uint8_t flash_autodetection;
{
if (bnk > 0)
{
- /* create a new flash bank element */
- struct flash_bank *fb = malloc(sizeof(struct flash_bank));
- fb->target = target;
- fb->driver = bank->driver;
- fb->driver_priv = malloc(sizeof(struct at91sam7_flash_bank));
- fb->next = NULL;
-
- /* link created bank in 'flash_banks' list and redirect t_bank */
- t_bank->next = fb;
- t_bank = fb;
+ if (!t_bank->next) {
+ /* create a new flash bank element */
+ struct flash_bank *fb = malloc(sizeof(struct flash_bank));
+ fb->target = target;
+ fb->driver = bank->driver;
+ fb->driver_priv = malloc(sizeof(struct at91sam7_flash_bank));
+ fb->name = "sam7_probed";
+ fb->next = NULL;
+
+ /* link created bank in 'flash_banks' list */
+ t_bank->next = fb;
+ }
+ t_bank = t_bank->next;
}
t_bank->bank_number = bnk;
{
if (bnk > 0)
{
- /* create a new bank element */
- struct flash_bank *fb = malloc(sizeof(struct flash_bank));
- fb->target = target;
- fb->driver = bank->driver;
- fb->driver_priv = malloc(sizeof(struct at91sam7_flash_bank));
- fb->next = NULL;
-
- /* link created bank in 'flash_banks' list and redirect t_bank */
- t_bank->next = fb;
- t_bank = fb;
+ if (!t_bank->next) {
+ /* create a new bank element */
+ struct flash_bank *fb = malloc(sizeof(struct flash_bank));
+ fb->target = target;
+ fb->driver = bank->driver;
+ fb->driver_priv = malloc(sizeof(struct at91sam7_flash_bank));
+ fb->name = "sam7_probed";
+ fb->next = NULL;
+
+ /* link created bank in 'flash_banks' list */
+ t_bank->next = fb;
+ }
+ t_bank = t_bank->next;
}
t_bank->bank_number = bnk;
buf += printed;
buf_size -= printed;
- printed = snprintf(buf, buf_size,
+ snprintf(buf, buf_size,
" Securitybit: %i | Nvmbits(%i): %i 0x%1.1x\n",
at91sam7_info->securitybit, at91sam7_info->num_nvmbits,
at91sam7_info->num_nvmbits_on, at91sam7_info->nvmbits);
- buf += printed;
- buf_size -= printed;
-
return ERROR_OK;
}
/* GPNVM and SECURITY bits apply only for MC_FSR of EFC0 */
status = at91sam7_get_flash_status(bank->target, 0);
- LOG_DEBUG("at91sam7_handle_gpnvm_command: cmd 0x%x, value %d, status 0x%" PRIx32 " \n", flashcmd, bit, status);
+ LOG_DEBUG("at91sam7_handle_gpnvm_command: cmd 0x%x, value %d, status 0x%" PRIx32, flashcmd, bit, status);
/* check protect state */
at91sam7_protect_check(bank);