]> git.sur5r.net Git - openocd/blobdiff - src/flash/stellaris.c
More robust handling of unknown target state for step/continue packet.
[openocd] / src / flash / stellaris.c
index 727a5d30923742985694e84f4ee32fee90e9b682..309772e38c4d673ea18f3791264c41c964d089c8 100644 (file)
@@ -459,6 +459,17 @@ int stellaris_read_part_info(struct flash_bank_s *bank)
        stellaris_info->pages_in_lockregion = 2;
        target_read_u32(target, SCB_BASE|FMPPE, &stellaris_info->lockbits);
 
+       /* provide this for the benefit of the higher flash driver layers */
+       bank->num_sectors = stellaris_info->num_pages;
+       bank->sectors = malloc(sizeof(flash_sector_t) * bank->num_sectors);
+       for (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;
+               bank->sectors[i].is_protected = -1;
+       }
+
        /* Read main and master clock freqency register */
        stellaris_read_clock_info(bank);
        
@@ -757,7 +768,6 @@ int stellaris_write_block(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32
        
        armv7m_info.common_magic = ARMV7M_COMMON_MAGIC;
        armv7m_info.core_mode = ARMV7M_MODE_ANY;
-       armv7m_info.core_state = ARMV7M_STATE_THUMB;
        
        init_reg_param(&reg_params[0], "r0", 32, PARAM_OUT);
        init_reg_param(&reg_params[1], "r1", 32, PARAM_OUT);