Datasheet

32-kbyte
Flash
Main Memory
Segment 0
512-byte
Flash
Information Memory
Segment 1
Segment 2
Segment 61
Segment 62
Segment 63
0x0FFFF
0x0F000
0x010FF
0x01000
Segment A
Segment B
Segment C
Segment D
0x0FFFF
0x08000
0x010FF
0x01000
0x0FE00
0x0FDFF
0x0FC00
Block
0x0FFFF
0x0FFC0
0x0FFBF
0x0FF80
0x0FF7F
0x0FF40
0x0FF3F
0x0FF00
Block
Block
Block
Block
0x0FFFF
0x0FEC0
0x0FEBF
0x0FE80
0x0FE7F
0x0FE40
0x0FE3F
0x0FE00
Block
Block
Block
Flash Memory Segmentation
www.ti.com
Figure 7-2 shows the flash segmentation using an example of 32-KB flash that has eight main segments
and four information segments.
Figure 7-2. Flash Memory Segments, 32-KB Example
7.2.1 SegmentA
SegmentA of the information memory is locked separately from all other segments with the LOCKA bit.
When LOCKA = 1, SegmentA cannot be written or erased and all information memory is protected from
erasure during a mass erase or production programming. When LOCKA = 0, SegmentA can be erased
and written as any other flash memory segment, and all information memory is erased during a mass
erase or production programming.
The state of the LOCKA bit is toggled when a 1 is written to it. Writing a 0 to LOCKA has no effect. This
allows existing flash programming routines to be used unchanged.
; Unlock SegmentA
BIT #LOCKA,&FCTL3 ; Test LOCKA
JZ SEGA_UNLOCKED ; Already unlocked?
MOV #FWKEY+LOCKA,&FCTL3 ; No, unlock SegmentA
SEGA_UNLOCKED ; Yes, continue
; SegmentA is unlocked
; Lock SegmentA
BIT #LOCKA,&FCTL3 ; Test LOCKA
JNZ SEGA_LOCKED ; Already locked?
MOV #FWKEY+LOCKA,&FCTL3 ; No, lock SegmentA
SEGA_LOCKED ; Yes, continue
; SegmentA is locked
310
Flash Memory Controller SLAU144JDecember 2004Revised July 2013
Submit Documentation Feedback
Copyright © 2004–2013, Texas Instruments Incorporated