STM8S003/103/903 Errata sheet

STM8S003/103/903
Errata sheet
STM8S003xx, STM8S103xx and STM8S903xx
device limitations
Silicon identification
This errata sheet applies to the STMicroelectronics STM8S003xx, STM8S103xx and
STM8S903xx devices.
The full list of root part numbers is given in Table 2.
The products can be identified as shown in Table 1:
•
By the revision code marked on the device package
•
By the last three digits of the Internal sales type printed on the box label
Table 1. Device identification
Revision code marked on the device(1)
Sales type
STM8S003xxxx
Y/6
STM8S103xxxx
Z and Y/6
STM8S903xxxx
Z and Y/6
1. Refer to Appendix A: Revision code on device marking for details on how to identify the revision code
according to the packages.
Table 2. Device summary
Part number
December 2013
Part number
STM8S003xx
STM8S003K3, STM8S003F3
STM8S103xx
STM8S103K3, STM8S103F3, STM8S103F2
STM8S903xx
STM8S903K3, STM8S903F3
DocID17140 Rev 4
1/17
www.st.com
Contents
STM8S003/103/903
Contents
1
Product evolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2
Silicon limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1
2.2
2.3
Core limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1
Activation level (AL bit) not functional in Halt mode . . . . . . . . . . . . . . . . . 4
2.1.2
JRIL and JRIH instructions not available . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.3
Interrupt service routine (ISR) executed with priority of
main process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.4
Unexpected DIV/DIVW instruction result in ISR . . . . . . . . . . . . . . . . . . . 5
System limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1
HSI RC oscillator cannot be switched off in Run mode . . . . . . . . . . . . . . 6
2.2.2
LSI oscillator remains on in Active-halt mode when the AWU unit uses
the HSE as input clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.3
Flash / EEPROM memory is read incorrectly after wakeup from power
down mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
EXTI limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.1
2.4
Timer peripheral limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4.1
2.5
Corruption of read sequence for the 16-bit counter registers . . . . . . . . . 8
UART peripheral limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5.1
2.6
Possible collision in servicing of external interrupts (EXTI) . . . . . . . . . . . 7
UART PE flag cannot be cleared during the reception of
the first half of Stop bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
I2C peripheral limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.6.1
I2C event management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.6.2
Corrupted last received data in I2C Master Receiver mode . . . . . . . . . 10
2.6.3
Wrong behavior of I2C peripheral in Master mode after
misplaced STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.6.4
Violation of I2C “setup time for repeated START condition” parameter . 11
2.6.5
In I2C slave “NOSTRETCH” mode, underrun errors may not be detected
and may generate bus errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.6.6
I2C pulse missed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Appendix A Revision code on device marking . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2/17
DocID17140 Rev 4
STM8S003/103/903
1
Product evolution
Product evolution
Table 3 gives a summary of the fix status.
Legend for Table 3: A = workaround available; N = no workaround available; P = partial
workaround available, ‘-’ and grayed = fixed.
Table 3. Product evolution summary
Section
Limitation
Rev Z
Rev Y/6
N
N
N
N
A
A
Section 2.1.4: Unexpected DIV/DIVW
instruction result in ISR
A
A
Section 2.2.1: HSI RC oscillator cannot be
switched off in Run mode
N
N
N
N
Section 2.2.3: Flash / EEPROM memory is
read incorrectly after wakeup from power down
mode
A
A
Section 2.3: EXTI Section 2.3.1: Possible collision in servicing of
limitations
external interrupts (EXTI)
N
N
Section 2.4:
Timer peripheral
limitations
Section 2.4.1: Corruption of read sequence for
the 16-bit counter registers
A
A
Section 2.5:
Section 2.5.1: UART PE flag cannot be cleared
UART peripheral
during the reception of the first half of Stop bit
limitations
A
A
Section 2.6.1: I2C event management
A
A
Section 2.6.2: Corrupted last received data in
I2C Master Receiver mode
A
A
Section 2.6.3: Wrong behavior of I2C peripheral
in Master mode after misplaced STOP
A
A
Section 2.6.4: Violation of I2C “setup time for
repeated START condition” parameter
A
A
Section 2.6.5: In I2C slave “NOSTRETCH”
mode, underrun errors may not be detected
and may generate bus errors
A
A
Section 2.6.6: I2C pulse missed
A
-
Section 2.1.1: Activation level (AL bit) not
functional in Halt mode
Section 2.1.2: JRIL and JRIH instructions not
Section 2.1: Core available
limitations
Section 2.1.3: Interrupt service routine (ISR)
executed with priority of main process
Section 2.2.2: LSI oscillator remains on in
Active-halt mode when the AWU unit uses the
Section 2.2:
System limitations HSE as input clock
Section 2.6: I2C
peripheral
limitations
DocID17140 Rev 4
3/17
17
Silicon limitations
STM8S003/103/903
2
Silicon limitations
2.1
Core limitations
2.1.1
Activation level (AL bit) not functional in Halt mode
Description
The AL bit is not supported in Halt mode. In particular, when the AL bit of the CFG_GCR
register is set, the CPU does not return to Halt mode after exiting an interrupt service routine
(ISR). It returns to the main program and executes the next instruction after the HALT
instruction. The AL bit is supported correctly in WFI mode.
Workaround
No workaround available.
No fix is planned for this limitation.
2.1.2
JRIL and JRIH instructions not available
Description
The JRIL (jump if port INT pin = 0) and JRIH (jump if port INT pin = 1) instructions are not
supported by the devices covered by this errata sheet. These instructions perform
conditional jumps: JRIL and JRIH jump if one of the external interrupt lines is low or high
respectively.
In the devices covered by this errata sheet, JRIL is equivalent to an unconditional jump and
JRIH is equivalent to NOP. For further details on these instructions, see the STM8 CPU
programming manual (PM0044).
Workaround
No workaround available.
No fix is planned for this limitation.
2.1.3
Interrupt service routine (ISR) executed with priority of main process
Description
If an interrupt is cleared or masked when the context saving has already started, the
corresponding ISR is executed with the priority of the main process. The next interrupt
request can interrupt execution of the service routine
Workaround
At the beginning of the interrupt routine, change the current priority level in the CCR register
by software.
4/17
DocID17140 Rev 4
STM8S003/103/903
2.1.4
Silicon limitations
Unexpected DIV/DIVW instruction result in ISR
Description
In very specific conditions, a DIV/DIVW instruction may return a false result when executed
inside an interrupt service routine (ISR). This error occurs when the DIV/DIVW instruction is
interrupted and a second interrupt is generated during the execution of the IRET instruction
of the first ISR. Under these conditions, the DIV/DIVW instruction executed inside the
second ISR, including function calls, may return an unexpected result.
The applications that do not use the DIV/DIVW instruction within ISRs are not impacted.
Workaround 1
If an ISR or a function called by this routine contains a division operation, the following
assembly code should be added inside the ISR before the DIV/DIVW instruction:
push cc
pop a
and a,#$BF
push a
pop cc
This sequence should be placed by C compilers at the beginning of the ISR using
DIV/DIVW. Refer to your compiler documentation for details on the implementation and
control of automatic or manual code insertion.
Workaround 2
To optimize the number of cycles added by workaround 1, you can use this workaround
instead. Workaround 2 can be used in applications with fixed interrupt priorities, identified at
the program compilation phase:
push #value
pop cc
where bits 5 and 3 of #value have to be configured according to interrupt priority given by I1
and I0, and bit 6 kept cleared.
In this case, compiler workaround 1 has to be disabled by using compiler directives.
No fix is planned for this limitation.
DocID17140 Rev 4
5/17
17
Silicon limitations
STM8S003/103/903
2.2
System limitations
2.2.1
HSI RC oscillator cannot be switched off in Run mode
Description
The internal 16 MHz HSI RC oscillator cannot be switched off in Run mode even if the
HSIEN bit is programmed to 0.
Workaround
No workaround available.
No fix is planned for this limitation.
2.2.2
LSI oscillator remains on in Active-halt mode when the AWU unit uses
the HSE as input clock
Description
When the auto wake-up unit (AWU) uses the high speed external clock (HSE) divided by the
prescaler (clock source enabled by setting the CKAWUSEL option bit), the LSI RC oscillator
is not switched off when the device operates in Active Halt mode with the main voltage
regulator (MVR) on. This causes negligible extra power consumption compared to the total
consumption of the MCU in Active Halt mode with the MVR on.
Workaround
No workaround available.
No fix is planned for this limitation.
2.2.3
Flash / EEPROM memory is read incorrectly after wakeup from power
down mode
Description
If Flash/EEPROM memory has been put in power down mode (IDDQ), the first read access
after wakeup could return incorrect content when fCPU is greater than 250 kHz + 5%.
By default, the Flash/EEPROM memory is put in IDDQ mode when the MCU enters Halt
mode and depending on the FLASH_CR1 register settings made by software, the
Flash/EEPROM may be forced to IDDQ mode during active halt mode.
As a consequence, the following behavior may be seen on some devices:
•
After wakeup from Low power mode, with Flash memory in IDDQ mode, program
execution gets lost due to an incorrect read of the vector table.
•
Code reads an incorrect value from Flash/EEPROM memory, when forced in IDDQ
mode.
•
Reset could be forced by an illegal opcode execution due to incorrect read of
instruction.
Note:
6/17
The use of the watchdog helps the application to recover in case of failure.
DocID17140 Rev 4
STM8S003/103/903
Silicon limitations
Workaround 1
Keep the Flash/EEPROM in operating mode when MCU is put in Halt mode or Active-halt
mode. This is done by configuring both the HALT and AHALT bits in the FLASH_CR1
register before executing a HALT instruction to prevent the Flash/EEPROM entering IDDQ
mode.
Set HALT (bit 3) to ‘1’:
0: Flash in power-down mode when MCU is in Halt mode
1: Flash in operating mode when MCU is in Halt mode
Keep AHALT (bit 2) at ‘0’:
0: Flash in operating mode when MCU is in Active-halt mode
1: Flash in power-down when MCU is in Active-halt mode
Please refer to the datasheet for details on the impact on current consumption and wakeup
time.
Workaround 2
Reduce fCPU frequency to 250 kHz or lower before entering Low power mode to ensure
correct Flash memory wakeup. This may be done using the clock divider (CPUDIV[2:0] bits
in the CLK_CKDIVR register). The clock divider can be reconfigured back to its previous
state by software after wakeup.
This is illustrated by the following code example, assuming no divider is used in the
application by default.
CLK_CKDIVR = 0x06;
_asm("HALT");
CLK_CKDIVR = 0x00;
The interrupt service routine executed after wakeup could either stay at the slower clock
speed, or reconfigure the clock setting. Care has to be taken to restore the previous clock
divider setting at the end of interrupt routines when modifying the clock divider.
2.3
EXTI limitations
2.3.1
Possible collision in servicing of external interrupts (EXTI)
Description
When an interrupt handler starts executing a service routine and an external interrupt (EXTI)
request is pending or arrives during the same cycle, the external interrupt is not executed.
In addition, in nested interrupt mode, when the EXTI arrives between the 1st and the 2nd
cycles before an interrupt handler with lower software priority starts executing its service
routine, this EXTI interrupt tries to nest it. However, the EXTI request is cleared before
fetching the interrupt vector and the previous handler is fetched instead. As a result the
previous handler is executed twice and the EXTI service routine is not executed.
The limitation described above is valid for interrupts with address differing by 16, as shown
in Table 4.
DocID17140 Rev 4
7/17
17
Silicon limitations
STM8S003/103/903
Table 4. Potential interrupt conflicts
EXTI source
Conflicting vector
EXTI0 – Port A
I2C interrupt
EXTI1 – Port B
No conflict – reserved vector
EXTI2 – Port C
No conflict – reserved vector
EXTI3 – Port D
ADC interrupt
EXTI 4 – Port E
TIM4 interrupt
Workaround
No software workaround is available. It is recommended to choose the EXTI source to avoid
conflicts.
No fix is planned for this limitation.
2.4
Timer peripheral limitations
2.4.1
Corruption of read sequence for the 16-bit counter registers
Description
An 8-bit buffer is implemented for reading the 16-bit counter registers. Software must read
the MS byte first, after which the LS byte value is buffered automatically (see Figure 1). This
buffered value remains unchanged until the 16-bit read sequence is completed.
When any multi-cycle instruction precedes the read of the LSB, the content of the buffer is
lost and the second read returns the immediate content of the counter directly.
Figure 1. 16-bit read sequence for the counter (TIMx_CNTR)
Workaround
Do not use multi-cycle instructions before reading the LSB.
No fix is planned for this limitation.
8/17
DocID17140 Rev 4
STM8S003/103/903
Silicon limitations
2.5
UART peripheral limitations
2.5.1
UART PE flag cannot be cleared during the reception of
the first half of Stop bit
Description
The PE flag is set by hardware when the UART is in reception mode and a parity error (PE)
occurs. This flag cannot be cleared during the first half of the Stop bit period. If the software
attempts to clear the PE flag at this moment, the flag is set again by hardware, thus
generating an unwanted interrupt (assuming the PIEN bit has been set in the UART_CR1
register.
Workaround
1.
2.
Disable PE interrupts by setting PIEN to 0.
After the RXNE bit is set (received data ready to be read), poll the PE flag to check if it
a parity error occurred. For example, this could be done in the RXNE interrupt service
routine.
2.6
I2C peripheral limitations
2.6.1
I2C event management
Description
As described in the I2C section of the STM8S and STM8A microcontroller reference manual
(RM0016), the application firmware has to manage several software events before the
current byte is transferred. If the EV7, EV7_1, EV6_1, EV6_3, EV2, EV8, and EV3 events
are not managed before the current byte is transferred, problems may occur such as
receiving an extra byte, reading the same data twice, or missing data.
Workaround
When the EV7, EV7_1, EV6_1, EV6_3, EV2, EV8, and EV3 events cannot be managed
before the current byte transfer, and before the acknowledge pulse when the ACK control bit
changes, it is recommended to use I2C interrupts in nested mode and to make them
uninterruptible by increasing their priority to the highest priority in the application.
No fix is planned for this limitation.
DocID17140 Rev 4
9/17
17
Silicon limitations
2.6.2
STM8S003/103/903
Corrupted last received data in I2C Master Receiver mode
Conditions
In Master Receiver mode, when the communication is closed using method 2, the content of
the last read data may be corrupted. The following two sequences are concerned by the
limitation:
•
Sequence 1: transfer sequence for master receiver when N = 2
a) BTF = 1 (Data N-1 in DR and Data N in shift register)
b) Program STOP = 1
c) Read DR twice (Read Data N-1 and Data N) just after programming the STOP bit.
•
Sequence 2: transfer sequence for master receiver when N > 2
a) BTF = 1 (Data N-2 in DR and Data N-1 in shift register)
b) Program ACK = 0
c) Read Data N-2 in DR
d) Program STOP bit to 1
e) Read Data N-1.
Description
The content of the shift register (data N) is corrupted (data N is shifted 1 bit to the left) if the
user software is not able to read data N-1 before the STOP condition is generated on the
bus. In this case, reading data N returns a wrong value.
Workarounds
•
•
10/17
Workaround 1
–
Sequence 1
When sequence 1 is used to close communication using method 2, mask all active
interrupts between STOP bit programming and Read data N-1.
–
Sequence 2
When sequence 2 is used to close communication using method 2, mask all active
interrupts between Read data N-2, STOP bit programming and Read data N-1.
Workaround 2
Manage I2C RxNE and TxE events with interrupts of the highest priority level, so that
the condition BTF = 1 never occurs.
DocID17140 Rev 4
STM8S003/103/903
2.6.3
Silicon limitations
Wrong behavior of I2C peripheral in Master mode after
misplaced STOP
Description
The I2C peripheral does not enter Master mode properly if a misplaced STOP is generated
on the bus. This can happen in the following conditions:
•
If a void message is received (START condition immediately followed by a STOP): the
BERR (bus error) flag is not set, and the I2C peripheral is not able to send a START
condition on the bus after writing to the START bit in the I2C_CR2 register.
•
In the other cases of a misplaced STOP, the BERR flag is set in the IC2_CR2 register.
If the START bit is already set in I2C_CR2, the START condition is not correctly
generated on the bus and can create bus errors.
Workaround
In the I2C standard, it is not allowed to send a STOP before the full byte is transmitted (8 bits
+ acknowledge). Other derived protocols like CBUS allow it, but they are not supported by
the I²C peripheral.
In case of noisy environment in which unwanted bus errors can occur, it is recommended to
implement a timeout to ensure that the SB (start bit) flag is set after the START control bit is
set. In case the timeout has elapsed, the peripheral must be reset by setting the SWRST bit
in the I2C_CR2 control register. The I2C peripheral should be reset in the same way if a
BERR is detected while the START bit is set in I2C_CR2.
No fix is planned for this limitation.
2.6.4
Violation of I2C “setup time for repeated START condition” parameter
Description
In case of a repeated Start, the “setup time for repeated START condition” parameter
(named tSU(STA) in the datasheet and Tsu:sta in the I2C specifications) may be slightly
violated when the I2C operates in Master Standard mode at a frequency ranging from 88 to
100 kHz. tSU(STA) minimum value may be 4 μs instead of 4.7 μs.
The issue occurs under the following conditions:
1. The I2C peripheral operates in Master Standard mode at a frequency ranging from 88
to 100 kHz (no issue in Fast mode)
2. and the SCL rise time meets one of the following conditions:
–
The slave does not stretch the clock and the SCL rise time is more than 300 ns
(the issue cannot occur when the SCL rise time is less than 300 ns), or
–
the slave stretches the clock.
Workaround
Reduce the frequency down to 88 kHz or use the I2C Fast mode if it is supported by the
slave.
DocID17140 Rev 4
11/17
17
Silicon limitations
2.6.5
STM8S003/103/903
In I2C slave “NOSTRETCH” mode, underrun errors may not be detected
and may generate bus errors
Description
The data valid time (tVD;DAT, tVD;ACK) described by the I2C specifications may be violated as
well as the maximum current data hold time (tHD;DAT) under the conditions described below.
In addition, if the data register is written too late and close to the SCL rising edge, an error
may be generated on the bus: SDA toggles while SCL is high. These violations cannot be
detected because the OVR flag is not set (no transmit buffer underrun is detected).
This issue occurs under the following conditions:
1. The I2C peripheral operates In Slave transmit mode with clock stretching disabled
(NOSTRETCH=1)
2. and the application is late to write the DR data register, but not late enough to set the
OVR flag (the data register is written before the SCL rising edge).
Workaround
If the master device supports it, use the clock stretching mechanism by programming the bit
NOSTRETCH=0 in the I2C_CR1 register.
If the master device does not support it, ensure that the write operation to the data register
is performed just after TXE or ADDR events. You can use an interrupt on the TXE or ADDR
flag and boost its priority to the higher level.
Using the “NOSTRETCH” mode with a slow I2C bus speed can prevent the application from
being late to write the DR register (second condition).
Note:
The first data to be transmitted must be written into the data register after the ADDR flag is
cleared, and before the next SCL rising edge, so that the time window to write the first data
into the data register is less than tLOW.
If this is not possible, a possible workaround can be the following:
1. Clear the ADDR flag
2. Wait for the OVR flag to be set
3. Clear OVR and write the first data.
The time window for writing the next data is then the time to transfer one byte. In that case,
the master must discard the first received data.
12/17
DocID17140 Rev 4
STM8S003/103/903
2.6.6
Silicon limitations
I2C pulse missed
Description
When the I2C interface is used for long transmit/receive transactions, the MCU may return a
NACK somewhere during the transaction instead of returning an ACK for all data. The
received data may also be corrupted. In Master mode the I2C may not detect an incoming
ACK. This is due to a weakness in the noise filter of the I/O pad which in certain conditions
may cause the STM8 I2C to miss a pulse.
The workaround described below is not a clean solution.
Workaround
Since data corruption is caused by noise generated by the CPU, CPU activity should be
minimized during data reception and/or transmission. This is done by performing physical
data transmission (Master mode) and reception (slave mode) in WFI state (wait for
interrupt).
To allow the device to be woken up from WFI, I2C transmission and reception routines must
be implemented through interrupt routines instead of polling mechanisms. Receive and
transmit interrupts (received data processing) must be triggered only by the BTF bit flag
(byte transfer finished) in the I2C_SR1 register. This flag indicates that the I2C is in
stretched state (data transfers are stretched on the bus).
Clock stretching must be enabled to allow data transfers from the slave to be stopped and to
allow the CPU to be woken up to read the received byte.
To recover from possible errors, periodically check if the I2C does not remain in busy state
for too long (BUSY bit set in I2C_SR3 register). If so, it should be reinitialized.
Example of I2C slave code:
//...
//----------------------------------------------------------------void main()
{
Init_I2C(); // init I2C to use interrupts: ITBUFEN=0, ITEVTEN=1,
ITERREN=1
while(1)
DocID17140 Rev 4
13/17
17
Revision code on device marking
Appendix A
STM8S003/103/903
Revision code on device marking
The revision code is marked on the package, except for revision Z which is not present on
TSSOP20.
Figure 2 and Figure 3 show the position of the revision code marking for the TSSOP20 and
LQFP32 packages respectively.
Figure 2. TSSOP20 top package view
6706[
5HYLVLRQFRGH
06Y9
Figure 3. LQFP32 top package view
6706[
5HYLVLRQFRGH
14/17
DocID17140 Rev 4
06Y9
STM8S003/103/903
Revision code on device marking
Figure 4. UFQFPN32 top package view
0!#+!'%4/03)$%
,%'%.$
5NMARKABLESURFACE
-ARKINGCOMPOSITIONFIELD
!DDITIONALINFORMATION
INCLUDINGTHEREVISIONCODE
-36
Figure 5. SDIP32 top package view
0!#+!'%4/03)$%
,%'%.$
5NMARKABLESURFACE
B
-ARKINGCOMPOSITIONFIELD
!DDITIONALINFORMATION
INCLUDINGTHEREVISIONCODE
-36
DocID17140 Rev 4
15/17
17
Revision history
STM8S003/103/903
Revision history
Table 5. Document revision history
Date
Revision
01-Apr-2010
1
Initial release.
2
Added revision 6.
Added Section 2.1.4: Unexpected DIV/DIVW instruction result in
ISR.
Updated Table 3 and Section 2.6: I2C peripheral limitations.
3
Added references to device STM8S003 throughout the document.
Updated Section 2.1.1: Activation level (AL bit) not functional in Halt
mode.
Renamed Section 2.2.
4
Added workaround to Section 2.1.3: Interrupt service routine (ISR)
executed with priority of main process
Added Section 2.2.3: Flash / EEPROM memory is read incorrectly
after wakeup from power down mode
Added Section 2.3.1: Possible collision in servicing of external
interrupts (EXTI)
Added Section 2.4.1: Corruption of read sequence for the 16-bit
counter registers
21-Feb-2011
16-May-2012
06-Dec-2013
16/17
Changes
DocID17140 Rev 4
STM8S003/103/903
Please Read Carefully:
Information in this document is provided solely in connection with ST products. STMicroelectronics NV and its subsidiaries (“ST”) reserve the
right to make changes, corrections, modifications or improvements, to this document, and the products and services described herein at any
time, without notice.
All ST products are sold pursuant to ST’s terms and conditions of sale.
Purchasers are solely responsible for the choice, selection and use of the ST products and services described herein, and ST assumes no
liability whatsoever relating to the choice, selection or use of the ST products and services described herein.
No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted under this document. If any part of this
document refers to any third party products or services it shall not be deemed a license grant by ST for the use of such third party products
or services, or any intellectual property contained therein or considered as a warranty covering the use in any manner whatsoever of such
third party products or services or any intellectual property contained therein.
UNLESS OTHERWISE SET FORTH IN ST’S TERMS AND CONDITIONS OF SALE ST DISCLAIMS ANY EXPRESS OR IMPLIED
WARRANTY WITH RESPECT TO THE USE AND/OR SALE OF ST PRODUCTS INCLUDING WITHOUT LIMITATION IMPLIED
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (AND THEIR EQUIVALENTS UNDER THE LAWS
OF ANY JURISDICTION), OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
ST PRODUCTS ARE NOT DESIGNED OR AUTHORIZED FOR USE IN: (A) SAFETY CRITICAL APPLICATIONS SUCH AS LIFE
SUPPORTING, ACTIVE IMPLANTED DEVICES OR SYSTEMS WITH PRODUCT FUNCTIONAL SAFETY REQUIREMENTS; (B)
AERONAUTIC APPLICATIONS; (C) AUTOMOTIVE APPLICATIONS OR ENVIRONMENTS, AND/OR (D) AEROSPACE APPLICATIONS
OR ENVIRONMENTS. WHERE ST PRODUCTS ARE NOT DESIGNED FOR SUCH USE, THE PURCHASER SHALL USE PRODUCTS AT
PURCHASER’S SOLE RISK, EVEN IF ST HAS BEEN INFORMED IN WRITING OF SUCH USAGE, UNLESS A PRODUCT IS
EXPRESSLY DESIGNATED BY ST AS BEING INTENDED FOR “AUTOMOTIVE, AUTOMOTIVE SAFETY OR MEDICAL” INDUSTRY
DOMAINS ACCORDING TO ST PRODUCT DESIGN SPECIFICATIONS. PRODUCTS FORMALLY ESCC, QML OR JAN QUALIFIED ARE
DEEMED SUITABLE FOR USE IN AEROSPACE BY THE CORRESPONDING GOVERNMENTAL AGENCY.
Resale of ST products with provisions different from the statements and/or technical features set forth in this document shall immediately void
any warranty granted by ST for the ST product or service described herein and shall not create or extend in any manner whatsoever, any
liability of ST.
ST and the ST logo are trademarks or registered trademarks of ST in various countries.
Information in this document supersedes and replaces all information previously supplied.
The ST logo is a registered trademark of STMicroelectronics. All other names are the property of their respective owners.
© 2013 STMicroelectronics - All rights reserved
STMicroelectronics group of companies
Australia - Belgium - Brazil - Canada - China - Czech Republic - Finland - France - Germany - Hong Kong - India - Israel - Italy - Japan Malaysia - Malta - Morocco - Philippines - Singapore - Spain - Sweden - Switzerland - United Kingdom - United States of America
www.st.com
DocID17140 Rev 4
17/17
17