13.3.3.1 -C l o cks........ ................ ........................ ................. ....................... ................. ....... .......... 110
13.3.3.2 -R e g i ste r s........ ....................... ................. ........................ ................ ............................. 110
21 -PACKAGE MECHANICAL DATA ...................... .......... ................ .......... .................183
22 -ORDERING INFORMATION ......................................................................................1 84
5/186
ST10F280
1 - INTRODUCTION
The ST10F280 is a new derivative of the ST
Microelectronics ST10 family of 16-bit single-chi p
CMOS microcontrollers. It 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.
ST10F280 is processed in 0.35µm CMOS
technology. The MCU core and the logic is
supplied with a 5V to 3.3V on chip voltage
regulator. The part is supplied with a single 5V
supply and I/Os work at 5V .
The device is upward compatible with the
ST10F269 device, with the following set of
differences:
– Two supply pins (DC1,DC2) on the PBGA-208
package are used for decoupling the internally
generated 3.3V core logic supply. Do not connect these two pins to 5. 0V external suppl y. Instead, these pins should be connected to a
Figure 1 : Logic Symbol
V
DD
decoupling capacitor (ceramic type, value
≥ 330nF).
– The A/D Converter characteristics stay identical
but 16 new input channel are added. A bit in a
new register (XADCMUX) control the multiplexage between the first b lock of 16 channel (on
Port5) and the second block (on XPort10). The
conversion result registers stay identical and the
software management can determine the block
in use. A new dedicated timer controls now the
ADC channel injection mode on the inp ut CC 31
(P7.7). The output of this timer is visible on a
dedicated pin (XADCINJ) to emulate this new
functionnality.
– A second XPWM peripheral (4 new channels) is
added. Four dedicated pins are reserved for the
outputs (XPWM[0:3])
– A new general purpose I/O port named XPORT9
(16 bits) is added. Due to the bit addressing
management, it will be different from other
standard general purpose I/O ports.
V
SS
XTAL1
XTAL2
RSTIN
RSTOUT
V
AREF
V
AGND
NMI
EA
READY
ALE
RD
WR/WRL
Port 5
16-bit
XPort10
16-bit
Decoupling capacitor for internal regulator
ST10F280
DC1
DC2
Port 0
16-bit
Port 1
16-bit
Port 2
16-bit
Port 3
15-bit
Port 4
8-bit
Port 6
8-bit
Port 7
8-bit
Port 8
8-bit
XPort 9
16-bit
XPWM
4-bit
XADCINJ
6/186
ST10F280
2 - BALL DATA
The ST10F280 package is a PB GA of 23 x 23 x 1.96 mm . The pitch of the balls is 1. 27 mm. The s ignal
assignment of the 208 balls is described in Figure 2 for the configuration and in Tabl e 1 for the ball signal
assignment. This package has 25 additional therm al balls.
Figure 2 : Ball Configuration (bottom view)
1716151413121110987654321
U1U2
XP10.15P5.5P5.9P5.13
U
T1T2T3T4T5T6T7T8T9T10T11T12T13T14T15T16
T
XP10.14 P5.0P5.2P5.4P5.8P5.12
R1R2R3
R
XP10.13 XP10.12 P5.1P5.3P5.7P5.11 P5.15
P1P2P3P4
XP10.11XP10.8 P5.6 P5.10P5.14XP10.9XP10.10
P
N1N2N3
N
M1M2M3
XP10.3 XP10.2 XP10.1 XP10.0
M
L1
L
V
SS
K1
V
K
DD
J1J2J3
J
H1H2H3
V
H
SS
G1G2G3
G
DC1V
F1F2F3
V
F
SS
E1E2E3
V
E
DD
D1D2D3
D
P6.7
C1C2C3C4C5C6C7C8C9C10C1 1C12C13C14C15C16
C
P6.3
B1B2B3B4B5B6B7B8B9B10B11B12B13B14B15B16
P6.2
B
A1A2A3A4
V
A
SS
U3
V
V
AREF
AGND
L2L3
P7.7 XADCINJ
K2K3
P7.4P7.5P7.6
P8.3P8.4
P8.1P8.2
P6.5
P8.0
P6.1
P6.4
xpwm.1
xpwm.3
xpwm.2
V
SS
RSTIN
V
DD
U4U5U6U7U8U9U1 0
VSSV
P2.0
R4
R5R6R7R8R9R10R11R12R13
P2.7
DD
P2.3P2.4
P2.2
P2.6
V
P2.8
P2.9
U11
SS
P5P6P7P8P9P10P11P12P13
P2.1
P2.5
P2.10
N4
XP10.4XP10.5XP10.6XP10.7
M4
L4
V
SS
K4
J4
P7.0P7.1P7.2P7.3
H4
P8.5P8.6P8.7
G4
V
SS
L7L8L9L10L11
VSSVSSVSSVSSV
K7
K8
K9
K10
V
V
V
SS
SS
J7
J8
V
V
SS
SS
H7
H8
V
V
SS
SS
G7
G8
V
V
SS
SS
V
SS
SS
J9
J10
V
V
SS
SS
H9
H10
V
V
SS
SS
G9
G10
V
V
SS
SS
K11
J11
H11
G11
F4
P6.6
E4
P6.0
D4
D5D6D7D8D9D10D11D12D13
xpwm.0
NMI
RSTOUT
V
SS
VSSV
P1.14 P1.15
V
V
SS
A5
XTAL1A6XTAL2
P1.9
P1.13
SS
P1.12
P1.11
SS
VSSV
A7A8A9A10A11A12A13A14A15A16
V
P1.10
SS
P1.6
P1.7P1.8
V
P1.2
P1.3
P1.4
SS
P1.5
DD
U12U13U14U15U16
DC2
P2.13
V
SS
P2.11
P2.15
P3.1
P3.4
R14R15R16
P2.12
P3.0
P3.3
P3.6
P14
P2.14
P3.2
P3.5
P3.7
N14
P3.10
M14
P3.13
L14
SS
P4.2
K14
V
SS
P4.6P4.7
J14
V
SS
H14
V
SS
G14
V
SS
F14
P0.10
E14
P0.15
D14
XP9.2
XP9.5
XP9.11
XP9.14
XP9.6
XP9.10
XP9.13
P1.0
XP9.9
XP9.12
XP9.15
P1.1
V
V
DD
SS
V
V
SS
U17
VSSV
VSSV
DD
T17
VSSV
P3.15
SS
R17
P3.8P3.9
V
P15P16P17
P3.11 P3.12
V
N15N16N17
V
P4.0
V
SS
M15M16M17
P4.3
RPD
P4.1
L15L16L17
P4.4P4.5
V
K15K16K17
V
V
SS
J15J16J17
RDWRREADY ALE
H15H16H17
G15G16G17
P0.3P0.4P0.5
F15F16F17
V
P0.6
P0.8
E15E16E17
P0.7
P0.9
P0.12
D15D16D17
P0.11
P0.13
XP9.0
C17
P0.14
XP9.1
XP9.3
B17
XP9.4
XP9.7
V
A17
XP9.8
DD
V
SSVSS
U
SS
T
R
SS
P
DD
N
SS
M
L
DD
K
SS
J
H
EAP0.0P0.1P0.2
G
DD
F
SS
E
D
C
B
SS
A
1716151413121110987654321
7/186
ST10F280
Table 1 : Ball Descri pti o n
Symbol
P6.0 – P6.7I/OPort 6 is an 8 -bit bidirectional I/O port. It is bit-wise programmable for input or
P8.0 – P8.7I/OPort 8 is an 8 -bit bidirectional I/O port. It is bit-wise programmable for input or
P7.0 – P7.7I/OPort 7 is an 8 -bit bidirectional I/O port. It is bit-wise programmable for input or
Ball
Number
TypeFunction
output via direction bits. For a pin configured as input, the output driver is put into
high-impedance state. Port 6 outputs can be configured as push/pull or open
drain drivers.
The following Port 6 pins also serve for alternate functions:
E4OP6.0CS0
D3OP6.1CS1Chip Select 1 Output
B1OP6.2CS2
C1OP6.3CS3Chip Select 3 Output
D2OP6.4CS4
E3IP6.5HOLDExternal Master Hold Request Input
F4OP6.6HLDA
D1OP6.7BREQBus Request Output
output via direction bits. For a pin configured as input, the output driver is put into
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 special).
output via direction bits. For a pin configured as input, the output driver is put into
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 special).
The following Port 2 pins also serve for alternate functions:
T7I/OP2.0CC0IOCAPCOM: CC0 Capture Input / Compare Output
P8I/OP2.1CC1IOCAPCOM: CC1 Capture Input / Compare Output
U2-Reference voltage for the A/D converter.
U3-Reference ground for the A/D converter.
RPDM17I/OTiming pin for the return from powerdown circuit and synchronous/asynchronous
reset selection.
DC1G1O3.3V Decoupling pin: a decoupling capacitor of ~330 nF must be connected
between this pin and nearest V
SS
pin.
DC2U11O3.3V Decoupling pin: a decoupling capacitor of ~330 nF must be connected
between this pin and V
V
DD
A2
A9
-Digital Supply Voltage: + 5 V during normal operation, idle mode and power
down mode
nearest pin.
SS
A12
A14
E1
K1
U8
U15
P17
L17
G17
15/186
ST10F280
Table 1 : Ball Description (continued)
V
SS
Symbol
Ball
Number
A1
A4
A8
A11
A13
A16
A17
B3
B5
B6
B8
B9
B17
D5
D6
F1
F17
G4
H1
K16
K17
L1
L4
N15
N17
R17
T15
T16
U7
U10
U13
U14
U16
U17
TypeFunction
-Digital Ground.
16/186
3 - FUNCTIONAL DESCRIPTION
The architecture of the ST10F280 combines
advantages of both RISC and CISC processors
and an advanced peripheral subsystem. The
Figure 3 : Block Diagram
ST10F280
block diagram g ives an overview of the different
on-chip components and the high bandwidth internal bus structure of the ST10F280.
P4.5 CAN1_RxD
P4.6 CAN1_TxD
P4.4 CAN2_RxD
P4.7 CAN2_TxD
512K Byte
Flash Memory
16K Byte
XRAM
CAN1
CAN2
16
Port 0
16
Port 1Port 4
8
Port 6
3216
CPU-Core and MAC Unit
16
PEC
16
Interrupt Controller
GPT1
ASC usart
Controller
External Bus
8
10-Bit ADC
Port 5
16
GPT2
BRG
Port 3
15
SSC
BRG
PWM
Port 7
P7.7 Trigger for ADC
channel injection
16
16
CAPCOM2
8
2K Byte
Internal
RAM
Watch dog
Oscillator
and PLL
XTAL1XTAL2
3.3V Voltage
Regulator
Port 2
CAPCOM1
Port 8
16
8
XPORT10
16
XPORT916XPWM4XTIMER
XADCINJ
External connexion
17/186
ST10F280
4 - MEMOR Y ORGA NI ZA T IO N
The memory space of the ST10F280 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
16M Bytes. The entire memory space can be
accessed bytewise or wordwise. Particular portions of the on-chip memory have additionally
been made directly bit addressable.
FLASH: 512K Bytes of on-chip single voltage
FLASH memory.
IRAM: 2K Bytes of on-chip internal RAM
(dual-port) is provided as a storage for data, system stack, general purpose register banks and
code. The register bank can con sist of up to 16
wordwide (R0 to R15) and/or bytewide (RL0, RH0,
…, RL7, RH7) general purpose registers. Base
address is 00’F600h, upper address is 00’FDFFh.
XRAM: 16K Bytes of on-chip extension RAM (single port XRA M) is provided as a storage for data,
user stack and cod e. The X RA M is a s ingle bank,
connected to the internal XBUS and are accessed
like an external memory in 16-bit demultiplexed
bus-mode without waitstate or read/write delay
(50ns access at 40MHz CPU clock). Byte and
word access is allowed.
The XRAM address range is 00’8000h - 00’BFFFh
if enabled (XPEN set bit 2 of SYSCON register-,
and XRAMEN set bit 2 of XPERCON register-). If
bit XRAMEN or XPEN is cleared, then any access
in the address range 00 ’8000h 00’BFFFh will be
directed to external memory interface, using the
BUSCONx register corresponding to address
matching ADDRSELx register
As the XRAM appears like external memory, it
cannot be used for the ST10F280’s system stack
or register banks. The XRAM is not provided for
single bit storage and therefore is not bit addressable.
SFR/ESFR: 1024 bytes (2 * 512 bytes) of address
space is reserved for the special func tion register
areas. SFRs are wordwide registers which are
used for controlling and monitoring functions 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 bit 0 of the new XPERCON register.
Accesses to the CAN Module use demultiplexed
addresses and a 16-bi t data bus (byte accesses
are possible). Two waitstates give an access time
of 100 ns at 40MHz CPU clock. No tristate waitstate is 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 bit 1 of the new XPERCON register.
Accesses to the CAN Module use demultiplexed
addresses and a 16-bi t data bus (byte accesses
are possible). Two waitstates give an access time
of 100 ns at 40MHz CPU clock. No tristate waitstate is used.
In order to meet the needs of designs where more
memory is required than is provided on chip, up to
16M Bytes of external RAM and/or ROM can be
connected to the microc ontroller. If one or the two
CAN modules are used, Port 4 can not be programmed to output all 8 segment address lines.
Thus, only 4 segment address li nes can be used,
reducing the external mem or y space to 5M Bytes
(1M Byte per CS
line).
XPWM: Address range 00’EC00h 00’ECFFh is
reserved for the XPWM Module access. The
XPWM is enabled by setting XPEN bit 2 of the
SYSCON register and bit 4 of the new XPERCON
register. Accesses to the XPWM Module use
demultiplexed addresses and a 16-bit data bus
(byte accesses are possible). Two waitstates give
an access time of 100 ns at 40MHz CPU clock. No
tristate waitstate is used.
XPORT9, XTIMER, XPORT10, XADCMUX :
Address range 00’C000h 00’C3FFh is reserved
for the XPORT9, XPORT10, XTIMER and
XADCMUX peripherals access. The XPORT9,
XTIMER, XPORT10, XADCMUX are enabled by
setting XPEN bit 2 of the SYSCON register and
the bit 3 of the new XPERCON register. Accesses
to the XPORT9, XTIMER, XPORT10 and
XADCMUX modules use a 16-bit demultiplexed
bus mode without waitstate or read/write delay
(50ns access at 40MHz CPU clock). Byte and
word access is allowed.
Visibi lity of X B U S Periphera ls
The XBUS peripherals can be separately selected
for being visible to the user by means of corresponding selection bits in the XP E RCON re gister.
If not selected (not activated with XPERCON bit)
before the global enabling with XPEN-bit in
SYSCON register, the corresponding address
space, port pins and interrupts are not occupied
by the peripheral, thus the peripheral is not visible
and not available. SYSCON register is described
in Section 19.2 - System Configuration Registers.
18/186
Figure 4 : ST10F280 On-chip Memo ry Mapping
09’0000
Block10 = 64K Bytes
Segment 8
20
08’0000
14
05’0000
Block6 = 64K Bytes
Segment 4Segment 3Segment 2Segment 1Segment 0
04’0000
10
Block5 = 64K Bytes
0C
03’0000
ST10F280
RAM, SFR and X-pheripherals are
mapped into the address space.
00’FFFF
SFR : 512 Bytes
00’FE00
00’FDFF
IRAM : 2K Bytes
00’F600
08
07
06
05
04
03
02
01
00
Data
Page
Number
02’0000
01’8000
01’0000
00’C000
00’BFFF
00’8000
00’6000
00’4000
00’0000
Absolute
Memory
Address
Block4 = 64K Bytes
Block3 = 32K Bytes
Block2*
Block1*
Block0*
XRAM = 16K Bytes
Block2 = 8K Bytes
Block1 = 8K Bytes
Block0 = 16K Bytes
Internal
Flash
Memory
00’F1FF
00’F000
00’EFFF
00’EF00
00’EEFF
00’EE00
00’ECFF
00’EC00
00’C3FF
00’C000
ESFR : 512 Bytes
CAN1 : 256 Byte s
CAN2 : 256 Byte s
XPWM
XPORT9 XTIMER
XPORT10
XADCMUX
* Blocks 0, 1 and 2 may be remapped from segment 0 to segment 1 by setting SYSCON-ROMS1 (before EINIT)
Data Page Number and A bsolute Memory Address are hexadecim al values.
19/186
ST10F280
XPERCON (F024h / 12h) ESFRReset Value: - - 05h
1514131211109876543210
-----------XPWMENXPERCONEN3XRAMENCAN2ENCAN1EN
RWRWRWRWRW
BitFunction
CAN1EN
CAN2EN
XRAMEN
XPERCONEN3
XPWMEN
CAN1 Enable Bit
0
Accesses to the on- chip CAN 1 XPeripheral a nd its fu nctions are disabled. P4.5 a nd P4.6 pins
can be used as gen eral purpose I/Os. Addre ss range 00’EF00h-00’EF FFh is only directed to
external memory if CAN2EN and XPWM bits are cleared also.
1
The on-chip CAN1 XPeripheral is enabled and can be accessed.
CAN2 Enable Bit
0
Accesses to the on- chip CAN 2 XPeripheral a nd its fu nctions are disabled. P4.4 a nd P4.7 pins
can be us ed as gene ral purpos e I/Os. Addres s range 00’E E00h-00’EEFFh is only di rected to
external memory if CAN1EN and XPWM bits are cleared also.
1
The on-chip CAN2 XPeripheral is enabled and can be accessed.
XRAM Enable Bit
0
Accesses to the on-chip 16K Byte XRAM are disabled, external access performed.
1
The on-chip 16K Byte XRAM is enabled and can be accessed.
XPORT9, XTIMER, XPORT10, XADCMUX Enable Bit
0
Accesses to the XPORT9, XTIMER, X PORT10, XADCMUX p eripherals are d isabled, external
access performed.
1
The on-chip XPORT9, XTIMER, XPORT10, XADCMUX peripherals are enabled and can be
accessed.
XPWM Enable Bit
0
Accesses to the on-chip XPWM are disabled, external access performed. Address range
00’EC00h-00’ECFFh is only directed to external memory if CAN1EN and CAN2EN are ‘0’ also
1
The on-chip XPWM is enabled and can be accessed.
Note: - When both CAN and XPWM are disabled via XPERCON setting, then any access in the address
range 00’EC00h 00’EF FFh will be directed to external mem ory interface, using the BUSCONx
register corresponding to address matching ADDRSELx register. P4.4 and P4.7 can be used as
General Purpo se I/O when CAN2 is no t enabled, and P4.5 and P4. 6 can be used as G eneral
Purpose I/O when CAN1 is not enabled.
- The default XPER selection after Reset is : XCAN1 is enabled, XCAN2 is disabled, XRAM is
enabled, XPORT9, XTIMER, XPORT10, XPWM, XADCMUX are disabled.
- Register XPERCON cannot be changed after the global enabling of XPeripherals, i.e. after
setting of bit XPEN in SYSCON register.
20/186
5 - INTERNAL FLASH MEMORY
ST10F280
5.1 - Overview
– 512K Byte on-chip Flash memory
– Two possibilities of Flash mapping into the CPU
address space
– Flash memory can be used for code and data
storage
– 32-bit, zero waitstate read ac cess (50ns cycle
time at f
= 40MHz)
CPU
– Erase-Program Controller (EPC) similar to
M29F400B STM’s stand-alone Flash memo ry
• Word-by-Word Programmable (16µs t ypic a l)
• Data polling and Toggle Protocol for EPC
Status
• Internal Power-On detection circuit
– Memory Erase in blocks
• One 16K Byte, two 8K Byte, one 32K Byte,
seven 64K Byte blocks
• Each block can be erased separately
(1.5 second typical)
• Chip erase (8.5 second typical)
• Each block can be separately protected
against programming and erasing
• Each protected block can be temporary unprotected
• When enabled, the read protection prevents
access to data in Flash memory using a program running out of the Flash memory space.
Access to data of internal Flash can only be performed with an inner protected program
– Erase Suspend and Res um e Modes
• Read and Program another Block during erase
suspend
– Single Voltage operat ion , no need of dedicat ed
supply pin
– Low Power Consumption:
• 45mA max. Read current
• 60mA max. Program or Erase current
• Automatic Stand-by-mode (50µA maximum)
– 100,000 Erase-Program Cycles per block,
20 y ea r data reten tion time
– Operating tempe rature: -40 to +125
o
C
5.2 - Operational Overview
Read M ode
In standard mode (the normal operating mode)
the Flash ap pears like an on-chip ROM with the
same timing and functiona lity. The Flash modul e
offers a fast access time, allowing zero waitstate
access with CPU frequency up to 40MHz.
Instruction fetches and data operand reads are
performed with all addressing modes of the
ST10F280 instruction set.
In order to optimize the programming tim e of the
internal Flash, blocks of 8K Bytes, 16K Bytes,
32K Bytes, 64K Bytes can be used. But the size of
the blocks does not apply to the whole memory
space, see details in Table 2.
00’0000h to 00’3FFFh
00’4000h to 00’5FFFh
00’6000h to 00’7FFFh
01’8000h to 01’FFFFh
02’0000h to 02’FFFFh
03’0000h to 03’FFFFh
04’0000h to 04’FFFFh
05’0000h to 05’FFFFh
06’0000h to 06’FFFFh
07’0000h to 07’FFFFh
08’0000h to 08’FFFFh
01’0000h to 01’3FFFh
01’4000h to 01’5FFFh
01’6000h to 01’7FFFh
01’8000h to 01’FFFFh
02’0000h to 02’FFFFh
03’0000h to 03’FFFFh
04’0000h to 04’FFFFh
05’0000h to 05’FFFFh
06’0000h to 06’FFFFh
07’0000h to 07’FFFFh
08’0000h to 08’FFFFh
16
8
8
32
64
64
64
64
64
64
64
21/186
ST10F280
Instructions and Commands
All operations besides normal read operations are
initiated and controlled by command sequences
wri tte n to the Fla sh C om ma n d I nter fac e ( CI) . T h e
Command Interface (CI) interprets words written
to the Flash memory and enables one of the
following operations:
– Read memory array
– Program Word
– Block Erase
– Chip Erase
– Erase Suspend
– Erase Resume
– Block Protection
– Block Temporary Unprotection
– Code Protection
Commands are composed o f several write cycles
at specific addresses of the Flash memory. The
different write cycles of such command
sequences offer a fail-safe feature to protect
against an inadvertent write.
A command only starts when the Command
Interface has decoded the last write cycle of an
operation. Until that last write is performed, Flas h
memory rema ins in Read Mo de
Notes: 1. As it is not possible to perform write
operations in the Flash while fetching code
from Flash, the Flash commands must be
written by instructions executed from
internal RAM or ex ternal memo ry.
2. Command write c ycles do not need to
be consecutively received, pauses are
allowed, save for Block Erase command.
During this operation all Erase Confirm
commands mus t be sent to co mplete any
block erase operation before time-out
period expires (typically 96µs). Command
sequencing must be followed exactly. Any
invalid combination of commands will reset
the Command Interface to Read Mode.
Status R egister
This register is used to flag the status of the
memory and the result of an operation. This
register can be accessed by read cycles during
the Erase-Program Controller (EPC) operation.
Erase Operation
This Flash memory features a block erase
architecture with a chip erase capabi lity too. Erase
is accomplished by exec uting the six cycle erase
command sequence. Additional command write
cycles can then be performed to erase more than
one block in parallel . When a time-out period elaps
(96
µ
s) after the last cycle, the Erase-Program
Controller (EPC) automatically starts and times the
erase pulse and executes the erase operation.
There is no need to program the block to be
erased with ‘0000h’ before an erase operation.
Term ination of operation is indicated in the Flash
status register. After erase operation, the Flash
memory locations are read as 'FFFFh’ value.
Erase Suspend
A block erase operation is typically executed
within 1.5 second for a 64K Byte block. Erasure of
a memory block may be suspended, in order to
read data from another block or to program data in
another block, and then resumed.
In-System Programming
In-system programming is fully supported. No
special programming voltage is required. Because
of the automatic execution of erase and
programming algorithms, write operations are
reduced to transferring commands and data to the
Flash and reading the status. Any code that
programs or erases Flash memory lo cations (that
writes data to the Flash) must be executed from
memory out side the on-chip Flash memory its elf
(on-chip RAM or external memory).
A boot mechanism is provided to support
in-system programming. It wor ks using seria l link
via USART interface and a PC compatible or
other programming host.
Read/Write Protection
The Flash module supports read and write
protection in a very comfortable and advanced
protection functionality. If Read Protection is
installed, the whole Flash memory is protected
against any "external" read access; read
accesses are only possible with instructions
fetched directly from program Flash memory. For
update of the Flas h memor y a temporar y disable
of Flash Read Protection is supported.
The device also features a block write protection.
Software locking of selectable memory blocks is
provided to protect code and data. This feature
will disable both program and erase operations in
the selected block(s) of the memory. Block
Protection is accomplished by block specific
lock-bit which are programmed by executing a
four cycle command sequence. The locked state
of blocks is indicated by specific flags in the
according block status registers. A block may only
be temporarily unlocked for update (write)
operations.
22/186
ST10F280
With the two possibilities for write protection whole
memory or block specific a flexible installation of
write protection is suppor ted to protect the Flash
memory or parts of it from unauthorized
programming or erase accesses and to provide
virus-proof protection for all system code blocks.
All write protection also is enabled during boot
operation.
Power Supply, Reset
The Flash modul e uses a si ngle power supply for
both read and write functions. Internally generated and regulated voltages are provided for the
program and erase operations from 5V supply.
Once a program or erase cycle has been completed, the device resets to the standard read
mode. At power-on, the Flash memory has a
setup phase of some microseconds (dependent
on the power supply ramp-up). During this phase,
Flash can not be read. Thus, if EA
pin is high (execution will start from F lash m em or y ), the CP U will
remains in reset state until the Flash can be
accessed.
5.3 - Architectural Description
The Flash module distinguishes two basic
operating modes, the standard read mode and the
command mo de. The initial state after power-on
and after reset is the standard read mode.
5.3.1 - Read Mode
The Flash modul e enters the standard operating
mode, the read mode:
– After Reset command
– After every completed erase operation
– After every completed programming operation
– After every other completed command
execution
– Few microseconds after a CPU-reset has
started
– After incorrect address and data values of
command sequences or writing them in an
improper sequence
– After incorrect write access to a read protected
Flash memory
The read mode remains active until the last
command of a command sequence is decoded
which starts directly a Flash array operation, such
as:
– erase one or several blocks
– program a word into Flash array
– protect / temporary unprotect a block.
In the standard read mode read accesses are
directly controlled by the Flash memory array,
delivering a 32-bit double Word from the
addressed position. Read accesses are always
aligned to double Word boundaries. Thus, both
low order address bit A1 and A 0 are not used in
the Flash array for read accesses. The high order
address bit A18/A17/A16 define the physical
64K Bytes segment being accessed within the
Flash array.
5.3.2 - Command Mode
Every operation besides standard read operations
is initiated by commands written to the Flash
command register. The addresses used for
command cycles define in conjunction with the
actual state the specific step within command
sequences. With the last command of a command
sequence, the Erase-Program Controller (EPC)
starts the execution of the command. The EPC
status is indicated during comman d execution by:
– The Status Register,
– The Ready/Bu sy signal.
5.3.3 - Flash Status Register
The Flash Status register is used to flag the status
of the Flash memory and the result of an
operation. This register can be accessed by Read
cycles during the program-Erase Controller
operations. The program or erase operation can
be controlled by data polling on bit FSB.7 of
Status Register, detection of Toggle on FSB.6 and
FSB.2, or Error on FSB.5 and Erase Timeout on
FSB.3 bit. Any read attempt i n Flash during E PC
operation will a utomatic ally ou tput thes e five bits.
The EPC sets bit FSB.2, FSB.3, FSB.5, FSB.6
and FSB.7. Other bit are reserved for future use
and should be masked.
23/186
ST10F280
Flash Status (see note for address)
1514131211109876543210
--------FSB.7 FSB.6 FSB.5-FSB.3 FSB.2-RRRR R
FSB.7Flash Status bit 7: Data Polling Bit
Programming Operation: this bit outputs the complement of the bit 7 of the word being
programm ed , and after com ple t ion , w ill ou t pu t the b it 7 of the wo rd progr ammed.
Erasing Operation: outputs a ‘0’ during erasing, and ‘1’ after erasing completion.
If the block selected f or erasure is (are) protected, FSB.7 will be set to ‘0’ for about 100 µs, and
then return to the previous addressed memory data value.
FSB.7 will also flag t he Erase Suspend Mode by switching from ‘0’ to ‘1’ at the star t of the
Erase Suspend.
During Program operation in Erase Suspend Mode, FSB.7 will have the same behaviour as in
normal Program execution outside the Suspend mode.
FSB.6Fl ash S t at us bit 6: Toggle Bit
Programming or Erasing Operations: successive read operations of Flash Status register will
deliver complementary values. FSB.6 will togg le each time the Flash Status register is read.
The Program operation is completed wh en two successive reads yield the same value. The
next read will output the bit last programmed, or a ‘1’ after Erase operation
FSB.6 will be set to‘1’ if a read operation is attempted on an Erase Suspended block. In
addition, an Erase Suspend/Resume command will cause FSB.6 to toggle.
FSB.5Flash Status bit 5: Error Bit
This bit is set to ‘1’ when there is a failure of Program, block or chip erase operations.This bit
will also be set if a user tries to program a bit to ‘1’ to a Flash location that is currently
programmed with ‘0’.
The error bit resets after Read/Reset instruction.
In case of success, the Error bit w il l be set to ‘0’ during Program or Erase and then w ill o utpu t
the bit last programmed or a ‘1’ after erasing
FSB.3Flash Status bit 3: Erase Time-out Bit
This bit is cleared by the EPC when the las t Block Erase command has been en tered to the
Command Interface and it is awaiting the Erase start. When the time-out period is finished,
after 96 µs, FSB.3 returns back to ‘1’.
FSB.2Fl ash S t at us bit 2: Toggle Bit
This toggle bit, together with FSB.6, can be used to determine the chip status during the Erase
Mode or Erase Suspend Mode. It can be used also to identify the block being Erased
Suspended. A Read operation will cause FS B.2 to Toggle during the Erase Mode. If the Flash
is in Erase Suspend Mode, a Read operation from the Erase suspen ded block or a Program
operation into the Erase suspended block will cause FSB.2 to toggle.
When the Flash is in Program Mode during Erase Suspend, FSB.2 will be read as ‘1’ if address
used is the address of the word being programmed.
After Erase completion with an Error status, FSB.2 will toggle when reading the faulty sector.
Note: The Address of Flash Status Register is the address of the word being programmed when
Programming operation is in progress, or an address w ithin block being erased when Erasing
operation is in progress.
24/186
ST10F280
5.3.4 - Flash Protection Register
The Flash Protection register is a non-volatile register that contains the protection status. This register
can be read by using the Read Protection St atus (RP) command, and programmed by using the de dicated Set Protection command.
‘0’: the Block Protection is enabled for block x. Programming or erasing the block is not
possible, unless a Block Temporary Unprotection command is issued.
1’: the Block Protection is disabled for block x.
Bit is ‘1’ by default, and can be programmed permanently to ‘0’ using the Set Protection
command but then cannot be set to ‘1’ again. It is therefore possible to temporally disable the
Block Protection using the Block Temporary Unprotection instruction.
CPCode Protection Bit
‘0’: the Flash Code Protection is enabled. Read accesses to the Flash for execution not
performed in the Flash itself are not allowed, the returned value will be 009Bh, whatever the
content of the Flash is.
1’: the Flash Code Protection is disabled: read accesses to the Flash from external or internal
RAM are allowed
Bit is ‘1’ by default, and can be programmed permanently to ‘0’ using the Set Protection
command but then cannot be set to ‘1’ again. It is therefore possible to temporarily disable the
Code Protection using the Code Temporary Unprotection instruction.
5.3.5 - Instructions Description
Twelve instructions dedicated to Flash memory
accesses are defined as follow:
Read/Reset (RD). The Read/Reset instruction
consist of one write cycle with data XXF0h . it can
be optionally preceded by two CI enable
coded
cycles (data xxA8h at address 1554h + data
xx54h at address 2AA8h). Any successive read
cycle following a Read/Reset instruction will read
the memory array. A Wait cycle of 10µs is
necessary after a Read/Reset command if the
memory was in program or Erase mode.
Program Word (PW). This instruction uses four
write cycles. After the two Cl enable coded cycles ,
the Program Word command xxA 0h is written at
address 1554h. The following write cycle will latch
the address and data of the word to be
programmed. Memor y p rogramming can be do ne
only by writing 0's instead of 1's, otherwise an
error occurs. During programming, the Flash
Status is checked by reading the Flash Status bit
FSB.2, FSB.5, FSB.6 and FSB.7 which show the
status of the EPC. FSB.2, FSB.6 and FSB.7
determine if programming is on going or has
completed, and FSB.5 allows a check to be made
for any possible error .
Block Erase (BE). This instruction uses a
minimum of six command cycles. The erase
enable command xx80h is written at address
1554h after the two-cycle CI enable sequence.
The erase confirm code xx30h must be written at
an address related to the block to be erased
preceded by the execution of a second CI enable
sequence. Additional erase confirm codes must
be given to erase m ore than on e block in parallel.
Additional erase confirm commands must be
written within a defined time-ou t perio d. The input
of a new Block Erase command will restart the
time -out period.
When this time-out period has elapsed, the erase
starts. The status of the internal timer can be
monitored through the level of FSB.3, if FSB.3 is
‘0’, the Block Erase command has been given and
the timeout is running ; if FSB.3 is ‘1’, the timeout
has expired and the EPC is erasing the block(s).
If the second command given is not an erase confirm or if the coded cycles are wrong, the instruction aborts, and the device is reset to Read Mode.
25/186
ST10F280
It is not necessary to program the block with
0000h as the EPC will do this automatically before
the erasing to FFFFh. Read operations after the
EPC has sta rted, output the Flash Status Register. During the execution of the erase by the EPC,
the device accepts only the Erase Suspend a nd
Read/Reset instructions. Data Polling bit FSB.7
returns ‘0’ while the erasure is in progress, and ‘1’
when it has completed. The To ggle bit FSB.2 and
FSB.6 toggle during the erase operation. They
stop when erase is completed. After completion,
the Error bit FSB.5 returns ‘1’ if there has been an
erase failure because erasure has not comp leted
even after the maximum number of erase cycles
have been executed by the EPC, in this case, it
will be necessary to input a Read/Reset to the
Command Interface in order to reset the EPC.
Chip Erase (CE). This instruction uses six write
cycles. The Erase Enable command xx80h, must
be written at address 1554h after CI-Enable
cycles. The Chip Erase command xx10h must be
given on the sixth cycle after a second C I-Enable
sequence. An error in command sequence will
reset the CI to Read mode. It is NOT necessary to
program the block with 0000h as the E PC will do
this automatically before the erasing to FFFFh.
Read operations after the EPC has star ted out put
the Flash Status Register. During the execution of
the erase by the EPC, Data Polling bit FSB.7
returns ‘0’ while the erasure is in progress, and ‘1’
when it has completed. The FSB.2 and FSB.6 bit
toggle during the erase operation. They stop when
erase is finished. The FSB.5 error bit returns "1" in
case of failure of the erase operation. The error
flag is set after the maximum number of erase
cycles have been executed by the EPC. In this
case, it will be necessary to input a Read/Reset to
the Command Interface in order to reset the EPC.
Erase Suspend (ES). This instruction can be
used to suspend a Block Erase operation by
giving the command xxB0h without any specific
address. No CI-Enable cycles is required. Erase
Suspend operation allows reading of data from
another block and/or the programming in another
block while erase is in progress. If this com mand
is given during the time-out period, it will terminate
the time-out period in addition to erase Suspend.
The Toggle Bit FSB.6, when monitored at an
address that belongs to the block being erased,
stops toggling when Erase Suspend Command is
effective, It happens between 0.1µs and 15µs
after the Erase Suspend Command has been
written. The Flash will then go in normal Read
Mode, and read from blocks not being erased is
valid, while read from block being erased will
output FSB.2 toggling. Dur ing a Suspend phase
the only instructions valid are Erase Resum e and
Program Word. A Read / Reset instruction d uring
Erase suspend wi ll definitely abor t th e Erase a nd
result in invalid data in the block being erased.
Erase Resume (ER). This instruction can be
given when the memory is in Erase Suspend
State. Erase can be resumed by writing the
command xx30h at any address without any
Cl-enable sequence.
Program during Erase Sus pend. The Program
Word instruction during Erase Suspend is allowed
only on blocks that are not Erase-suspended. This
instruction is the same than the Program Word
instruction.
Set Prote c t io n (SP). This instruction can be used
to enable both Block Protection (t o protect each
block independently from accidental Erasing-Programming Operation) and Code Protection (to
avoid code dump). The Set Protection Com mand
must be given after a s pecial CI-Prot ection Enab le
cycles (see instruction table). The following Write
cycle, will p rogr am the Prote cti on Register. T o pro tect the block x (x = 0 to 10), the data bit x must be
at ‘0’. To protect the code, bit 15 of the data must
be ‘0’. Enabling Block or Code Protecti on is per-manent and can be cleared only by STM. Block
Temporary Unprotection and Code Temporary
Unprotection instructions are available to allow the
customer to update the code.
Note: 1. The new value programmed in
protect ion regis ter will onl y becom e active
after a reset.
2. Bit that are already at ’0’ in protec tion
register must be confirmed at ’0’ also in
data latched during the 4th cycle of set
protection command, otherwise an error
may occur.
Read Protection Status (RP). This instru ction is
used to read the Block Protection status and the
Code Protection status. To read the protection
register (see Table 3), the CI-Protection Enable
cycles must be executed followed by the
command xx90h at address x2A54h. The
following Read Cycles at any odd word address
will output the Block Protection Status. The Read/
Reset command xxF0h must be written to reset
the protection interface.
Note: After a modification of protection register
(using Set Protection command), the Read
Protection Status will return the new PR
value only after a reset.
26/186
ST10F280
Block Temporary Unprotection (BTU). This Instruction can be used to temporar y unprotect all the
blocks from Program / Erase protection. The Unprotection is disabled after a Reset cycle. The Block
Tem porary Unprotection command xxC1h must be given to enable Block Temporar y Unprotection. The
Command must be preceded by the CI-Protection Enable cycles and followed by the Read/Reset
command xxF0h.
Set Code Protection (SCP). This kind of protection allows the customer to protect the proprietar y code
written in Flash. If installed and active, Flash Code Protection prevents data operand accesses and
program branches into the on-chip Flash area from any location outside the Flash memory itself. Data
operand accesses and branches to Flash locations are only and exclusively allowed for instructions
executed from the Flash memory itself. Every read or jump to Flash performed from another memory (like
internal RAM, external me mory) while Code Protection is enabled, will give the opcode 009Bh related to
TRAP #00 illegal instruction. The CI-Protection Enable cycles must be sent to set the Code Protection. By
writing data 7FFFh at any odd word addre ss, the Code Protec ted status is stored in the Flash Pr otec tion
Register (PR). Protection is permanent and cannot be cleared by the user. It is possible to temporarily
disable the Code Protection using Code Te mpo rar y Unprot ection instr uc tion.
Note: Bits that are already at ’0’ in protection register must be confirmed at ’0’ also in data latched during
the 4th cycle of set protection command, otherwise an error may occur.
Code Temporary Unprotection (CTU). This instruction must be used to temporary disable Code
Protection. This instruction is effective only if executed from Flash memory space. To restore the
protection status, without using a reset, it i s necessar y to use a Code Temporary Protection instruction.
System reset will reset also the Code Tem porary Unprotected status. The Code Temporary Unprotection
command consists of the following write cycle:
MOVMEM, Rn; This instruction MUST be executed from Flash memory space
Where MEM is an absolute address inside memor y space, Rn is a register loaded with data 0FFFFh.
Code Temporary Protection ( C TP). This instruction allows to restore Code Protection. This operation is
effective only if executed from Flash memory and is necessar y to restore the protection status after the
use of a Code Temporary Unprotection instruction.
The Code Tem porary Protection command consist s of the following write cycle:
MOVMEM, Rn; This instruction MUST be executed from Flash memory space
Where MEM is an absolute address inside memor y space, Rn is a register loaded with data 0FFFBh.
Note that Code Temporary Unprotection instruc tion must be used when it is necessary to modify the
Flash with protected code (SCP), since the write/erase routines must be executed from a memory
external to Flash space. Usually, the write/erase routines, executed in RAM, ends w ith a retur n to Flash
space where a CTP instruction restore the protection.
27/186
ST10F280
Table 3 : Instructions
InstructionMne Cycle
Read/ResetRD1+
Read/Reset RD3+
Program WordPW4
Block EraseBE6
Chip EraseCE6
Erase SuspendES1
Erase ResumeER1
Set Block/Code
Protection
Read
Protection
Status
Block
Temporary
Unprotection
Code
Temporary
Unprotection
Code
Temporary
Protection
SP4
RP4
BTU4
CTU1
CTP1
st
1
Cycle
Addr.
1
X
2
DataxxF0h
1
Addr.
x1554hx2AA8hxxxxxh
DataxxA8hxx54hxxF0h
1
Addr.
x1554hx2AA8hx1554hWA
DataxxA8hxx54hxxA0hWD
1
Addr.
x1554hx2AA8hx1554hx1554hx2AA8hBABA’
nd
2
Cycle
3rd
Cycle
4th Cycle
5th
Cycle
6th
Cycle
Read Memory Array until a new write cycle is initiated
Read Memory Array until a new write
cycle is initiated
3
Read Data Polling or
Toggle Bit until Program
4
completes.
7th
Cycle
DataxxA8hxx54hxx80hxxA8hxx54hxx30hxx30h
1
Addr.
DataxxA8hxx54hxx80hxxA8hxx54hxx10h
Addr.
DataxxB0h
Addr.
Dataxx30h
Addr.
DataxxA8hxx54hxxC0hWPR
Addr.
DataxxA8hxx54hxx90hRead
x1554hx2AA8hx1554hx1554hx2AA8h x1554h
1
2
X
Read until Toggle stops, then read or program all data needed
from block(s) not being erased then Resume Erase.
1
2
X
Read Data Polling or Toggle bit until Erase completes or Erase
is supended another time.
1
x2A54hx15A8hx2A54hAny odd
word
word
9
7
Read Protection Register
9
until a new write cycle is
1
x2A54hx15A8hx2A54hAny odd
address
address
initiated.
Note
PR
Addr.
1
x2A54hx15A8hx2A54hX
2
DataxxA8hxx54hxxC1hxxF0h
1
Addr.
DataFFFFh
1
Addr.
DataFFFBh
MEM
MEM
8
Write cycles must be executed from Flash.
8
Write cycles must be executed from Flash.
5
6
Notes 1. Address bit A14, A15 and above are don’t care for coded add ress inputs.
2. X = Don’t Care.
3. WA = Write Address: addre ss of memory l ocation to be programmed.
4. WD = Write D ata: 16-bit data to be programmed
5. Optional , additi onal blocks addresses m ust be entered wi thin a ti m e-out delay (96 µs) after la st write entry, timeout st atus can be
verified th rough FSB.3 valu e. W hen full command is entered, read Dat a Poll i ng or Toggle bit unt i l Erase is compl et ed or suspended.
6. Read Data Polling or Tog gle bit until Erase completes.
7. WPR = W rite pro t ection regi ster. To protect code, bit 15 of WPR m ust be ‘0’. To protect blo ck N (N=0,1,.. .), bit N o f WPR must be
‘0’. Bit that are already at ‘0’ in protection register must also be ‘0’ in WPR, else a writing error will occurs (it is not possible to write a
‘1’ in a bit already programmed at ‘0’).
8. MEM = any add ress insid e the Fl ash m emor y s pace. Absolu te add ress ing m ode m ust be used (M OV MEM, Rn) , and ins tru cti on
must be executed from F l ash memory space.
9. Odd word address = 4n-2 w here n = 0, 1, 2, 3..., ex. 0002h, 0006h. ..
28/186
ST10F280
– Generally, command sequences cannot be
written to Flash by instructions fetched from the
Flash itself. Thus, the Flash commands must be
written by instructions, executed from internal
RAM or external memory.
– Command cycles on the CPU interface need not
to be consecutively recei ved (pauses allowed).
The CPU interface delivers dummy read data for
not used cycles within command sequences.
– All addresses of command cycles shall be
defined only with Register-indirect addressing
mode in the according move instructi o ns. Di re ct
addressing is not allowed for command
sequences. Address segment or data page
pointer are taken into account for the com mand
address value.
5.3.6 - Reset Processing and Initial State
The Flash module distinguishes two kinds of CPU
reset types
The lengthening of CPU reset:
– Is not reported to external devices by
bidirectional pin
– Is not enabled in case of external start of CPU
after reset.
5.4 - Flash Memory Configuration
The default memory configuration of the
ST10F280 Memor y is determined by the state of
the EA
pin at reset. This value is stored in the
Internal ROM Enable bit (named ROMEN) of the
SYSCON register.
When ROMEN = 0, the interna l Flash is disabled
and external ROM is used for startup control.
Flash memor y can la ter be enabled by setting the
ROMEN bit of SYSCON to 1. The code
performing this setting must not run from a
segment of the extern al ROM to be replaced by a
segment of the Flash memory, otherwise
unexpected behaviour may occur.
For example, if external ROM code is located in
the first 32K Bytes of segment 0, the first
32K Bytes of the Flash must then be enabled in
segment 1. This is done by setting the ROMS1 bit
of SYSCON to 0 before or simultaneously with
setting of ROMEN bit. This must be done in the
externally supplied program before the execution
of th e EINI T inst ruction.
If program execution starts from external memory,
but access to the Flash memory mapped in
segment 0 is later required, then the code that
performs the setting of ROMEN bit must be
executed either in the segment 0 but above
address 00’8000h, or from the internal RAM.
Bit ROMS1 only affects the mapping of the first
32K Bytes of t he Flash memor y. All other par t s of
the Flash memory (addresses 01’8000h
08’FFFFh) remain unaffected.
The SGTDIS Segmentation Disable / Enable must
also be set to 0 to allow the use of the full
512K Bytes of on-c hip memory i n addition to the
external boot memor y. The correct procedure on
changing the segmentation registers must also be
observed to prevent an unwanted trap condition:
– Instructions that configure the internal mem ory
must only be executed from external memory or
from the internal RAM.
– An Absolute Inter-Segment Jump (JMPS)
instruction must be executed after Flash
enabling, to the next instruction, even if this next
instruction is located in the consecutive address.
– Whenever the internal Memory is disabled,
enabled or remapped, the DPPs must be
explicitly (re)loaded to enable correct data
accesses to the internal memory and/or external
memory.
5.5 - Application Examples
5.5.1 - Handling of Flash Addresses
All command, Block, Data and register addresses
to the Flash have to be located w ithin the active
Flash memory space. The active space is that
address range to which the physical Flash
addresses are mapped as defined by the user.
When using data page pointer (DPP) for block
addresses make sure that address bit A15 and
A14 of the block address are reflected in both
LSBs of the selected DPPS.
Note: - For Command Instructions, address bit
A14, A15, A16, A17 and A18 are don’t
care. This simplify a lot the application
software, because it minimize the use of
DPP registers when using Command in
the Command Interface.
- Direct addressing is not allowed for
Command sequence operations to the
Flash. Only Register-indirect addressing
can be used for command, block or
write-data accesses.
29/186
ST10F280
5.5.2 - Basic Flash Access Control
When accessing the Flash all command write addresses have to be located within the active Flash
memory s pace. The active Flash memor y space is that logical address range which is covered by the
Flash after mapping. When using data page pointer (DPP) for addressing the Flash, make sure that
address bit A15 and A14 of the command addresses are reflected in both LSBs of the selected data page
pointer (A15 DPPx.1 and A14 DPPx.0).
In case of the command write addresses, address bit A14, A15 and above are don’t care. Thus, command
writes can be performed by only using one DPP register. This allow to have a more simple and com pact
application software.
Another advantageous possibility is to use the extended segment instruction for addressing.
Note: The direct addressing mode is not allowed for write access to the Flash address/command
register. Be aware that the C compiler may use this kind of addressing. For write accesses to
Flash module always the indirect addressing mode has to be selected.
The following basic instruction sequences show examples for different addressing possibilities.
Principle example of address generation for Flash commands and registers:
When using data page pointer (DPP0 is this example)
MOVDPP0,#08h;adjust data page pointers according to the
;addresses: DPP0 is used in this example, thus
;ADDRESS must have A14 and A15 bit set to ‘0’.
MOVRw
,#ADDRESS;ADDRESS could be a dedicated command sequence
m
;address 2AA8h, 1554h ... ) or the Flash write
;address
MOVRw
,#DATA;DATA could be a dedicated command sequence data
n
;(xxA0h,xx80h ... ) or data to be programmed
MOV[Rw
],Rw
m
n
;indirect addressing
When using the extended segment instruction:
MOVRw
,#ADDRESS;ADDRESS could be a dedicated command sequence
m
;address (2AA8h, 1554h ... ) or the Flash write
;address
MOVRw
,#DATA;DATA could be a dedicated command sequence data
o
;(xxA0h,xx80h ... ) or data to be programmed
MOVRw
,#SEGMENT ;the value of SEGMENT represents the segment
n
;number and could be 0, 1, 2, 3 or 4 (depending
;on sector mapping) for 256KByte Flash.
EXTSRw
,#LENGTH;the value of Rwn determines the 8-bit segment
n
;valid for the corresponding data access for any
;long or indirect address in the following(s)
;instruction(s). LENGTH defines the number of
;the effected instruction(s) and has to be a value
;between 1...4
MOV[Rw
30/186
],Rw
m
o
;indirect addressing with segment number from
;EXTS
Loading...
+ 156 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.