OpenOCD
|
Provides details of a flash bank, available either on-chip or through a major interface. More...
Data Fields | |
unsigned int | bank_number |
The 'bank' (or chip number) of this instance. More... | |
target_addr_t | base |
The base address of this bank. More... | |
unsigned int | bus_width |
Maximum bus width, in bytes (1,2,4 bytes) More... | |
unsigned int | chip_width |
Width of the chip in bytes (1,2,4 bytes) More... | |
uint8_t | default_padded_value |
Default padded value used, normally this matches the flash erased value. More... | |
const struct flash_driver * | driver |
Driver for this bank. More... | |
void * | driver_priv |
Private driver storage pointer. More... | |
uint8_t | erased_value |
Erased value. More... | |
uint32_t | minimal_write_gap |
Minimal gap between sections to discontinue flash write Default FLASH_WRITE_GAP_SECTOR splits the write if one or more untouched sectors in between. More... | |
char * | name |
struct flash_bank * | next |
The next flash bank on this chip. More... | |
unsigned int | num_prot_blocks |
The number of protection blocks in this bank. More... | |
unsigned int | num_sectors |
The number of sectors on this chip. More... | |
struct flash_sector * | prot_blocks |
Array of protection blocks, allocated and initialized by the flash driver. More... | |
struct flash_sector * | sectors |
Array of sectors, allocated and initialized by the flash driver. More... | |
uint32_t | size |
The size of this chip bank, in bytes. More... | |
struct target * | target |
Target to which this bank belongs. More... | |
uint32_t | write_end_alignment |
Required alignment of flash write end address. More... | |
uint32_t | write_start_alignment |
Required alignment of flash write start address. More... | |
Provides details of a flash bank, available either on-chip or through a major interface.
This structure will be passed as a parameter to the callbacks in the flash_driver_s structure, some of which may modify the contents of this structure of the area of flash that it defines. Driver writers may use the driver_priv
member to store additional data on a per-bank basis, if required.
Definition at line 75 of file nor/core.h.
unsigned int flash_bank::bank_number |
The 'bank' (or chip number) of this instance.
Definition at line 83 of file nor/core.h.
Referenced by at91sam7_read_part_info(), COMMAND_HANDLER(), and FLASH_BANK_COMMAND_HANDLER().
target_addr_t flash_bank::base |
The base address of this bank.
Definition at line 84 of file nor/core.h.
Referenced by at91sam7_read_part_info(), COMMAND_HANDLER(), compare_bank(), FLASH_BANK_COMMAND_HANDLER(), flash_iterate_address_range(), flash_iterate_address_range_inner(), flash_write_unlock_verify(), gdb_memory_map(), get_flash_bank_by_addr(), and virtual_info().
unsigned int flash_bank::bus_width |
Maximum bus width, in bytes (1,2,4 bytes)
Definition at line 88 of file nor/core.h.
Referenced by COMMAND_HANDLER(), and virtual_update_bank_info().
unsigned int flash_bank::chip_width |
Width of the chip in bytes (1,2,4 bytes)
Definition at line 87 of file nor/core.h.
Referenced by COMMAND_HANDLER(), and virtual_update_bank_info().
uint8_t flash_bank::default_padded_value |
Default padded value used, normally this matches the flash erased value.
Defaults to 0xFF.
Definition at line 95 of file nor/core.h.
Referenced by COMMAND_HANDLER(), flash_write_unlock_verify(), and virtual_update_bank_info().
const struct flash_driver* flash_bank::driver |
Driver for this bank.
Definition at line 80 of file nor/core.h.
Referenced by at91sam7_read_part_info(), COMMAND_HANDLER(), FLASH_BANK_COMMAND_HANDLER(), get_flash_bank_by_addr(), get_flash_bank_by_num(), kinetis_get_chip(), nrf5_get_chip(), rsl10_get_chip(), virtual_auto_probe(), virtual_blank_check(), virtual_erase(), virtual_probe(), virtual_protect_check(), and virtual_write().
void* flash_bank::driver_priv |
Private driver storage pointer.
Definition at line 81 of file nor/core.h.
Referenced by at91sam7_read_part_info(), FLASH_BANK_COMMAND_HANDLER(), kinetis_get_chip(), nrf5_get_chip(), and rsl10_get_chip().
uint8_t flash_bank::erased_value |
Erased value.
Defaults to 0xFF.
Definition at line 91 of file nor/core.h.
Referenced by COMMAND_HANDLER(), and virtual_update_bank_info().
uint32_t flash_bank::minimal_write_gap |
Minimal gap between sections to discontinue flash write Default FLASH_WRITE_GAP_SECTOR splits the write if one or more untouched sectors in between.
Can be size in bytes or FLASH_WRITE_CONTINUOUS
Definition at line 107 of file nor/core.h.
Referenced by COMMAND_HANDLER(), and virtual_update_bank_info().
char* flash_bank::name |
Definition at line 76 of file nor/core.h.
Referenced by at91sam7_read_part_info(), COMMAND_HANDLER(), FLASH_BANK_COMMAND_HANDLER(), flash_write_unlock_verify(), gdb_memory_map(), and virtual_info().
struct flash_bank* flash_bank::next |
The next flash bank on this chip.
Definition at line 128 of file nor/core.h.
Referenced by at91sam7_read_part_info(), COMMAND_HANDLER(), flash_bank_add(), FLASH_BANK_COMMAND_HANDLER(), flash_free_all_banks(), flash_get_bank_count(), flash_set_dirty(), get_flash_bank_by_addr(), get_flash_bank_by_num_noprobe(), jim_flash_list(), kinetis_get_chip(), nrf5_get_chip(), and rsl10_get_chip().
unsigned int flash_bank::num_prot_blocks |
The number of protection blocks in this bank.
This value is set initially to 0 and sectors are used as protection blocks. Driver probe can set protection blocks array to work with protection granularity different than sector size.
Definition at line 124 of file nor/core.h.
Referenced by COMMAND_HANDLER(), flash_iterate_address_range_inner(), kinetis_fill_fcf(), and virtual_update_bank_info().
unsigned int flash_bank::num_sectors |
The number of sectors on this chip.
This value will be set initially to 0, and the flash driver must set this to some non-zero value during "probe()" or "auto_probe()".
Definition at line 114 of file nor/core.h.
Referenced by at91sam7_read_part_info(), COMMAND_HANDLER(), FLASH_BANK_COMMAND_HANDLER(), flash_iterate_address_range_inner(), flash_set_dirty(), flash_write_unlock_verify(), gdb_memory_map(), and virtual_update_bank_info().
struct flash_sector* flash_bank::prot_blocks |
Array of protection blocks, allocated and initialized by the flash driver.
Definition at line 126 of file nor/core.h.
Referenced by COMMAND_HANDLER(), flash_iterate_address_range_inner(), kinetis_fill_fcf(), and virtual_update_bank_info().
struct flash_sector* flash_bank::sectors |
Array of sectors, allocated and initialized by the flash driver.
Definition at line 116 of file nor/core.h.
Referenced by at91sam7_read_part_info(), COMMAND_HANDLER(), FLASH_BANK_COMMAND_HANDLER(), flash_iterate_address_range_inner(), flash_set_dirty(), flash_write_unlock_verify(), gdb_memory_map(), and virtual_update_bank_info().
uint32_t flash_bank::size |
The size of this chip bank, in bytes.
Definition at line 85 of file nor/core.h.
Referenced by at91sam7_read_part_info(), COMMAND_HANDLER(), FLASH_BANK_COMMAND_HANDLER(), flash_iterate_address_range(), flash_iterate_address_range_inner(), flash_write_unlock_verify(), gdb_memory_map(), get_flash_bank_by_addr(), and virtual_update_bank_info().
struct target* flash_bank::target |
Target to which this bank belongs.
Definition at line 78 of file nor/core.h.
Referenced by at91sam7_read_part_info(), COMMAND_HANDLER(), FLASH_BANK_COMMAND_HANDLER(), gdb_memory_map(), gdb_new_connection(), get_flash_bank_by_addr(), kinetis_get_chip(), nrf5_get_chip(), and rsl10_get_chip().
uint32_t flash_bank::write_end_alignment |
Required alignment of flash write end address.
Default 0, no alignment. Can be any power of two or FLASH_WRITE_ALIGN_SECTOR
Definition at line 102 of file nor/core.h.
Referenced by flash_write_unlock_verify(), and virtual_update_bank_info().
uint32_t flash_bank::write_start_alignment |
Required alignment of flash write start address.
Default 0, no alignment. Can be any power of two or FLASH_WRITE_ALIGN_SECTOR
Definition at line 99 of file nor/core.h.
Referenced by flash_write_unlock_verify(), and virtual_update_bank_info().