X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fflash%2Fnor%2Fstellaris.c;h=55b99de3fc719dee3c9097fc3752211386dbb7b6;hb=c1f4d9e6e8f9cdab122db36299e039a73151ffe4;hp=6b6f6e802b600ed8fec220b1e8ba7c680aa9d33b;hpb=a7479fa89def9d8b1854d629dfdaa0ba17132617;p=openocd.git diff --git a/src/flash/nor/stellaris.c b/src/flash/nor/stellaris.c index 6b6f6e802b..55b99de3fc 100644 --- a/src/flash/nor/stellaris.c +++ b/src/flash/nor/stellaris.c @@ -487,7 +487,7 @@ static int get_stellaris_info(struct flash_bank *bank, char *buf, int buf_size) if (stellaris_info->did1 == 0) return ERROR_FLASH_BANK_NOT_PROBED; - /* Read main and master clock freqency register */ + /* Read main and master clock frequency register */ stellaris_read_clock_info(bank); printed = snprintf(buf, @@ -533,7 +533,7 @@ static int get_stellaris_info(struct flash_bank *bank, char *buf, int buf_size) * chip identification and status * ***************************************************************************/ -/* Set the flash timimg register to match current clocking */ +/* Set the flash timing register to match current clocking */ static void stellaris_set_flash_timing(struct flash_bank *bank) { struct stellaris_flash_bank *stellaris_info = bank->driver_priv; @@ -803,12 +803,11 @@ static int stellaris_protect_check(struct flash_bank *bank) stellaris->num_pages; uint32_t fmppe_addr; int status = ERROR_OK; - unsigned i; if (stellaris->did1 == 0) return ERROR_FLASH_BANK_NOT_PROBED; - for (i = 0; i < (unsigned) bank->num_sectors; i++) + for (unsigned int i = 0; i < bank->num_sectors; i++) bank->sectors[i].is_protected = -1; /* Read each Flash Memory Protection Program Enable (FMPPE) register @@ -828,7 +827,7 @@ static int stellaris_protect_check(struct flash_bank *bank) uint32_t fmppe; target_read_u32(target, fmppe_addr, &fmppe); - for (i = 0; i < 32 && lockbitnum + i < lockbitcnt; i++) { + for (unsigned int i = 0; i < 32 && lockbitnum + i < lockbitcnt; i++) { bool protect = !(fmppe & (1 << i)); if (bits_per_page) { bank->sectors[page++].is_protected = protect; @@ -844,9 +843,9 @@ static int stellaris_protect_check(struct flash_bank *bank) return status; } -static int stellaris_erase(struct flash_bank *bank, int first, int last) +static int stellaris_erase(struct flash_bank *bank, unsigned int first, + unsigned int last) { - int banknr; uint32_t flash_fmc, flash_cris; struct stellaris_flash_bank *stellaris_info = bank->driver_priv; struct target *target = bank->target; @@ -859,10 +858,10 @@ static int stellaris_erase(struct flash_bank *bank, int first, int last) if (stellaris_info->did1 == 0) return ERROR_FLASH_BANK_NOT_PROBED; - if ((first < 0) || (last < first) || (last >= (int)stellaris_info->num_pages)) + if ((last < first) || (last >= stellaris_info->num_pages)) return ERROR_FLASH_SECTOR_INVALID; - if ((first == 0) && (last == ((int)stellaris_info->num_pages-1))) + if ((first == 0) && (last == (stellaris_info->num_pages - 1))) return stellaris_mass_erase(bank); /* Refresh flash controller timing */ @@ -877,7 +876,7 @@ static int stellaris_erase(struct flash_bank *bank, int first, int last) * it might want to process those IRQs. */ - for (banknr = first; banknr <= last; banknr++) { + for (unsigned int banknr = first; banknr <= last; banknr++) { /* Address is first word in page */ target_write_u32(target, FLASH_FMA, banknr * stellaris_info->pagesize); /* Write erase command */ @@ -887,7 +886,7 @@ static int stellaris_erase(struct flash_bank *bank, int first, int last) target_read_u32(target, FLASH_FMC, &flash_fmc); } while (flash_fmc & FMC_ERASE); - /* Check acess violations */ + /* Check access violations */ target_read_u32(target, FLASH_CRIS, &flash_cris); if (flash_cris & (AMASK)) { LOG_WARNING("Error erasing flash page %i, flash_cris 0x%" PRIx32 "", @@ -902,7 +901,8 @@ static int stellaris_erase(struct flash_bank *bank, int first, int last) return ERROR_OK; } -static int stellaris_protect(struct flash_bank *bank, int set, int first, int last) +static int stellaris_protect(struct flash_bank *bank, int set, + unsigned int first, unsigned int last) { struct stellaris_flash_bank *stellaris = bank->driver_priv; struct target *target = bank->target; @@ -952,7 +952,7 @@ static int stellaris_protect(struct flash_bank *bank, int set, int first, int la else fmppe_addr = SCB_BASE | FMPPE; - int page = 0; + unsigned int page = 0; unsigned int lockbitnum, lockbitcnt = flash_sizek / 2; /* Every lock bit always corresponds to a 2k region */ for (lockbitnum = 0; lockbitnum < lockbitcnt; lockbitnum += 32) { @@ -998,7 +998,7 @@ static int stellaris_protect(struct flash_bank *bank, int set, int first, int la return ERROR_OK; } -/* see contib/loaders/flash/stellaris.s for src */ +/* see contrib/loaders/flash/stellaris.s for src */ static const uint8_t stellaris_write_code[] = { /* write: */ @@ -1170,7 +1170,7 @@ static int stellaris_write(struct flash_bank *bank, const uint8_t *buffer, if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE) { LOG_DEBUG("writing flash word-at-a-time"); } else if (retval == ERROR_FLASH_OPERATION_FAILED) { - /* if an error occured, we examine the reason, and quit */ + /* if an error occurred, we examine the reason, and quit */ target_read_u32(target, FLASH_CRIS, &flash_cris); LOG_ERROR("flash writing failed with CRIS: 0x%" PRIx32 "", flash_cris); @@ -1250,16 +1250,13 @@ static int stellaris_probe(struct flash_bank *bank) if (retval != ERROR_OK) return retval; - if (bank->sectors) { - free(bank->sectors); - bank->sectors = NULL; - } + free(bank->sectors); /* provide this for the benefit of the NOR flash framework */ bank->size = stellaris_info->num_pages * stellaris_info->pagesize; bank->num_sectors = stellaris_info->num_pages; bank->sectors = calloc(bank->num_sectors, sizeof(struct flash_sector)); - for (int i = 0; i < bank->num_sectors; i++) { + for (unsigned int i = 0; i < bank->num_sectors; i++) { bank->sectors[i].offset = i * stellaris_info->pagesize; bank->sectors[i].size = stellaris_info->pagesize; bank->sectors[i].is_erased = -1; @@ -1321,8 +1318,6 @@ static int stellaris_mass_erase(struct flash_bank *bank) COMMAND_HANDLER(stellaris_handle_mass_erase_command) { - int i; - if (CMD_ARGC < 1) return ERROR_COMMAND_SYNTAX_ERROR; @@ -1333,12 +1328,12 @@ COMMAND_HANDLER(stellaris_handle_mass_erase_command) if (stellaris_mass_erase(bank) == ERROR_OK) { /* set all sectors as erased */ - for (i = 0; i < bank->num_sectors; i++) + for (unsigned int i = 0; i < bank->num_sectors; i++) bank->sectors[i].is_erased = 1; - command_print(CMD_CTX, "stellaris mass erase complete"); + command_print(CMD, "stellaris mass erase complete"); } else - command_print(CMD_CTX, "stellaris mass erase failed"); + command_print(CMD, "stellaris mass erase failed"); return ERROR_OK; }