29.01.2015 Views

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

RM0008<br />

Memory <strong>and</strong> bus architecture<br />

Table 5.<br />

Flash module organization (connectivity line devices)<br />

Block Name Base addresses Size (bytes)<br />

Page 0 0x0800 0000 - 0x0800 07FF 2 Kbytes<br />

Page 1 0x0800 0800 - 0x0800 0FFF 2 Kbytes<br />

Page 2 0x0800 1000 - 0x0800 17FF 2 Kbytes<br />

Main memory<br />

Page 3 0x0800 1800 - 0x0800 1FFF 2 Kbytes<br />

.<br />

.<br />

.<br />

.<br />

.<br />

.<br />

.<br />

.<br />

.<br />

Page 127 0x0803 F800 - 0x0803 FFFF 2 Kbytes<br />

Information block<br />

System memory 0x1FFF B000 - 0x1FFF F7FF 18 Kbytes<br />

Option Bytes 0x1FFF F800 - 0x1FFF F80F 16<br />

FLASH_ACR 0x4002 2000 - 0x4002 2003 4<br />

FLASH_KEYR 0x4002 2004 - 0x4002 2007 4<br />

FLASH_OPTKEYR 0x4002 2008 - 0x4002 200B 4<br />

Flash memory<br />

interface<br />

registers<br />

FLASH_SR 0x4002 200C - 0x4002 200F 4<br />

FLASH_CR 0x4002 2010 - 0x4002 2013 4<br />

FLASH_AR 0x4002 2014 - 0x4002 2017 4<br />

Reserved 0x4002 2018 - 0x4002 201B 4<br />

FLASH_OBR 0x4002 201C - 0x4002 201F 4<br />

FLASH_WRPR 0x4002 2020 - 0x4002 2023 4<br />

Note:<br />

For further information on the Flash memory interface registers, please refer to the<br />

STM32F10xxx Flash programming manual.<br />

Reading the Flash memory<br />

Flash memory instructions <strong>and</strong> data access are performed through the AHB bus. The<br />

prefetch block is used for instruction fetches through the ICode bus. Arbitration is performed<br />

in the Flash memory interface, <strong>and</strong> priority is given to data access on the DCode bus.<br />

Read accesses can be performed with the following configuration options:<br />

● Latency: number of wait states for a read operation programmed on-the-fly<br />

● Prefetch buffer (2 x 64-bit blocks): it is enabled after reset; a whole block can be<br />

replaced with a single read from the Flash memory as the size of the block matches the<br />

b<strong>and</strong>width of the Flash memory. Thanks to the prefetch buffer, faster CPU execution is<br />

possible as the CPU fetches one word at a time with the next word readily available in<br />

the prefetch buffer<br />

● Half cycle: for power optimization<br />

Doc ID 13902 Rev 9 47/995

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!