ADUC7122 Analog Devices, ADUC7122 Datasheet - Page 37

no-image

ADUC7122

Manufacturer Part Number
ADUC7122
Description
Precision Analog Microcontroller, 12-Bit Analog I/O, ARM7TDMI® MCU
Manufacturer
Analog Devices
Datasheet

Specifications of ADUC7122

Mcu Core
ARM7 TDMI
Mcu Speed (mips)
40
Sram (bytes)
8192Bytes
Gpio Pins
32
Adc # Channels
13

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ADUC7122BBCZ
Manufacturer:
MICREL
Quantity:
231
Part Number:
ADUC7122BBCZ
Manufacturer:
Analog Devices Inc
Quantity:
10 000
Part Number:
ADUC7122BBCZ-RL
Manufacturer:
Analog Devices Inc
Quantity:
10 000
FLASH/EE MEMORY SECURITY
The 126 kB of Flash/EE memory available to the user can be
read and write protected. Bit 31 of the FEE0PRO/FEE0HID
MMR protects the 126 kB from being read through JTAG or
the serial downloader. The other 31 bits of this register protect
writing to the Flash/EE memory; each bit protects four pages,
that is, 2 kB. Write protection is activated for all access types.
FEE1PRO and FEE1HID similarly protect the second 64 kB
block. All 32 bits of this are used to protect four pages at a time.
Three Levels of Protection
Protection can be set and removed by writing directly into
FEExHID MMR. This protection does not remain after reset.
Protection can be set by writing into FEExPRO MMR. It takes
effect only after a save protection command (0x0C) and a reset.
The FEExPRO MMR is protected by a key to avoid direct access.
The key is saved once and must be entered again to modify
FEExPRO. A mass erase sets the key back to 0xFFFF but also
erases all the user code.
The Flash/EE memory can be permanently protected by using
the FEExPRO MMR and a particular value of the 0xDEADDEAD
key. Entering the key again to modify the FEExPRO register is
not allowed.
Sequence to Write the Key
1.
2.
3.
4.
5.
To remove or modify the protection, the same sequence is used
with a modified value of FEExPRO. If the key chosen is the value
0xDEADDEAD, then the memory protection cannot be removed.
Only a mass erase unprotects the part; however, it also erases all
user code.
Write the bit in FEExPRO corresponding to the page to be
protected.
Enable key protection by setting Bit 6 of FEExMOD (Bit 5
must equal 0).
Write a 32-bit key in FEExADR, FEExDAT.
Run the write key command 0×0C in FEExCON; wait for
the read to be successful by monitoring FEExSTA.
Reset the part.
Rev. 0 | Page 37 of 96
The sequence to write the key is shown in the following example;
this protects writing Page 4 to Page 7 of the Flash/EE memory:
FEE0PRO=0xFFFFFFFD;
FEE0MOD=0x48;
FEE0ADR=0x1234;
FEE0DAT=0x5678;
FEE0CON= 0x0C;
The same sequence should be followed to protect the part
permanently with FEExADR = 0xDEAD and FEExDAT =
0xDEADDEAD.
FLASH/EE CONTROL INTERFACE
Table 38. FEE0DAT Register
Name
FEE0DAT
FEE0DAT is a 16-bit data register.
Table 39. FEE0ADR Register
Name
FEE0ADR
FEE0ADR is a 16-bit address register.
Table 40. FEE0SGN Register
Name
FEE0SGN
FEE0SGN is a 24-bit code signature.
Table 41. FEE0PRO Register
Name
FEE0PRO
FEE0PRO provides protection following a subsequent reset. It
requires a software key (see Table 57). As stated previously, each
bit from 30 to 0 of the FEExPRO register protects a 2 kB block
of memory; that is, setting Bit 0 low protects Page 0 to Page 3,
and setting Bit 2 low protects Page 8 to Page 11.
Table 42. FEE0HID Register
Name
FEE0HID
FEE0HID provides immediate protection. It does not require
any software keys (see Table 57).
Command Sequence for Executing a Mass Erase
FEE0DAT = 0x3CFF;
FEE0ADR = 0xFFC3;
FEE0MOD = FEE0MOD|0x8;
FEE0CON = 0x06;
Address
0xFFFF0E0C
Address
0xFFFF0E10
Address
0xFFFF0E18
Address
0xFFFF0E1C
Address
0xFFFF0E20
//Mass erase command
//Protect pages 4 to 7
//Write key enable
//16 bit key value
//16 bit key value
// Write key command
Default Value
0xXXXX
Default Value
0x0000
Default Value
0xFFFFFF
Default Value
0x00000000
Default Value
0xFFFFFFFF
//Erase key enable
ADuC7122
Access
R/W
Access
R/W
Access
R
Access
R/W
Access
R/W

Related parts for ADUC7122