LM3S600-IQN20-A0T Bookham Technology, Inc., LM3S600-IQN20-A0T Datasheet - Page 107

no-image

LM3S600-IQN20-A0T

Manufacturer Part Number
LM3S600-IQN20-A0T
Description
Microcontroller
Manufacturer
Bookham Technology, Inc.
Datasheet
7.3.2
7.3.2.1
7.3.2.2
7.3.2.3
7.4
October 01, 2007
}
Flash Programming
The Stellaris
operations are handled via three registers: FMA, FMD, and FMC.
To program a 32-bit word
1.
2.
3.
4.
To perform an erase of a 1-KB page
1.
2.
3.
To perform a mass erase of the flash
1.
2.
Register Map
Table 7-2 on page 108 lists the Flash memory and control registers. The offset listed is a hexadecimal
increment to the register's address. The FMA, FMD, FMC, FCRIS, FCIM, and FCMISC registers
are relative to the Flash control base address of 0x400F.D000. The FMPREn, FMPPEn, USECRL,
USER_DBG, and USER_REGn registers are relative to the System Control base address of
0x400F.E000.
Write source data to the FMD register.
Write the target address to the FMA register.
Write the flash write key and the WRITE bit (a value of 0xA442.0001) to the FMC register.
Poll the FMC register until the WRITE bit is cleared.
Write the page address to the FMA register.
Write the flash write key and the ERASE bit (a value of 0xA442.0002) to the FMC register.
Poll the FMC register until the ERASE bit is cleared.
Write the flash write key and the MERASE bit (a value of 0xA442.0004) to the FMC register.
Poll the FMC register until the MERASE bit is cleared.
// programming of the FMPRE register.
//
HWREG(FLASH_FMA) = 0x900;
HWREG(FLASH_FMC) = (FLASH_FMC_WRKEY | FLASH_FMC_COMT);
//
// Wait until the operation is complete.
//
while (HWREG(FLASH_FMC) & FLASH_FMC_COMT)
{
}
®
devices provide a user-friendly interface for flash programming. All erase/program
Preliminary
LM3S600 Microcontroller
107

Related parts for LM3S600-IQN20-A0T