16-bit MCU with 512 Kbyte Flash memory and 36 Kbyte RAM
Features
■ High performance 16-bit CPU with DSP
functions
– 50ns instruction cycle time at 40 MHz max
CPU clock
– Multiply/accumulate unit (MAC) 16 x 16-bit
multiplication, 40-bit accumulator
– Enhanced boolean bit manipulations
– Single-cycle context switching support
■ Memory organization
– 512 Kbyte on-chip Flash memory single
voltage with erase/program controller (full
performance, 32-bit fetch)
– 100K erasing/programming cycles.
– Up to 16 Mbyte linear address space for
code and data (5 Mbytes with CAN or I
– 2 Kbyte on-chip internal RAM (IRAM)
– 34 Kbyte on-chip extension RAM (XRAM)
– Programmable external bus configuration
and characteristics for different address
ranges
– 5 programmable chip-select signals
– Hold-acknowledge bus arbitration support
■ Interrupt
– 8-channel peripheral event controller for
single cycle interrupt driven data transfer
– 16-priority-level interrupt system with 56
The ST10F273M device is a new derivative of the STMicroelectronics ST10 family of 16-bit
single-chip CMOS microcontrollers.
The ST10F273M combines high CPU performance (up to 20 million instructions per second)
with high peripheral functionality and enhanced I/O capabilities. It also provides on-chip
high-speed single voltage Flash memory, on-chip high-speed RAM, and clock generation
via PLL.
The ST10F273M is processed in 0.18mm CMOS technology. The MCU core and the logic is
supplied with a 5V to 1.8V on-chip voltage regulator. The part is supplied with a single 5V
supply and I/Os work at 5V.
The ST10F273M is an optimized version of the ST10F273E, upward compatible with the
following set of differences:
●Maximum CPU frequency is 40 MHz
●A single bank of IFlash has been implemented but the programming interface has been
kept compatible with the ST10F273E
●Identification registers: the IDMEM register reflects the Flash type difference and allows
to differentiate the two devices by software
●Improved EMC behavior thanks to the introduction of an internal RC filter on the 5V for
the ballast transistors
●The clock to the X-Peripherals is gated: X-Peripheral not used will not get the clock in
order to reduce the power consumption.
1.2 Special characteristics
1.2.1 X-Peripheral clock gating
This new feature have been implemented on the ST10F273M: Once the EINIT instruction
has been executed, only the X-Peripherals enabled in the XPERCON register will be
clocked.
The new feature allows to reduce the power consumption and also should improve the
emissions as it avoids to propagate useless clock signals across the device.
1.2.2 Improved supply ring
An RC filter has been introduced in the 5V power supply ring of the ballast transistor. In
addition, the supply rings for the internal voltage regulators and the IOs have been split.
These two modifications should improve the behavior of the device regarding conducted
emissions.
8-bit bidirectional I/O port, bit-wise programmable for input or output via direction
bit. Programming an I/O pin as input forces the corresponding output driver to
1 - 8I/O
high impedance state. Port 6 outputs can be configured as push-pull or open
drain drivers. The input threshold of Port 6 is selectable (TTL or CMOS). The
following Port 6 pins have alternate functions:
8-bit bidirectional I/O port, bit-wise programmable for input or output via direction
bit. Programming an I/O pin as input forces the corresponding output driver to
9-16I/O
high impedance state. Port 8 outputs can be configured as push-pull or open
drain drivers. The input threshold of Port 8 is selectable (TTL or CMOS).
The following Port 8 pins have alternate functions:
OTxD1ASC1: Clock / Data output (Asynchronous/Synchronous)
14/182
ST10F273MPin data
Table 1.Pin description (continued)
SymbolPinTypeFunction
8-bit bidirectional I/O port, bit-wise programmable for input or output via direction
bit. Programming an I/O pin as input forces the corresponding output driver to
39IP5.10T6EUDGPT2: timer T6 external up/down control input
40IP5.11T5EUDGPT2: timer T5 external up/down control input
41IP5.12T6INGPT2: timer T6 count input
42IP5.13T5INGPT2: timer T5 count input
43IP5.14T4EUDGPT1: timer T4 external up/down control input
high impedance state. Port 7 outputs can be configured as push-pull or open
drain drivers. The input threshold of Port 7 is selectable (TTL or CMOS).
The following Port 7 pins have alternate functions:
16-bit input-only port with Schmitt-Trigger characteristics. The pins of Port 5 can
be the analog input channels (up to 16) for the A/D converter, where P5.x equals
I
ANx (Analog input channel x), or they are timer inputs. The input threshold of
I
Port 5 is selectable (TTL or CMOS). The following Port 5 pins have alternate
functions:
P2.0 - P2.7
P2.8 - P2.15
44IP5.15T2EUDGPT1: timer T2 external up/down control input
16-bit bidirectional I/O port, bit-wise programmable for input or output via
direction bit. Programming an I/O pin as input forces the corresponding output
I/O
driver to high impedance state. Port 2 outputs can be configured as push-pull or
open drain drivers. The input threshold of Port 2 is selectable (TTL or CMOS).
The following Port 2 pins have alternate functions:
I/O
P2.8
IEX0INFast external interrupt 0 input
I/O
P2.15
IEX7INFast external interrupt 7 input
IT7INCAPCOM2: timer T7 count input
CC8IOCAPCOM: CC8 capture input/compare output
CC15IOCAPCOM: CC15 capture input/compare output
15/182
Pin dataST10F273M
Table 1.Pin description (continued)
SymbolPinTypeFunction
15-bit (P3.14 is missing) bidirectional I/O port, bit-wise programmable for input or
65-70,
73-80,
81
65IP3.0T0INCAPCOM1: timer T0 count input
66OP3.1T6OUTGPT2: timer T6 toggle latch output
67IP3.2CAPINGPT2: register CAPREL capture input
68OP3.3T3OUTGPT1: timer T3 toggle latch output
69IP3.4T3EUDGPT1: timer T3 external up/down control input
I/O
output via direction bit. Programming an I/O pin as input forces the
I/O
corresponding output driver to high impedance state. Port 3 outputs can be
I/O
configured as push-pull or open drain drivers. The input threshold of Port 3 is
selectable (TTL or CMOS). The following Port 3 pins have alternate functions:
P3.0 - P3.5
P3.6 - P3.13,
P3.15
70IP3.5T4INGPT1; timer T4 input for count/gate/reload/capture
73IP3.6T3INGPT1: timer T3 count/gate input
74IP3.7T2INGPT1: timer T2 input for count/gate/reload / capture
System clock output (programmable divider on CPU
clock)
16/182
ST10F273MPin data
Table 1.Pin description (continued)
SymbolPinTypeFunction
Port 4 is an 8-bit bidirectional I/O port. It is bit-wise programmable for input or
output via direction bit. Programming an I/O pin as input forces the
corresponding output driver to high impedance state. The input threshold is
P4.0 –P4.7
85-92I/O
85OP4.0A16Segment address line
86OP4.1A17Segment address line
87OP4.2A18Segment address line
88OP4.3A19Segment address line
89
selectable (TTL or CMOS). Port 4.4, 4.5, 4.6 and 4.7 outputs can be configured
as push-pull or open drain drivers.
In case of an external bus configuration, Port 4 can be used to output the
segment address lines:
O
P4.4
ICAN2_RxD CAN2: receive data input
I/OSCL
O
A20Segment address line
I2C Interface: serial clock
A21Segment address line
90
91
92
RD95O
/WRL96O
WR
READY/
READY
97I
ALE98O
P4.5
ICAN1_RxD CAN1: receive data input
ICAN2_RxD CAN2: receive data input
O
P4.6
OCAN1_TxDCAN1: transmit data output
A22Segment address line
OCAN2_TxDCAN2: transmit data output
O
P4.7
OCAN2_TxDCAN2: transmit data output
I/OSDA
External memory read strobe. RD
A23Most significant segment address line
I2C Interface: serial data
is activated for every external instruction or
data read access.
External memory write strobe. In WR
external data write access. In WRL
-mode this pin is activated for every
mode this pin is activated for low byte data
write accesses on a 16-bit bus, and for every data write access on an 8-bit bus.
See WRCFG in the SYSCON register for mode selection.
Ready input. The active level is programmable. When the ready function is
enabled, the selected inactive level at this pin, during an external memory
access, will force the insertion of waitstate cycles until the pin returns to the
selected active level.
Address latch enable output. In case of use of external addressing or of
multiplexed mode, this signal is the latch command of the address lines.
17/182
Pin dataST10F273M
Table 1.Pin description (continued)
SymbolPinTypeFunction
External access enable pin.
A low level applied to this pin during and after Reset forces the ST10F273M to
start the program from the external memory space. A high level forces
ST10F273M to start in the internal memory space. This pin is also used (when
DD
DD
turned
EA / V
STBY
P0L.0 -P0L.7,
P0H.0
P0H.1 - P0H.7
99I
100-107,
108,
111-117
Standby mode is entered, that is ST10F273M under reset and main V
off) to bias the 32 kHz oscillator amplifier circuit and to provide a reference
voltage for the low-power embedded voltage regulator which generates the
internal 1.8V supply for the RTC module (when not disabled) and to retain data
inside the Standby portion of the XRAM (16 Kbyte).
It can range from 4.5 to 5.5V (6V for a reduced amount of time during the device
life, 4.0V when RTC and 32 kHz on-chip oscillator amplifier are turned off). In
running mode, this pin can be tied low during reset without affecting 32 kHz
oscillator, RTC and XRAM activities, since the presence of a stable V
guarantees the proper biasing of all those modules.
Two 8-bit bidirectional I/O ports P0L and P0H, bit-wise programmable for input or
output via direction bit. Programming an I/O pin as input forces the
corresponding output driver to high impedance state. The input threshold of
Port 0 is selectable (TTL or CMOS).
In case of an external bus configuration, PORT0 serves as the address (A) and
as the address / data (AD) bus in multiplexed bus modes and as the data (D) bus
in demultiplexed bus modes.
Demultiplexed bus modes
Data path width8-bit16-bit
I/O
P0L.0 – P0L.7:D0 – D7D0 - D7
P0H.0 – P0H.7:I/OD8 - D15
P1L.0 - P1L.7
P1H.0 - P1H.7
Multiplexed bus modes
Data path width8-bit16-bit
P0L.0 – P0L.7:AD0 – AD7AD0 - AD7
P0H.0 – P0H.7:A8 – A15AD8 - AD15
Two 8-bit bidirectional I/O ports P1L and P1H, bit-wise programmable for input or
output via direction bit. Programming an I/O pin as input forces the
corresponding output driver to high impedance state. PORT1 is used as the 16bit address bus (A) in demultiplexed bus modes: if at least BUSCONx is
118-125
128-135
configured such the demultiplexed mode is selected, the pis of PORT1 are not
available for general purpose I/O function. The input threshold of Port 1 is
I/O
selectable (TTL or CMOS).
The pins of P1L also serve as the additional (up to 8) analog input channels for
the A/D converter, where P1L.x equals ANy (Analog input channel y, where y = x
+ 16). This additional function have higher priority on demultiplexed bus function.
The following PORT1 pins have alternate functions:
132IP1H.4 CC24IOCAPCOM2: CC24 capture input
133IP1H.5 CC25IOCAPCOM2: CC25 capture input
134IP1H.6 CC26IOCAPCOM2: CC26 capture input
135IP1H.7 CC27IOCAPCOM2: CC27 capture input
18/182
ST10F273MPin data
Table 1.Pin description (continued)
SymbolPinTypeFunction
XTAL1138IXTAL1 Main oscillator amplifier circuit and/or external clock input.
XTAL2137OXTAL2 Main oscillator amplifier circuit output.
To clock the device from an external source, drive XTAL1 while leaving XTAL2
unconnected. Minimum and maximum high / low and rise / fall times specified in
the AC Characteristics must be observed.
When 32 kHz oscillator amplifier is not used, to avoid spurious consumption,
XTAL3 shall be tied to ground while XTAL4 shall be left open. Besides, bit OFF32
in RTCCON register shall be set. 32 kHz oscillator can only be driven by an
external crystal, and not by a different clock source.
Reset Input with CMOS Schmitt-Trigger characteristics. A low level at this pin for
a specified duration while the oscillator is running resets the ST10F273M. An
RSTIN
RSTOUT
NMI
140I
141O
142I
internal pull-up resistor permits power-on reset using only a capacitor connected
. In bidirectional reset mode (enabled by setting bit BDRSTEN in
to V
SS
SYSCON register), the RSTIN
line is pulled low for the duration of the internal
reset sequence.
Internal Reset Indication Output. This pin is driven to a low level during
hardware, software or watchdog timer reset.
RSTOUT
remains low until the EINIT
(end of initialization) instruction is executed.
Non-Maskable Interrupt Input. A high to low transition at this pin causes the CPU
to vector to the NMI trap routine. If bit PWDCFG = ‘0’ in SYSCON register, when
the PWRDN (power down) instruction is executed, the NMI pin must be low in
order to force the ST10F273M to go into power down mode. If NMI is high and
PWDCFG = ‘0’, when PWRDN is executed, the part will continue to run in
normal mode.
If not used, pin NMI
should be pulled high externally.
V
AREF
V
AGND
37-A/D converter reference voltage and analog supply
38-A/D converter reference and analog ground
RPD84-
17, 46,
V
DD
72,82,93,
109, 126,
136
18,45,
55,71,
V
SS
83,94,
110, 127,
139
V
18
56-
Timing pin for the return from interruptible power down mode and synchronous /
asynchronous reset selection.
Digital supply voltage = + 5V during normal operation, idle and power down
-
modes.
It can be turned off when Standby RAM mode is selected.
-Digital ground
1.8V decoupling pin: a decoupling capacitor (typical value of 10nF, max 100nF)
must be connected between this pin and nearest V
SS
pin.
19/182
Functional descriptionST10F273M
3 Functional description
The architecture of the ST10F273M combines advantages of both RISC and CISC
processors and an advanced peripheral subsystem. The block diagram gives an overview of
the different on-chip components and the high bandwidth internal bus structure of the
ST10F273M.
Figure 3.Block diagram
16
IFlash
512K
32
CPU-core and MAC unit
16
IRAM
2K
XRAM1
2K
(PEC)
XRAM2
32K
(16K STBY)
XRTC
XI2C
XCAN1
16
Por t 0
16
Por t 1Por t 4
8
Por t 6
81615 8 8
16
16
16
16 16
16 16
16
16
XPWM
XASC
XSSC
XCAN2
controller
External bus
16
16
Por t 5
10-bit ADC
PEC
Interrupt controller
ASC0
SSC0
GPT1 / GPT2
BRGBRG
Port 3Port 7Por t 8
PWM
CAPCOM2
Watchdog
Oscillator
32 kHz
oscillator
PLL
5V-1.8V
voltage
regulator
CAPCOM1
16
Por t 2
20/182
ST10F273MMemory organization
4 Memory organization
The memory space of the ST10F273M is configured in a unified memory architecture. Code
memory, data memory, registers and I/O ports are organized within the same linear address
space of 16 Mbytes. The entire memory space can be accessed Bytewise or Wordwise.
Particular portions of the on-chip memory have additionally been made directly bit
addressable.
IFlash: 512 Kbytes of on-chip Flash memory implemented as a unique Bank (Bank0).
Bank0 is divided in 12 blocks (B0F0...B0F11).
Note:Read-while-write operations are not allowed: Write commands must be executed from a non
IFlash memory area (on-chip RAM or external memory).
When Bootstrap mode is selected, the Test-Flash Block B0TF (4 Kbytes) appears at
address 00’0000h: Refer to the device User Manual for more details on the memory
mapping in Bootstrap mode. The summary of address range for IFlash is the following:
Table 2.Summary of IFlash address range
BlocksUser modeSize (bytes)
B0TFNot visible4 K
B0F000’0000h - 00’1FFFh8 K
B0F100’2000h - 00’3FFFh8 K
B0F200’4000h - 00’5FFFh8 K
B0F300’6000h - 00’7FFFh8 K
B0F401’8000h - 01’FFFFh32 K
B0F502’0000h - 02’FFFFh64 K
B0F603’0000h - 03’FFFFh64 K
B0F704’0000h - 04’FFFFh64 K
B0F805’0000h - 05’FFFFh64 K
B0F906’0000h - 06’FFFFh64 K
B1F0 / B0F10
B1F1 / B0F11
(1)
(1)
07’0000h - 07’FFFFh64 K
08’0000h - 08’FFFFh64 K
Note:A single Flash bank is implemented on the ST10F273M compared to the ST10F273E. The
last two sectors (B0F10 and B0F11) can be seen as the Bank1 of the ST10F273E in order
to maintain the compatibility with the existing Flash programming drivers. For this, the
control and status bit of the blocks B0F10 and B0F11 have been duplicated to be usable as
blocks B1F0 and B1F1 of the ST10F273E.
XFLASH / Flash Control Registers: Address range 0E’0000h-0E’FFFFh is reserved for
the Flash Control Register and other internal service memory space used by the Flash
Program/Erase Controller. XFLASHEN bit in XPERCON register must be set to access the
Flash Control Register. Note that when Flash Control Registers are not accessible, no
program/erase operations are possible. The Flash Control Registers are accessed in 16-bit
demultiplexed bus-mode without read/write delay. Byte and word accesses are allowed.
21/182
Memory organizationST10F273M
IRAM: 2 Kbytes of on-chip internal RAM (dual-port) is provided as a storage for data,
system stack, general purpose register banks and code. A register bank is 16 Wordwide (R0
to R15) and / or Bytewide (RL0, RH0, …, RL7, RH7) general purpose registers group.
XRAM: 34 Kbytes of on-chip extension RAM (single port XRAM) is provided as a storage for
data, user stack and code.
The XRAM is divided into two areas, the first 2 Kbytes named XRAM1 and the second
32 Kbytes named XRAM2, connected to the internal XBUS and are accessed like an
external memory in 16-bit demultiplexed bus-mode without wait state or read/write delay
(50ns access at 40 MHz CPU clock). Byte and Word accesses are allowed.
The XRAM1 address range is 00’E000h - 00’E7FFh if XPEN (bit 2 of SYSCON register),
and XRAM1EN (bit 2 of XPERCON register) are set.
If XRAM1EN or XPEN is cleared, then any access in the address range 00’E000h -
00’E7FFh will be directed to external memory interface, using the BUSCONx register
corresponding to address matching ADDRSELx register.
The XRAM2 address range is F’0000h - F’7FFFFh if XPEN (bit 2 of SYSCON register), and
XRAM2EN (bit 3 of XPERCON register) are set.
If bit XPEN is cleared, then any access in the address range programmed for XRAM2 will be
directed to external memory interface, using the BUSCONx register corresponding to
address matching ADDRSELx register.
The 16 kbytes lower portion of the XRAM2 (address range F’0000h - F’3FFFFh) represents
also the Standby RAM, which can be maintained biased through EA
main supply V
is turned off.
DD
/V
pin when the
STBY
As the XRAM appears like external memory, it cannot be used as system stack or as
register banks. The XRAM is not provided for single bit storage and therefore is not bit
addressable.
SFR/ESFR: 1024 bytes (2 x 512 bytes) of address space is reserved for the special function
register (SFR) areas. SFRs are Wordwide registers which are used to control and to monitor
the function of the different on-chip units.
CAN1: Address range 00’EF00h - 00’EFFFh is reserved for the CAN1 Module access. The
CAN1 is enabled by setting XPEN bit 2 of the SYSCON register and by setting CAN1EN bit
0 of the XPERCON register. Accesses to the CAN Module use demultiplexed addresses
and a 16-bit data bus (only word accesses are possible). Two wait states give an access
time of 100ns at 40 MHz CPU clock. No tri-state wait states are used.
CAN2: Address range 00’EE00h - 00’EEFFh is reserved for the CAN2 Module access. The
CAN2 is enabled by setting XPEN bit 2 of the SYSCON register and by setting CAN2EN bit
1 of the new XPERCON register. Accesses to the CAN Module use demultiplexed
addresses and a 16-bit data bus (only word accesses are possible). Two wait states give an
access time of 100ns at 40 MHz CPU clock. No tri-state wait states are used.
Note:If one or the two CAN modules are used, Port 4 cannot be programmed to output all eight
segment address lines. Thus, only four segment address lines can be used, reducing the
external memory space to 5 Mbytes (1 Mbyte per CS line).
RTC: Address range 00’ED00h - 00’EDFFh is reserved for the RTC Module access. The
RTC is enabled by setting XPEN bit 2 of the SYSCON register and bit 4 of the XPERCON
register. Accesses to the RTC Module use demultiplexed addresses and a 16-bit data bus
(only word accesses are possible). Two waitstates give an access time of 100ns at 40 MHz
CPU clock. No tristate waitstate is used.
22/182
ST10F273MMemory organization
PWM1: Address range 00’EC00h - 00’ECFFh is reserved for the PWM1 Module access.
The PWM1 is enabled by setting XPEN bit 2 of the SYSCON register and bit 6 of the
XPERCON register. Accesses to the PWM1 Module use demultiplexed addresses and a 16bit data bus (only word accesses are possible). Two waitstates give an access time of 100ns
at 40 MHz CPU clock. No tristate waitstate is used. Only word access is allowed.
ASC1: Address range 00’E900h - 00’E9FFh is reserved for the ASC1 Module access. The
ASC1 is enabled by setting XPEN bit 2 of the SYSCON register and bit 7 of the XPERCON
register. Accesses to the ASC1 Module use demultiplexed addresses and a 16-bit data bus
(only word accesses are possible). Two waitstates give an access time of 100ns at 40 MHz
CPU clock. No tristate waitstate is used.
SSC1: Address range 00’E800h - 00’E8FFh is reserved for the SSC1 Module access. The
SSC1 is enabled by setting XPEN bit 2 of the SYSCON register and bit 8 of the XPERCON
register. Accesses to the SSC1 Module use demultiplexed addresses and a 16-bit data bus
(only word accesses are possible). Two waitstates give an access time of 100ns at 40 MHz
CPU clock. No tristate waitstate is used.
I2C: Address range 00’EA00h - 00’EAFFh is reserved for the I2C Module access. The I2C is
enabled by setting XPEN bit 2 of the SYSCON register and bit 9 of the XPERCON register.
Accesses to the I2C Module use demultiplexed addresses and a 16-bit data bus (only word
accesses are possible). Two waitstates give an access time of 100ns at 40 MHz CPU clock.
No tristate waitstate is used.
X-Miscellaneous: Address range 00’EB00h - 00’EBFFh is reserved for the access to a set
of XBUS additional features. They are enabled by setting XPEN bit 2 of the SYSCON
register and bit 10 of the XPERCON register. Accesses to this additional features use
demultiplexed addresses and a 16-bit data bus (only word accesses are possible). Two
waitstates give an access time of 100ns at 40 MHz CPU clock. No tristate waitstate is used.
The following set of features are provided:
●CLKOUT programmable divider
●XBUS interrupt management registers
●ADC multiplexing on P1L register
●Port1L digital disable register for extra ADC channels
●CAN2 multiplexing on P4.5/P4.6
●CAN1-2 main clock prescaler
●Main Voltage Regulator disable for power-down mode
●TTL / CMOS threshold selection for Port0, Port1 and Port5
In order to meet the needs of designs where more memory is required than is provided on
chip, up to 16 Mbytes of external memory can be connected to the microcontroller.
Visibility of XBUS peripherals
In order to keep the ST10F273M compatible with the ST10F168 / ST10F269, the XBUS
peripherals can be selected to be visible on the external address / data bus. Different bits for
X-Peripheral enabling in XPERCON register must be set. If these bits are cleared before the
global enabling with XPEN bit in SYSCON register, the corresponding address space, port
pins and interrupts are not occupied by the peripherals, thus the peripheral is not visible and
not available. Refer to Chapter 23: Register set on page 114.
23/182
Memory organizationST10F273M
XPERCON and X-Peripheral clock gating
As already mentioned, the XPERCON register must be programmed to enable the single
XBus modules separately. The XPERCON is a read/write ESFR register.
The new feature of Clock Gating has been implemented by means of this register: Once the
EINIT instruction has been executed, all the peripherals (except RAMs and XMISC) not
enabled in the XPERCON register are not be clocked. The clock gating can reduce power
consumption and improve EMI when the user does not use all X-Peripherals.
Note:When the clock has been gated in the disabled peripherals, no Reset will be raised once the
Address Area defined by
XADRS3 after reprogramming
Note: E009h defines a 128K wide
window starting from 0E’0000h
256
256
256
256
256
256
256
256
)
26/182
ST10F273MInternal Flash memory
5 Internal Flash memory
5.1 Overview
The on-chip Flash is composed of one matrix module of one bank of 512 Kbytes, named
Bank0, that can be read and modified. This module is called IFlash because it is on the
ST10 Internal bus.
Figure 6.Flash structure
IFlash
Bank 0: 512 Kbyte
program memory
4 Kbyte Test-Flash
+
I-BUS interface
The programming operations of the Flash are managed by an embedded Flash
Program/Erase Controller (FPEC). The high voltages needed for Program/Erase operations
are generated internally.
The Data bus is 32-bit wide for fetch accesses to IFlash. Read/write accesses to IFlash
Control Registers area are 16-bit wide.
5.2 Functional description
Control Section
HV and Ref.
generator
Program/erase
controller
+
Flash control
registers
X-BUS interface
5.2.1 Structure
Ta bl e 3 below shows the address space reserved for the Flash module.
Table 3.Flash module address space
DescriptionAddressesSize
IFlash sectors0x00 0000 to 0x08 FFFF512 Kbytes
Registers and Flash internal reserved area0x0E 0000 to 0x0E FFFF64 Kbytes
5.2.2 Module structure
The IFlash module is composed of a bank (Bank 0) of 512 Kbytes of program memory
divided in 12 sectors (B0F0...B0F11). Bank 0 also contains a reserved sector named TestFlash.
27/182
Internal Flash memoryST10F273M
The Addresses from 0x0E 0000 to 0x0E FFFF are reserved for the Control Register
Interface and other internal service memory space used by the Flash Program/Erase
controller.
The following tables show the memory mapping of the Flash when it is accessed in read
mode (Table 4: Flash module sectorization (read operations)), and when accessed in write
or erase mode (Table 5: Flash module sectorization (write operations, or ROMS1 = ‘1’)).
Note:With this second mapping, the first four sectors are remapped into code segment 1 (same
as obtained setting bit ROMS1 in SYSCON register).
1. A single bank is implemented but the last two sectors can be seen as a Bank 1 in order to maintain
compatibility with the Flash Programming routines developed for the ST10F273E (based on ST10F276E).
This means that the Control and Status flags for the blocks B0F10 and B0F11 are duplicated to also be
accessible as blocks B1F0 and B1F1.
(1)
(1)
0x07 0000 - 0x07 FFFF64 K
0x08 0000 - 0x08 FFFF64 K
28/182
ST10F273MInternal Flash memory
Table 5.Flash module sectorization (write operations, or ROMS1 = ‘1’)
BankDescriptionAddressesSize (bytes)
Bank 0 Test-Flash (B0TF)0x00 0000 - 0x00 0FFF4 K
Bank 0 Flash 0 (B0F0)0x01 0000 - 0x01 1FFF8 K
Bank 0 Flash 1 (B0F1)0x01 2000 - 0x01 3FFF8 K
Bank 0 Flash 2 (B0F2)0x01 4000 - 0x01 5FFF8 K
Bank 0 Flash 3 (B0F3)0x01 6000 - 0x01 7FFF32 K
Bank 0 Flash 4 (B0F4)0x01 8000 - 0x01 FFFF64 K
B0
Bank 0 Flash 5 (B0F5)0x02 0000 - 0x02 FFFF64 K
Bank 0 Flash 6 (B0F6)0x03 0000 - 0x03 FFFF64 K
Bank 0 Flash 7 (B0F7)0x04 0000 - 0x04 FFFF64 K
Bank 0 Flash 8 (B0F8)0x05 0000 - 0x05 FFFF64 K
Bank 0 Flash 9 (B0F9)0x06 0000 - 0x06 FFFF64 K
Bank 0 Flash 10 (B0F10 / B1F0)
Bank 0 Flash 11 (B0F11 / B1F1)
1. A single bank is implemented but the last two sectors can be seen as a Bank 1 in order to maintain
compatibility with the Flash Programming routines developed for the ST10F273E (based on ST10F276E).
This means that the Control and Status flags for the blocks B0F10 and B0F11 are duplicated to also be
accessible as blocks B1F0 and B1F1.
(1)
(1)
0x07 0000 - 0x07 FFFF64 K
0x08 0000 - 0x08 FFFF8 K
Ta bl e 5 above refers to the configuration when bit ROMS1 of SYSCON register is set.
When Bootstrap mode is entered:
●Test-Flash is seen and available for code fetches (address 0x00 0000)
●User IFlash is only available for read and write accesses
●Write accesses must be made with addresses starting in segment 1 from 0x01 0000,
whatever ROMS1 bit in SYSCON value
●Read accesses are made in segment 0 or in segment 1 depending of ROMS1 value.
In Bootstrap mode, by default ROMS1 = 0, so the first 32 Kbytes of IFlash are mapped in
segment 0.
Example:
In default configuration, to program address 0, the user must put the value 0x01 0000 in the
FARL and FARH registers but to verify the content of the address 0, a read to 0x00 0000
must be performed.
The next Tabl e 6 shows the Control Register interface composition: This set of registers can
be addressed by the CPU .
Flash non-volatile protection I
registers mirrored
Flash volatile access protection
register 0
Flash non-volatile access
protection register 1
XFlash Interface Control register
(dummy register)
0x0E 0000 - 0x0E 00078 byte
0x0E 0008 - 0x0E 000F8 byte
0x0E DFB0 - 0x0E DFB34 byte
0x0E DFB8 - 0x0E DFB92 byte
0x0E DFBC - 0x0E DFBF4 byte
0x0E E000 - 0x0E E0012 byte
Note:FVWPIR-mirror is a mirror of the FVWPIR to maintain software compatibility with the
ST10F273E in the handling of the last two blocks B0F10/B1F0 and B0F11/B1F1.
XFICR is a dummy register that can be read and written (for compatibility with the
ST10F273E) but its content has no effect on the XBus timings.
16-bit
(XBus)
5.2.3 Low power mode
The Flash module is automatically switched off executing PWRDN instruction. The
consumption is drastically reduced, but exiting this state can require a long time (t
PD
).
Recovery time from Power-down mode for the Flash modules is anyway shorter than the
main oscillator start-up time. To avoid any problem in restarting to fetch code from the Flash,
it is important to size properly the external circuit on RPD pin.
Note:PWRDN instruction must not be executed while a Flash program/erase operation is in
progress.
5.3 Write operation
The Flash module has a single register interface mapped in the XBus memory space
0x0E 0000 - 0x0E 0015. All the operations are enabled through four 16-bit control registers:
Flash Control Register 1-0 High/Low (FCR1H/L-FCR0H/L). Eight other 16-bit registers are
used to store Flash Address and Data for Program operations (FARH/L and FDR1H/LFDR0H/L) and Write Operation Error flags (FER). All registers are accessible with 8- and
16-bit instructions (sincethey are mapped on the XBus).
Note:To have access to the Flash Control Registers used for program/erasing operations,
bit 5 (XFLASHEN) in XPERCON register must be set.
Caution:During a Flash write operation any attempt to read the IFlash will output the invalid data
009Bh (corresponding, for code fetch, to the software trap 009Bh). This means that the
30/182
Loading...
+ 152 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.