LM3S308 Luminary Micro, Inc, LM3S308 Datasheet - Page 111

no-image

LM3S308

Manufacturer Part Number
LM3S308
Description
Lm3s308 Arm Microcontroller
Manufacturer
Luminary Micro, Inc
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
LM3S308
Manufacturer:
DSP
Quantity:
648
Part Number:
LM3S308-EQN25-C2
Manufacturer:
Texas Instruments
Quantity:
10 000
Part Number:
LM3S308-EQN25-C2T
Manufacturer:
Texas Instruments
Quantity:
10 000
Part Number:
LM3S308-IGZ25-C2
Manufacturer:
AV
Quantity:
241
Company:
Part Number:
LM3S308-IGZ25-C2
Quantity:
982
Part Number:
LM3S308-IQN25
Manufacturer:
Texas Instruments
Quantity:
10 000
Part Number:
LM3S308-IQN25-C2
Manufacturer:
TI
Quantity:
202
Part Number:
LM3S308-IQN25-C2
Manufacturer:
Texas Instruments
Quantity:
10 000
Part Number:
LM3S308-IQN25-C2T
Manufacturer:
Texas Instruments
Quantity:
10 000
7.2.2
7.2.2.1
7.2.2.2
June 04, 2008
0x2200.0000 + (0x1000 * 32) + (3 * 4) = 0x2202.000C
With the alias address calculated, an instruction performing a read/write to address 0x2202.000C
allows direct access to only bit 3 of the byte at address 0x2000.1000.
For details about bit-banding, please refer to Chapter 4, “Memory Map” in the ARM® Cortex™-M3
Technical Reference Manual.
Flash Memory
The flash is organized as a set of 1-KB blocks that can be individually erased. Erasing a block
causes the entire contents of the block to be reset to all 1s. An individual 32-bit word can be
programmed to change bits that are currently 1 to a 0. These blocks are paired into a set of 2-KB
blocks that can be individually protected. The protection allows blocks to be marked as read-only
or execute-only, providing different levels of code protection. Read-only blocks cannot be erased
or programmed, protecting the contents of those blocks from being modified. Execute-only blocks
cannot be erased or programmed, and can only be read by the controller instruction fetch mechanism,
protecting the contents of those blocks from being read by either the controller or by a debugger.
See also “Serial Flash Loader” on page 400 for a preprogrammed flash-resident utility used to
download code to the flash memory of a device without the use of a debug interface.
Flash Memory Timing
The timing for the flash is automatically handled by the flash controller. However, in order to do so,
it must know the clock rate of the system in order to time its internal signals properly. The number
of clock cycles per microsecond must be provided to the flash controller for it to accomplish this
timing. It is software's responsibility to keep the flash controller updated with this information via the
USec Reload (USECRL) register.
On reset, the USECRL register is loaded with a value that configures the flash timing so that it works
with the maximum clock rate of the part. If software changes the system operating frequency, the
new operating frequency minus 1 (in MHz) must be loaded into USECRL before any flash
modifications are attempted. For example, if the device is operating at a speed of 20 MHz, a value
of 0x13 (20-1) must be written to the USECRL register.
Flash Memory Protection
The user is provided two forms of flash protection per 2-KB flash blocks in two 32-bit wide
registers.The protection policy for each form is controlled by individual bits (per policy per block) in
the FMPPEn and FMPREn registers.
The policies may be combined as shown in Table 7-1 on page 111.
Table 7-1. Flash Protection Policy Combinations
FMPPEn
Flash Memory Protection Program Enable (FMPPEn): If set, the block may be programmed
(written) or erased. If cleared, the block may not be changed.
Flash Memory Protection Read Enable (FMPREn): If set, the block may be executed or read
by software or debuggers. If cleared, the block may only be executed and contents of the memory
block are prohibited from being accessed as data.
0
FMPREn
0
Protection
Execute-only protection. The block may only be executed and may not be written or erased. This mode
is used to protect code.
Preliminary
LM3S308 Microcontroller
111

Related parts for LM3S308