Datasheet

ST10F269 5 - INTERNAL FLASH MEMORY
33/184
Figure 7 : Memory Configuration after Reset
5.6.3 - Loading the Startup Code
After sending the identification Byte the BSL
enters a loop to receive 32 Bytes via ASC0. These
Byte are stored sequentially into locations
00’FA40h through 00’FA5Fh of the internal RAM.
So up to 16 instructions may be placed into the
RAM area. To execute the loaded code the BSL
then jumps to location 00’FA40h, which is the first
loaded instruction.
The bootstrap loading sequence is now
terminated, the ST10F269 remains in BSL mode,
however. Most probably the initially loaded routine
will load additional code or data, as an average
application is likely to require substantially more
than 16 instructions. This second receive loop
may directly use the pre-initialized interface ASC0
to receive data and store it to arbitrary
user-defined locations.
This second level of loaded code may be the final
application code. It may also be another, more
sophisticated, loader routine that adds a
transmission protocol to enhance the integrity of
the loaded code or data. It may also contain a
code sequence to change the system
configuration and enable the bus interface to store
the received data into external memory.
This process may go through several iterations or
may directly execute the final application. In all
cases the ST10F269 will still run in BSL mode,
that means with the watchdog timer disabled and
limited access to the internal Flash area.
All code fetches from the internal Flash area
(00’0000h...00’7FFFh or 01’0000h...01’7FFFh, if
mapped to segment 1) are redirected to the
special Boot-ROM. Data fetches access will
access the internal Boot-ROM of the ST10F269, if
any is available, but will return undefined data on
ROMless devices.
5.6.4 - Exiting Bootstrap Loader Mode
In order to execute a program in normal mode, the
BSL mode must be terminated first. The
ST10F269 exits BSL mode upon a software reset
(ignores the level on P0L.4) or a hardware reset
(P0L.4 must be high). After a reset the ST10F269
will start executing from location 00’0000h of the
internal Flash or the external memory, as
programmed via pin EA
.
16M Bytes 16M Bytes 16M Bytes
BSL mode active Yes (P0L.4=’0’) Yes (P0L.4=’0’) No (P0L.4=’1’)
EA
pin High Low Access to application
Code fetch from internal
Flash area
Test-Flash access Test-Flash access User Flash access
Data fetch from internal
Flash area
User Flash access User Flash access User Flash access
IRAM
1
0
User
Flash
Test
Flash
Segment
2
255
Access to:
external
bus
disabled
internal
enabled
Flash
1
0
User
Flash
Test
Flash
Segment
2
255
Access to:
external
bus
enabled
internal
enabled
Flash
IRAM
1
0
User
Flash
Segment
2
255
Access:
depends on
reset config
EA, Port0
depends on
reset config
EA
, Port0
IRAM