Datasheet
Functional overview STM8S001J3
14/84 DocID030584 Rev 2
Recommendation for the device's programming:
The device's 8 Kbytes program memory is not empty on virgin devices; there is code loop
implemented on the reset vector. It is recommended to keep valid code loop in the device to
avoid the program execution from an invalid memory address (which would be any memory
address out of 8 Kbytes program memory space).
If the device's program memory is empty (0x00 content), it displays the behavior described
below:
• After the power on, the “empty” code is executed (0x0000 opcodes = instructions: NEG
(0x00, SP)) until the device reaches the end of the 8 Kbytes program memory (the end
address = 0x9FFF).
It takes around 4 milliseconds to reach the end of the 8 Kbytes memory space @2 MHz
HSI clock.
• Once the device reaches the end of the 8 Kbytes program memory, the program
continues and code from a non-existing memory is fetched and executed.
The reading of non-existing memory is a random content which can lead to the
execution of invalid instructions.
The execution of invalid instructions generates a software reset and the program starts
again. A reset can be generated every 4 milliseconds or more.
Only the “connect on-the-fly” method can be used to program the device through the SWIM
interface. The “connect under-reset” method cannot be used because the NRST pin is not
available on this device.
The “connect on-the-fly” mode can be used while the device is executing code, but if there is
a device reset (by software reset) during the SWIM connection, this connection is aborted
and it must be performed again from the debug tool. Note that the software reset occurrence
can be of every 4 milliseconds, making it difficult to successfully connect to the device's
debug tool (there is practically only one successful connection trial for every 10 attempts).
Once that a successful connection is reached, the device can be programmed with a valid
firmware without problems; therefore it is recommended that device is never erased and
that is contains always a valid code loop.
Downloaded from Arrow.com.Downloaded from Arrow.com.Downloaded from Arrow.com.Downloaded from Arrow.com.Downloaded from Arrow.com.Downloaded from Arrow.com.Downloaded from Arrow.com.Downloaded from Arrow.com.Downloaded from Arrow.com.Downloaded from Arrow.com.Downloaded from Arrow.com.Downloaded from Arrow.com.Downloaded from Arrow.com.Downloaded from Arrow.com.