This application note complements the information in the STM8L and STM8AL datasheets
by describing the minimum hardware and software environment required to build an
application around an STM8L or STM8AL 8-bit microcontroller device.
A brief description of the principal hardware components is given. The power supply,
analog-to-digital converter (ADC), clock management, and reset control are described in
some detail. In addition, some hardware recommendations are given. This application note
also contains detailed reference design schematics with descriptions of the main
components. The STM8 development tools and software toolchain are common to STM8L,
STM8S, STM8AL, and STM8AF and are presented in
describes how to set up the STM8 development environment. Finally, Section 11 provides a
list of relevant documentation and online support resources.
Table 1. Applicable products
Section 8, and Section 9. Section 10
Product familyPart numbers
– STM8L051/52
– STM8L101
– STM8L151C2/K2/G2/F2 and STM8L151C3/K3/G3/F3
To build an application around an STM8L or STM8AL device, the application board should
provide the following features:
•Power supply (mandatory)
•Clock management (optional)
•Reset management (optional)
•Debugging tool support: Single wire interface module (SWIM) connector (optional)
2 Power supply
2.1 Power supply overview
The STM8L or STM8AL can be supplied through a 1.65 V to 3.6 V external source (1.8 V to
3.6
V for STM8L05xxx). For medium density STM8L15xxx, medium density
STM8AL31xx/STM8AL3Lxx, and high density STM8L15xxx/STM8L162xx with BOR, the
power supply must be above 1.8 V at power-on and can go down to 1.65 V at power-down.
An on-chip power management system provides the constant digital supply to the core logic,
both in normal and low power modes. This guarantees that the logic consumes a constant
current over the voltage range. It is also capable of detecting voltage drops and generate
reset to avoid heratic behavior.
The STM8L and STM8AL devices provide:
•Depending on packages, one pair of pads (VDD/VSS), or several pairs of pads
(V
DDx/VSSx
All V
connected to V
for each V
) from 1.65 V or 1.8 V to 3.6 V.
DDx
and V
DDx
must be at the same potential respectively. The V
SSx
with external decoupling capacitors: one 100 nF Ceramic capacitor
DD
pin and one single 1 µF Tantalum or Ceramic capacitor.
pins must be
DDx
The STM8L15xxx, STM8AL31xx, and STM8L162xx devices also provide in some
packages:
•One pair of pads, V
DDA/VSSA
at the same potential respectively as V
converter (ADC) for more details. The V
, dedicated to analog functions. V
and VSS. Refer to Section 3: Analog-to-digital
DD
pin must be connected to two external
DDA
DDA
and V
must be
SSA
decoupling capacitors (one 100 nF Ceramic capacitor and one single 1 µF Tantalum or
Ceramic capacitor). Additional precautions can be taken to filter analog noise: V
can be connected to V
through a ferrite bead.
DD
DDA
STM8L152xx, STM8AL3Lxx and STM8L162xx devices manage the supply voltage needed
by the LCD in three different ways (see
Figure 1):
1.If the LCD feature is not used, connect the VLCD pin to VDD.
2. Apply to VLCD the voltage to be applied to the LCD.
3. Leave the STM8L152xx/STM8L162xx/STM8AL3Lxx to provide the correct voltage, via
its programmable LCD booster, by connecting the VLCD pin to a 1µF capacitor.
6/42DocID16139 Rev 5
Page 7
AN3029Power supply
MS30982V1
V
LCD
STM8L/STM8AL
N × 100 nF
V
DD
+ 1 × 10 μF
100 nF + 1 μF
100 nF + 1 μF
(note 1)
V
LCD
V
REF+
V
DDA
V
SSA
V
DD 1/2/... /N
V
SS 1/2/... /N
V
REF
V
DD
1 μF
(optional)
(note 2)
(note 2)
Figure 1. Power supply
1. Optional: if a separate, external reference voltage is connected on V
µF) must be connected. V
2. N is the number of V
DD
is either connected to V
REF+
and VSS inputs.
DDA
or V
REF.
, the two capacitors (100 nF and 1
REF+
Note:The capacitors must be connected as close as possible to the device supplies.
Placing a crystal/resonator on OSCIN/OSCOUT is optional. The resonator must be
connected as close as possible to the OSCIN and OSCOUT pins. The loading capacitance
ground must be connected as close as possible to V
SS
.
2.2 Main operating voltages
STM8L and STM8AL devices are processed in 0.13 µm technology. The STM8L and
STM8AL core and I/O peripherals need different power supplies. In fact, STM8L and
STM8AL devices have an internal regulator with a nominal target output of 1.8 V.
DocID16139 Rev 57/42
41
Page 8
Power supplyAN3029
MS32523V1
Via to V
SS
Via to V
DD
Cap.
VDDV
SS
STM8
2.3 Power-on/power-down reset (POR/PDR)
The input supply to the main and low power regulators is monitored by a power-on/powerdown reset circuit. The monitoring voltage begins at 0.7 V.
During power-on, the POR/PDR keeps the device under reset until the supply voltages (VDD
and V
respected, as the internal reset provided for supply stabilization is maintained for ~1
At power-on, a defined reset should be maintained below 0.7 V. The upper threshold for a
reset release is defined in the electrical characteristics section of the product datasheets.
A hysteresis is implemented (POR > PDR) to ensure clean detection of voltage rise and fall.
) reach their specified working area. Maximum power on time t
DDA
VDD[max]
must be
ms.
The POR/PDR also generates a reset when the supply voltage drops below the V
PDR
threshold (isolated and repetitive events).
Correct device reset during power-on sequence is guaranteed when t
VDD[max]
is respected.
It is recommended to use an internal BOR or an external reset circuit (especially for
STM8L101xx devices) to ensure correct device reset during power-down when V
< V
DD[min]
.
PDR
< VDD
For better power monitoring, the STM8L15xxx, STM8L162xx, STM8AL31xx, and
STM8AL3Lxx provide a brown out reset (BOR) and programmable power voltage detection
(PVD) for an earlier detection of voltage drop.
Recommendations
All pins need to be properly connected to the power supplies. These connections, including
pads, tracks and vias should have the lowest possible impedance. This is typically achieved
with thick track widths and preferably dedicated power supply planes in multi-layer printed
circuit boards (PCBs).
In addition, each power supply pair should be decoupled with filtering ceramic capacitors (C)
at 100 nF with one chemical C (1..2 µF) in parallel on the STM8L/STM8AL devices. The
ceramic capacitors should be placed as close as possible to the appropriate pins, or below
the appropriate pins, on the opposite side of the PCB. Typical values are 10 nF to 100 nF,
but exact values depend on the application needs.
a VDD/VSS pair.
Figure 2. Typical layout of VDD/VSS pair
Figure 2 shows the typical layout of such
8/42DocID16139 Rev 5
Page 9
AN3029Analog-to-digital converter (ADC)
MS32530V1
Sample and hold
ADC converter
12-bit
converter
RADC
CADC
VT
0.6 V
VT
0.6 V
VDD
AINx
RAIN
Cparasitic
IL
VAIN
3 Analog-to-digital converter (ADC)
This section does not apply to STM8L101xx devices.
3.1 Analog power
For some packages, the ADC unit has an independent, analog supply voltage, isolated on
input pin V
voltage, V
noise, a ferrite bead can be added between V
chosen according to the frequencies to be filtered.
Some packages also provide a separate external analog reference voltage input for the
ADC unit on the V
•The V
external reference voltage is applied on V
connected on this pin. To compensate for peak consumption on V
capacitor may be increased to 10 µF when the sampling speed is low. In all cases,
V
REF+
equal to V
internal V
•V
REF-
internally bonded to V
, which allows the ADC to accept a very clean voltage source. This analog
DDA
, should be identical to the digital voltage supply on pin VDD. To filter some
DDA
pin. This gives better accuracy on low voltage input as follows:
REF+
pin can be connected to the V
REF+
must be kept between 2.4 V and V
. This input is internally bonded to V
DDA
pin.
REF+
and V
DD
external power supply. If a separate,
DDA
, a 100 nF and a 1 µF capacitor must be
REF+
. If V
DDA
. This ferrite bead should be
DDA
, the 1 µF
REF
is below 2.4, V
DDA
in the devices that have no
DDA
REF+
must be
(input, analog reference negative): The lower/negative reference voltage is
.
SSA
3.2 Analog input
The devices include up to 28 analog input channels (including four fast channels), each
multiplexed with an I/O, which are converted by the ADC one at a time.
The external input impedance (R
at maximum speed (1 MHz) if
Please refer to Figure 3.
Please refer to the applicable datasheets and reference manuals for more details.
) max value is 50 kΩ. The four fast channels can convert
AIN
R
is less than 0.5 kΩ.
AIN
Figure 3. Analog input interface
DocID16139 Rev 59/42
41
Page 10
Clock managementAN3029
4 Clock management
The STM8L101xx devices have no external clock, so no precautionary measures are
needed.
4.1 Clock management overview
STM8L05xxx, STM8L15xxx, STM8L162xx, STM8AL31xx and STM8AL3Lxx devices offer a
flexible way of selecting the core and peripheral clocks (ADC, memory, and digital
peripherals). The devices have internal and external clock source inputs, both of which have
a high speed and a low speed version. Any of those four clocks can be use for the CPU and
most of the peripherals through a programmable prescaler. An I/O can be programmed as
output clock (CCO) to reflect one of the four clocks (with or without prescaling).
The signal which leaves the I/O represents an output clock (CCO) divided by a division
factor.
4.2 Internal clocks
STM8L and STM8AL devices have two kinds of internal clock: A high speed internal clock
(HSI) running at 16 MHz and a low speed internal clock (LSI) running at 38 kHz.
After reset, the CPU starts with the internal RC (HSI clock signal) divided by 8, i.e. 2 MHz.
4.3 External clock
STM8L05xx, STM8L15xxx, STM8L162xx, STM8AL31xx, and STM8AL3Lxx devices have
two kinds of external clock: A high speed external clock (HSE) running at up to 16 MHz and
a low speed external clock (LSE) running at 32.768 kHz.
4.3.1 HSE clock
STM8L05xx, STM8L15xxx, STM8L162xx, STM8AL31xx, and STM8AL3Lxx devices can
connect to an external crystal or an external oscillator.
Note:When no external clock is used, OSCIN and OSCOUT can be used as general purpose
I/Os.
Figure 4 describes the external clock connections.
External clock
•Frequency: 0 kHz … 16 MHz
•Input hysteresis: 100 mV
Caution:Without prescaler, a duty cycle of 45/55 % maximum must be respected at high speed
10/42DocID16139 Rev 5
Page 11
AN3029Clock management
MS32524V1
OSC
IN
OSC
OUT
External source
STM8
(I/O available)
MS32529V1
Load capacitors
STM8
C
L2
C
L1
Q1
OSC
IN
OSC
OUT
R
EXT
(1)
Crystal/ceramic resonator
•Frequency range: 1 to 16 MHz
•Stabilization time: Programmable from 1 to 4096 cycles
•Oscillation mode: Preferred fundamental
•Output duty cycle: Max 55/45%
•I/Os: Standard I/O pins multiplexed with OSC
•Cload: 10 to 20 pF
•Drive level maximum: at least 100 µW
External clockCrystal/ceramic resonators
Figure 4. HSE clock sources
Hardware configuration
and OSC
IN
OUT
(1)
1. The value of R
but, it is not optimal. A typical value is in the range 5 to 6 R
R
value, refer to AN2867 (Oscillator design guide for ST microcontrollers).
EXT
depends on the crystal characteristics. A 0 Ω resistor works well with most oscillators
EXT
(resonator series resistance). To fine-tune the
S
The values of the load capacitors CL1 and CL2 are heavily dependent on the crystal type and
frequency. Refer to the datasheet of the crystal manufacturer to select the capacitances. For
best oscillation stability, C
and CL2 normally have the same value. Typical values are in
L1
the range from below 20 pF up to 40 pF (cload: 10 to 20 pF). The parasitic capacitance of
the board layout also needs to be considered and typically adds a few pF to the component
values (refer to AN2867).
A clock security system prevents any CPU fatal error from a HSE failure, as it safely
switches to HSI.
DocID16139 Rev 511/42
41
Page 12
Clock managementAN3029
OSC32_OUTOSC32_IN
External source
(Hi-Z)
ai15765
Microcontroller
Recommendations
In the PCB layout all connections should be as short as possible. Any additional signals,
especially those that could interfere with the oscillator, should be locally separated from the
PCB area around the oscillation circuit using suitable shielding.
4.3.2 LSE clock
The low-speed external clock signal (LSE) can be generated from two possible clock
sources:
•LSE external crystal/ceramic resonator (see Figure 6)
•LSE user external clock (see Figure 6)
External source (LSE bypass)
In this mode, an external clock source must be provided. It must have a frequency of
32.768
50% has to drive the OSC32_IN pin while the OSC32_OUT pin must be left high impedance
(see
kHz. The external clock signal (square, sine or triangle) with a duty cycle of about
Figure 5 and Figure 6).
Figure 5. External clock
1. OSC32_IN and OSC32_OUT pins can be used also as GPIO but, it is recommended not to use them as
both RTC and GPIO pins in the same application.
External crystal/ceramic resonator (LSE crystal)
The LSE crystal is a 32.768 kHz low-speed external crystal or ceramic resonator. It has the
advantage of providing a low-power, but highly accurate clock source to the real-time clock
peripheral (RTC) for clock/calendar or other timing functions.
The resonator and the load capacitors have to be connected as close as possible to the
oscillator pins in order to minimize output distortion and start-up stabilization time. The load
capacitance values must be adjusted according to the selected oscillator.
12/42DocID16139 Rev 5
Page 13
AN3029Clock management
OSC32_OUTOSC32_IN
ai15764
C
L1
C
L2
Microcontroller
R
EXT
(3)
Figure 6. Crystal/ceramic resonators
1. To avoid exceeding the maximum value of CL1 and CL2 (15 pF), it is strongly recommended to use a
resonator with a load capacitance CL = 7 pF. To fine-tune the choice, refer to the g
AN2867 (Oscillator design guide for ST microcontrollers).
2. OSC32_IN and OSC32_OUT pins can be used also as GPIO, but it is recommended not to use them as
both RTC and GPIO pins in the same application.
3. The value of R
typical value is in the range 5 to 6 R
for ST microcontrollers).
depends on the crystal characteristics. A 0 Ω resistor works with most oscillators. A
EXT
. To fine-tune the R
S
value refer to AN2867 (Oscillator design guide
EXT
calculation in
mcrit
DocID16139 Rev 513/42
41
Page 14
Reset controlAN3029
R
PU
System reset
Filter
100 nF
External
reset circuit
NRST
ai14866d
Illegal op code reset
Swim reset
POR/BOR reset
IWDG/WWDG/software reset
Delay
STM8
VDD_IO
Pulse
generator
(min 20 μs)
5 Reset control
5.1 Reset management overview
The reset pin is a 3.3 V bidirectional I/O. After startup it can be programmed by software to
be used as a general purpose I/O.
Its output buffer driving capability is fixed to Iol
= 2 mA @ 0.45 V in the 1.8 V to 3.6 V
MIN
range which includes a ~45 k pull-up. Output buffer is reduced to the n-channel MOSFET
(NMOS). The receiver includes a glitch filter, whereas the output buffer includes a 20 µs
delay.
There are many reset sources, including:
•External reset through the NRST pin
•Power-on reset (POR) and brown-out reset (BOR): During power-on, the POR keeps
the device under reset until the supply voltage (V
DD
and V
) reach the voltage level
DDx
at which level the BOR starts to function. STM8L101xx devices have only a POR.
•Independent watchdog reset (IWDG)
•Window watchdog reset (WWDG), featuring also software reset: only for STM8L05xx,
STM8L15xxx, STM8L162xx, STM8AL31xx, and STM8AL3Lxx.
•SWIM reset: An external device connected to the SWIM interface can request the
SWIM block to generate a microcontroller reset.
•Illegal opcode reset: If a code to be executed does not correspond to any opcode or
prebyte value, a reset is generated.
Figure 7 shows a simplified functional I/O reset schematic.
Figure 7. Reset management
14/42DocID16139 Rev 5
Page 15
AN3029Reset control
MS32525V1
≥ 20 n
20 μs pulse stretch min
A
Pad
Reset requested
MS32526V1
Pad
System rese
t
>5 ns>5 ns
<50 ns<50 ns<50 ns
300 ns
Valid Reset requestedNegative train of glitch filtered
5.1.1 Output characteristics
•A valid pulse on the pin is guaranteed with a ≥ 20 ns pulse duration on the internal
output buffer.
•After a valid pulse is recognized, a pulse on the pin of at least 20 µs is guaranteed
starting from the falling edge of A.
Figure 8. Output characteristics
5.1.2 Input characteristics
•All pulses with a duration less than 50 ns are filtered
•All train/burst spikes with a ratio of 1/10 must be filtered. This means that a negative
spike of up to 50 ns is always filtered, when a 5 ns interval between spikes occurs (ratio
1/10).
•All pulses with duration more than 300 ns are recognized as valid pulses
Figure 9. Input characteristics
DocID16139 Rev 515/42
41
Page 16
Reset controlAN3029
5.2 Hardware reset implementation
The STM8L and STM8AL do not require an external reset circuit to power-up correctly. Only
a pull-down capacitor is recommended (see
pull-down capacitor through an internal resistor has a negative influence on the device
power consumption. Therefore, the recommended capacitor value of 100 nF can be
reduced down to 10 nF to limit such power consumption.
The STM8L101xx reset state is released 1 ms after the POR value (1.35 V to 1.65 V) is
reached. At this time, V
For medium density devices and medium+ and high density devices operating from 1.8 V at
power-on: the reset state is released 1 ms after the BOR minimum value (~1.75 V) is
reached.
should be in the 1.65 V to 3.6 V range.
DD
Figure 7). However, charging/discharging the
16/42DocID16139 Rev 5
Page 17
AN3029Recommendations
6 Recommendations
6.1 Printed circuit board
For technical reasons, it is best to use a multi-layer PCB with a separate layer dedicated to
the V
good shielding effect. For many applications, economical requirements prohibit the use of
this type of board. In this case, the most important feature is to ensure a good structure for
the V
6.2 Component position
A preliminary layout of the PCB must separate the different circuits according to their
electromagnetic interference (EMI) contribution. This reduces cross-coupling on the PCB,
for instance, noisy, high-current circuits, low voltage circuits, and digital components.
6.3 Ground and power supply (VSS, VDD)
The VSS should be distributed individually to every block (noisy, low level sensitive, and
digital) with a single point for gathering all ground returns. Loops must be avoided or have a
minimum surface. The power supply should be implemented close to the ground line to
minimize the surface of the supply loop. This is due to the fact that the supply loop acts as
an antenna, and is therefore the main emitter and receiver of EMI. All component-free
surfaces of the PCB must be filled with additional grounding to create a kind of shield
(especially when using single-layer PCBs).
and another layer to the VDD supply. This results in a good decoupling, as well as a
SS
and power supply.
SS
6.4 Decoupling
The standard decoupler for the external power is a 1 µF pool capacitor. Supplementary 100
nF capacitors must be placed as close as possible to the V
microcontroller to reduce the area of the current loop.
As a general rule, decoupling all sensitive or noisy signals improves electromagnetic
compatibility (EMC) performances.
There are two types of decouplers:
•Capacitors close to components. Inductive characteristics, which apply to all capacitors
beyond a certain frequency, must be taken into account. If possible, parallel capacitors
with decreasing values (0.1, 0.01,... µF) should be used.
•Inductors. Although often ignored, ferrite beads, for example, are excellent inductors
due to their good dissipation of EMI energy and there is no loss of DC voltage (which is
not the case when simple resistors are used).
SS/VDD
DocID16139 Rev 517/42
pins of the
41
Page 18
RecommendationsAN3029
6.5 Other signals
When designing an application, the following areas should be closely studied to improve
EMC performances:
•Noisy signals (clock)
•Sensitive signals (high impedance)
•Signals for which a temporary disturbance permanently affects operation of the
application, for example, interrupts and handshaking strobe signals (but not LED
commands).
A surrounding VSS trace for such signals increases EMC performances, as does a shorter
length or absence of noisy and sensitive traces (crosstalk effect).
For digital signals, the best possible electrical margin must be reached for the two logical
states. Slow Schmitt triggers are recommended for eliminating parasitic states.
6.6 Unused I/Os and features
Microcontrollers are designed for a variety of applications, where often a particular
application does not use 100 % of the microcontroller resources.
To avoid unnecessary power consumption (especially important for battery powered
applications) and also to improve EMC performance, unused clocks, counters, or I/Os,
should not be left free, I/Os should be forced externally (pull-up or pull-down to the unused
I/O pins), and unused functions should be ‘frozen’ or disabled.
Alternatively, unused I/Os can be programmed as push-pull ‘low’ to keep them at a defined
level without using external components. However in this case, the I/O is not driven during
the power up phase, until the I/O is configured. This can add a little extra power
consumption, and may be undesirable in very power sensitive applications.
6.7 User options
STM8L and STM8AL devices have user option features that can be used for remapping or
enabling/disabling an automatic reset or low speed watchdog. For more details, please refer
to the product datasheets.
6.8 Bootloader
STM8L05xx, STM8L15xxx, STM8L162xx, STM8AL31xx, and STM8AL3Lxx devices have a
bootloader embedded in a ROM memory. Through this firmware the device memory can be
re-programmed via:
•USART communication interface for medium density devices
•USART1, USART2, USART3, SPI1, and SPI2 communication interfaces for medium+
Refer to the ‘pinouts and pin description’
and ‘package characteristics’ sections of
STM8L and STM8AL datasheets, to
the
choose the right package
(1)
Components below are optional
1Min 1.8 V when BOR is enabled
DocID16139 Rev 519/42
41
Page 20
Reference designAN3029
V
DD1
V
DDA
V
REF+
V
SS 1/2 ... N
V
LCD
NRST
OSC_I N
OSC_OUT
OSC32_I N
OSC32_OUT
Biggest package
20pF
1-16MHz
0 Ohm
20pF
4132
32.768kHz
6.8pF
6.8pF
100 μH
BEAD
1uF
1uF
Only if accurate High Speed
Oscillator is needed
1uF
OROR
V
SS
3.6V-1.8V
(1.65V)
0 Ohm
0OMZJGBDDVSBUFMPXTQFFE
PTDJMMBUPSJTOFFEFE
*G-$%JTVOVTFE
0OMZJGJOUFSOBM
CPPTUFSJTVTFEUP
QPXFS-$%
see note 1
External reset circuit
To power LCD
specifically
ai18711b
(see note 2)
V
DD2
V
DD3
V
DD4
10
0n
F
10
0n
F
10
0n
F
10
0n
F
(see note 3)
10
0n
F
10
0n
F
V
REF
1uF
10
0n
F
V
DD
V
SS
V
SS
V
DD
V
DD
V
SS
2.5V<V
LCD
<3.6V
7.2 Schematics
Figure 10. Reference design
For noisy
environment
1. If these components are removed, they have to be replaced by a short connection.
2. Optional: if a separate, external reference voltage is connected on V
connected. V
is either connected to V
REF+
3. One 100 nF Ceramic capacitor for each VDDx pin and one single 1 µF Tantalum or Ceramic capacitor.
20/42DocID16139 Rev 5
DDA
or V
REF.
, the two capacitors (100 nF and 1 µF) must be
REF+
Page 21
AN3029STM8 development tools
MS32527V1
SWIM entry
Internal RC
Comm
layer
CMD
decode
DM
STM8
core
Peripheral
NVM
RAM
DBG
100 KHz Osc
8 STM8 development tools
Typically, the following tools are needed to get started:
•STVD for integrated development environment
•STM8 C compiler (from Cosmic, Raisonance, or IAR)
•ST toolset and STM8 firmware library from STMicroelectronics
STM8L101xx standard peripheral library,
STM8L05x/STM8L15x/STM8L16x/STM8AL31x/STM8AL3Lx standard peripheral
library
•STM8 evaluation board from STMicroelectronics (STM8L101-EVAL for STM8L101xx,
STM8L1526-EVAL for medium density STM8L15xxx and STM8AL31xx/STM8AL3Lxx,
and STM8L1528-EVAL for high density STM8L15xxx/STM8L162xx)
•If you use STM8L101-EVAL, you also need the HW SWIM debug interface "Rlink" from
Raisonance and ST-Link or STice-SWIM. The debug interface ST-LINK is included in
STM8L1526-EVAL and STM8L1528-EVAL.
•STM8L-DISCOVERY
8.1 Single wire interface module (SWIM)
8.1.1 SWIM overview
In-circuit debugging mode or in-circuit programming mode are managed through a single
wire hardware interface based on an open-drain line, featuring ultra fast memory
programming. Coupled with an in-circuit debugging module, the SWIM also offers a nonintrusive read/write to RAM and peripherals. This makes the in-circuit debugger extremely
powerful and close in performance to a full-featured emulator.
The SWIM pin can be used as a standard I/O (with 8 mA capability) which has some
restrictions if the user wants to use it for debugging. The most secure way to use it is to
provide a strap option on the PCB. Please refer to the STM8 SWIM communication protocol
and debug module user manual (UM0470) for more SWIM protocol details.
Figure 11. Debug system block diagram
DocID16139 Rev 521/42
41
Page 22
STM8 development toolsAN3029
MS32528V1
4
4
1
1
2
3
2
3
AD/ICC SWIM adapter
Application board
STM8
SWIM cable
V
DD
V
DD
SWIM connector
8.1.2 SWIM connector pins
The SWIM connector pins consist of four pins as described in Tab le 3.
Pin numberPin name
Table 3. SWIM connector pins
Pin 1V
DD
Pin 2SWIM pin
Pin 3V
SS
Pin 4Reset
8.1.3 Hardware connection
Figure 12. Hardware connection
Caution:It is recommended to place the SWIM header as close as possible to the STM8L/STM8AL
device, as this minimizes any possible signal degradation caused by long PCB tracks.
22/42DocID16139 Rev 5
Page 23
AN3029STM8 development tools
8.2 STice emulator
8.2.1 STice overview
The STice is a modular, high-end emulator system which connects to the PC via a USB
interface, and to the application board in place of the target microcontroller.
It is supported by the free STM8 toolset: IDE ST Visual Develop (STVD) programmer, ST
Visual Programmer (STVP) and STM8 Assembler. Please refer to the STice emulator for
STM8 for more details.
STice has two distinct modes of operation which are described further in this section:
•Emulation mode
•In-circuit mode
It can also be used instead of RLink for SWIM connection.
Figure 13. Connection description
Emulation system: STice
•Emulator box
•Cables for USB, power supply, trigger, and analyzer input
Connection flex
•60-pin or 120-pin cable for connection to the application board
Connection adapter
•Links the connection flex to the footprint of the STM8L/STM8AL microcontroller
Adapter socket
•Package-specific socket for connection adapter and STM8L/STM8AL microcontroller
DocID16139 Rev 523/42
41
Page 24
STM8 development toolsAN3029
8.2.2 STicein emulation configuration
In emulation configuration, the STice is connected to the PC via a USB interface and to the
application board in place of the target microcontroller being used.
•Connection flex: Flexible cable (60-pin or 120-pin depending on the target
microcontroller) that relays signals from the STice to the application board.
•Connection adapter: Links the connection flex to the footprint of the target
microcontroller on the users application board.
•Adapter socket: Socket that solders to the application board in place of the
microcontroller and receives the connection adapter.
The above accessories are not included with the STice system. To determine exactly what
is required for any supported microcontroller, refer to the online product selector on
www.st.com.
Figure 14. STicein emulation configuration
24/42DocID16139 Rev 5
Page 25
AN3029STM8 development tools
8.2.3 In-circuit programming and debugging
In the in-circuit debugging/programming configuration, STice allows the application to be
programmed in the microcontroller and for the application to be debugged while it runs on
the microcontroller on the application board. STice supports the SWIM protocol, making it
possible to in-circuit program and debug the microcontroller using only one general purpose
I/O.
In both the emulation and the in-circuit programming/debugging configuration, STice is
driven by the ST Visual Develop (STVD) or ST Visual Programmer (STVP) integrated
development environment running on the host PC. This provides total control of advanced
application building, debugging and programming features from a single easy-to-use
interface.
Figure 15. In-circuit programming and debugging
8.3 RLink and STLink
RLink and STLink are debug tools that allow the STM8L evaluation board or any user
application board with the SWIM interface to be connected to a host PC via USB for
debugging and programming. See
Section 10.3.3: Connecting the hardware on page 34.
DocID16139 Rev 525/42
41
Page 26
STM8 software toolchainAN3029
9 STM8 software toolchain
To write, compile and run the first software on an STM8L/STM8AL device, the following
components of the software toolchain are required (see
•Integrated development environment
•Compiler
•Firmware library (optional, used to ease the startup)
Figure 16. STM8 software toolchain
Figure 16):
26/42DocID16139 Rev 5
Page 27
AN3029STM8 software toolchain
9.1 Integrated development environment
The integrated development environment ST Visual Develop (STVD) provides an easy-touse, efficient environment for start-to-finish control of application development, from building
and debugging the application code to programming the microcontroller. STVD is delivered
as part of the free ST toolset, which also includes the ST Visual Programmer (STVP)
programming interface and ST Assembler-Linker.
To build applications, STVD provides seamless integration of C and assembly tool chains
for ST including the Cosmic and Raisonance C compilers and ST Assembler-Linker. When
debugging, STVD provides an integrated simulator (software) and supports a complete
range of hardware tools including the low-cost RLink in-circuit debugger/programmer, the
high-end STice emulator, and the low-cost ST-LINK tool.
To program applications to an STM8L/STM8AL, the STVD also provides an interface for
reading from the microcontroller memories, writing to them and verifying them. This
interface is based on the ST Visual Programmer (STVP), and supports all the target devices
and programming tools supported by STVP.
The free ST toolset for STM8 is available from STMicroelectronics homepage (see
www.st.com).
9.2 Compiler
STM8L/STM8AL devices can be programmed by a free assembler toolchain which is
included in the ST toolset.
As the core is designed for optimized high-level-language support, use of a C compiler is
recommended!
C compilers for STM8 are offered by the third party companies Cosmic, Raisonance, and
IAR.
A free version of the C compiler with up to 32 Kbytes of generated code is available at:
www.cosmic-software.com and www.raisonance.com.
9.3 Firmware library
The STM8 firmware library is a complete set of source code examples for each STM8
peripheral. It is written in strict ANSI-C and it is fully MISRA C 2004 compliant.
All examples can be used with four workspace and project definition files, one for STVD and
Cosmic C compiler, one for STVD and raisonance Compiler, one for Raisonance integrated
debugging environment and compiler (RIDE7 IDE), and one for IAR embedded workbench
for STM8 (EWSTM8). This enables the user to load and compile them easily into their
preferred development environment.
The examples run on the STMicroelectronics STM8L evaluation board and can be tailored
easily to other types of hardware.
For additional information and download of the STM8L/STM8AL firmware library connect to
www.st.com/mcu.
DocID16139 Rev 527/42
41
Page 28
Setting up the STM8 development environmentAN3029
10 Setting up the STM8 development environment
10.1 Installing the tools
All software tools are delivered with a setup wizard which guides the user through the
installation process. It is recommended to install the tools in the following order:
1.C compiler
2. ST toolset
3. STM8 firmware library
ST-LINK does not need any dedicated software installation in the STM8 development
environment because the necessary drivers are delivered with the ST toolset.
The R-link drivers must be launched separately as follows:
Start/Programs/STtoolset/Setup/Install Rlink driver.
28/42DocID16139 Rev 5
Page 29
AN3029Setting up the STM8 development environment
10.2 Using the tools
Once the tools installation is complete, the ST Visual Develop (STVD) integrated
development environment can be launched.
The user then has the choice to generate either a new workspace with a new project or to
open an existing workspace. If using the STVD for the first time, it is recommended to open
an existing project from the STM8 firmware library.
Note:Even if you are not intending to use the library, an existing library project can be used as a
template to configure all the compiler options. Enter your own code after main().
The STM8 firmware library includes several examples for each peripheral plus one
workspace containing a blank project which is ready to receive your C code. It is located in
the firmware subdirectory \Project\Template (see
STVD\Cosmic, STVD\Raisonance, RIDE, or EWSTM8.
Figure 17. STVD open example workspace
Figure 17). You can choose between
DocID16139 Rev 529/42
41
Page 30
Setting up the STM8 development environmentAN3029
10.2.1 Project editing
All project source files are visible and can be edited (see Figure 18).
Figure 18. STVD MCU edit mode
30/42DocID16139 Rev 5
Page 31
AN3029Setting up the STM8 development environment
10.2.2 Online help
An online help manual is available inside the firmware installation directory (see Figure 19)
to help the user understand the structure of the STM8 firmware library.
Figure 19. STM8 firmware library online help manual
DocID16139 Rev 531/42
41
Page 32
Setting up the STM8 development environmentAN3029
10.3 Running the demonstration software
•Go to www.st.com/mcu and search for STM8L/STM8AL products
•Choose STM8L1x-EVAL, STM8L1526-EVAL, or STM8L1528-EVAL
•Open the desired project workspace within the chosen demonstration firmware
package.
To run the demonstration software on the STM8 evaluation board, the project has to be
compiled and the correct HW tool must be selected before the debug session can be
started.
10.3.1 Compiling the project
The project can be compiled using the ‘Build’ function in the ‘Build’ menu (see Figure 20).
Figure 20. STVD: Building the project
firmware
32/42DocID16139 Rev 5
Page 33
AN3029Setting up the STM8 development environment
10.3.2 Selecting the correct debug instrument
In the example below, the Rlink tool is used for communicating via the SWIM interface with
the on-board debug module of the STM8.
The Rlink tool can be selected from the ‘Debug Instrument Selection’ list in the ‘Debug
Instrument Settings’ dialog (see
Figure 21. STVD: Selecting the debug instrument
Figure 21).
DocID16139 Rev 533/42
41
Page 34
Setting up the STM8 development environmentAN3029
10.3.3 Connecting the hardware
The debug tool, STLink, is included on the STM8L1526-EVAL and STM8L1528-EVAL
boards. You can connect the PC to the USB connector. This connection ensures the debug
connection and the power. If the jumpers on the boards are no longer in the default position,
please read the evaluation board user manuals to select power and debug support jumpers.
For the STM8L101-EVAL, the Rlink tool can be connected to the PC by a standard USB
connection. It is also powered by the USB interface. On the controller side, the connection
to the STM8 evaluation board is made using the SWIM interface cable. The STM8L101EVAL, evaluation board is powered by an external 5 V supply (see
Figure 22. Connecting the debug instrument to the STM8L101-EVAL evaluation board
Figure 22).
34/42DocID16139 Rev 5
Page 35
AN3029Setting up the STM8 development environment
Figure 23. Connecting the debug instrument to the STM8L152x-EVAL evaluation
board
Caution:On the Rlink adapter board for STM8, the “SWIM” jumper must be set. If there is no pull-up
on the application SWIM line, the “ADAPT” jumper is also set. The “PW-5V” and “12MHz”
jumpers must not be set.
DocID16139 Rev 535/42
41
Page 36
Setting up the STM8 development environmentAN3029
10.3.4 Starting the debug session
Debug mode can be entered by the command ‘Debug Start Debugging’ (see Figure 24).
Figure 24. STVD: Starting the debug session
36/42DocID16139 Rev 5
Page 37
AN3029Setting up the STM8 development environment
10.3.5 Running the software
After entering debug mode, the software can be started by the run command in the menu
‘Debug Run’ (see
Figure 25).
Figure 25. STVD: Run the software
DocID16139 Rev 537/42
41
Page 38
Setting up the STM8 development environmentAN3029
The LCD display on the STM8 evaluation board indicates a successful debug session (see
Figure 26).
Figure 26. STM8 evaluation board
10.3.6 Follow up
Step by step, additional peripherals of STM8L/STM8AL devices can be run, following on
from the initial debug session described above.
Many features of STM8L/STM8AL devices are supported by dedicated hardware on the
STM8 evaluation board. The necessary software drivers, including STM8L/STM8AL
peripheral drivers (USART, ADC, SPI) and drivers for the EVAL board modules (LCD, serial
memory), are delivered in the STM8L1x firmware library.
38/42DocID16139 Rev 5
Page 39
AN3029Documentation and online support
11 Documentation and online support
Documentation resources related to tool usage includes:
Application
•STM8L/STM8AL datasheets
•How to program STM8L Flash program memory and data EEPROM (PM0054)
•STM8 CPU programming manual (PM0044)
•STM8L05xx, STM8L15xx, STM8L162x, STM8AL31xx and STM8AL3Lxx
microcontroller family (RM0031)
•STM8L101xx microcontroller family (RM0013)
Tools
•STM8L/STM8AL firmware library and release note (detailed descriptions of the library
are included as help files)
•STice advanced emulation system for ST microcontrollers data briefing
•STice user manual
•Cosmic, Raisonance, or IAR C compiler user manual
•STM8L101-EVAL, STM8L1526-EVAL, or STM8L1528-EVAL evaluation board user
manual.
•STM8L1x-EVAL, STM8L1526-EVAL, or STM8L1528-EVAL firmware
•ST Visual Develop tutorial (included as help files in the ST-toolchain)
•ST Visual Develop (STVD) user manual
•STM8 SWIM communication protocol and debug module user manual (UM0470)
The microcontroller discussion forum on www.st.com can be used by developers to
exchange ideas. It is the best place to find different application ideas. In addition, the
website has a knowledge base of FAQs for microcontrollers, which provide answers to
many queries and solutions to many problems.
DocID16139 Rev 539/42
41
Page 40
Revision historyAN3029
12 Revision history
Table 4. Document revision history
DateRevisionChanges
09-Sep-20091Initial release
Updated all sections and references for medium density, medium+
density and high density devices.
Added STM8L16x devices.
Replaced V
DDIO
and V
SSIO
Replaced 48-pin package by “some packages”.
Added IAR C compiler.
Section 2.1: Power supply overview: updated text.
Figure 1: added note 2; removed the + sign on the VLCD cappa.
Crystal/ceramic resonator: added reference to AN2867.
Section 3.2: Analog input: updated text.
Section 4.3.2: LSE clock: re-arranged section.
Section 5.1: Reset management overview: removed bullet
“electromagnetic susceptibility (EMS) reset (present only on STM8S
16-Sep-20102
family).
Figure 7: removed EMS reset; added external reset circuit.
Section 5.2: Hardware reset implementation: added text about the
pull-down capacitor.
Table 2: Component list: updated “comment” information for ID
number 2 (battery); added ID number 5 (ceramic capacitor).
Figure 10: added external reset circuit and note 1.
Section 9.2: Compiler: updated “16 Kbytes” with “32 Kbytes” of
generated code.
Section 9.3: Firmware library: updated text explaining the workspace
and project definition files.
Section 10: Setting up the STM8 development environment:
removed introductory text.
Section 10.2: Using the tools: added EWSTM8.
Figure 1: updated figure content and footnotes.
Section 2.1: Power supply overview: updated bullet points.
Section 3.1: Analog power: updated bullet point concerning V
Section 6.4: Decoupling: updated value of the pool capacitor to 1 µF
07-Mar-20113
(instead of 100 µF).
Figure 10: updated figure content and footnotes.
Section 8: STM8 development tools: updated bullet point 5 regarding
STM8L101-EVAL.
Section 9.1: Integrated development environment: added the low-
cost ST-Link tool in the list of hardware tools supported by STVD.
by V
DDx
and V
respectively.
SSx
REF+
.
40/42DocID16139 Rev 5
Page 41
AN3029Revision history
Table 4. Document revision history (continued)
DateRevisionChanges
Document updated to include the STM8AL products.
06-Nov-20124
23-Jul-20135
Added Table 1: Applicable products.
(1)
Added note
to Table 2: Component list.
Updated references in Section 8: STM8 development tools.
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 AUTHORIZED FOR USE IN WEAPONS. NOR ARE ST PRODUCTS 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.