Скачиваний:
180
Добавлен:
13.06.2014
Размер:
6.55 Mб
Скачать

20.3 Пользовательский интерфейс контроллера встроенной флэш-памяти

Пользовательский интерфейс EFCS встроен в контроллер памяти, базовый адрес которого 0xFFFF FF00

Таблица 20-3. Карта распределения регистров контроллера встроенной флэш-памяти (EFCS)

Смещение

Регистр

Название

Вид доступа

Состояние после сброса

0x60

Регистр режима флэш-памяти

MC_FMR

Для записи и чтения

0x0000 0000

0x64

Регистр команды флэш-памяти

MC_FCR

Только для записи

-

0x68

Регистр статуса флэш-памяти

MC_FSR

Только для чтения

-

0x6C

Зарезервировано

-

-

-

20.3.1 Регистр режима флэш-памяти

Название регистра: MC_FMR

Вид доступа: для записи и чтения

Смещение: 0x60

31

30

29

28

27

26

25

24

-

-

-

-

-

-

-

-

23

22

21

20

19

18

17

16

FMCN

15

14

13

12

11

10

9

8

-

-

-

-

-

-

FWS

7

6

5

4

3

2

1

0

NEBP

-

-

-

-

PROGE

LOCKE

FRDY

  • FDRY: флаг разрешения прерывания по готовности флэш-памяти

0 = прерывание по готовности флэш-памяти запрещено.

1 = прерывание по готовности флэш-памяти разрешено.

  • LOCK: флаг разрешения прерывания при ошибке защиты флэш-памяти

0 = прерывание при попытке программирования защищенной области флэш-памяти (Lock Error) запрещено.

1 = прерывание при попытке программирования защищенной области флэш-памяти разрешено.

  • PROGE: флаг разрешения прерывания при ошибке программирования флэш-памяти

0 = прерывание при ошибке программирования флэш-памяти (Programming Error) запрещено.

1 = прерывание при ошибке программирования флэш-памяти разрешено.

  • NEBP: флаг запрета стирания флэш-памяти перед ее программированием

0 = перед программированием флэш-памяти осуществляется стирание соответствующей страницы.

1 = перед программированием флэш-памяти не производится ее предварительное стирание.

  • FWS: число тактов ожидания при обращении к флэш-памяти

Это поле определяет количество тактов ожидания при выполнении команд чтении или записи флэш-памяти:

FWS

Команды чтения

Команды записи

0

1 такт ожидания

2 такта ожидания

1

2 такта ожидания

3 такта ожидания

2

3 такта ожидания

4 такта ожидания

3

4 такта ожидания

4 такта ожидания

  • FCMD: число тактов MCK для формирования микросекундных интервалов

Перед обращением к NVM-битам (биты защиты, NVM-биты общего назначения и бит секретности) в этом поле необходимо установить число тактов MCK таким образом, чтобы в итоге получился микросекундный интервал: FCMD.TMCK = 1 мкс, где TMCK - длительность одного периода сигнала MCK.

Предупреждение: FCMD = 0 допустимо только в том случае, если период сигнала MCK составляет не менее 30 мкс (частота MCK не превышает 33 МГц).

Предупреждение: в поле FCMD обязательно должно быть записано корректное значение, в противном случае не гарантируется корректное выполнение команд работы с флэш-памятью.

20.3.2 Регистр команды флэш-памяти

Название регистра: MC_FCR

Вид доступа: только для записи

Смещение: 0x64

31

30

29

28

27

26

25

24

KEY

23

22

21

20

19

18

17

16

-

-

-

-

-

-

PAGEN

15

14

13

12

11

10

9

8

PAGEN

7

6

5

4

3

2

1

0

-

-

-

-

FCMD

  • FCMD: код команды флэш-памяти

Это поле определяет код команды для работы с флэш-памятью.

FCMD

Команда

0000

Нет команды. Не оказывает влияния на флаг ошибки программирования PROGE в регистре статуса MC_FSR.

0001

Команда программирования страницы (WP): Запускает процесс программирования одной страницы, номер которой указан в поле PAGEN.

0010

Команда установки бита защиты (SLB): Запускает процесс установки защиты той области флэш-памяти, номер которой указан в поле PAGEN.

0011

Команда программирования страницы и установки соответствующего ей бита защиты (WPL): Запускает процесс программирования одной страницы, номер которой указан в поле PAGEN. После завершения программирования автоматически устанавливается бит защиты, соответствующий этой странице.

0100

Команда очистки бита защиты (CLB): Запускает процесс снятия защиты той области флэш-памяти, номер которой указан в поле PAGEN.

1000

Команда стирания всей флэш-памяти (EA): Запускает процесс стирания всей реализованной на кристалле области флэш-памяти. Если защищена хотя бы одна страница с помощью бита защиты, то эта команда выполнена не будет.

1011

Команда установки NVM-бита общего назначения (SGPB): Запускает процесс установки NVM-бита общего назначения, номер которого указан в поле PAGEN.

1101

Команда очистки NVM-бита общего назначения (CGPB): Запускает процесс очистки NVM-бита общего назначения, номер которого указан в поле PAGEN.

1111

Команда установки бита секретности (SSB): Установка бита секретности. Очистка бита секретности возможна только по внешнему выводу ERASE.

Остальные значения

Зарезервировано. Вызывает установку флага ошибки программирования PROGE в регистре статуса MC_FSR.

  • FCMD: код команды флэш-памяти

Команда

Назначение поля PAGEN

Команда программирования страницы

Содержимое поля PAGEN определяет номер страницы, которая должна быть запрограммирована.

Команда программирования страницы и установки ее защиты

Содержимое поля PAGEN определяет номер страницы, которая должна быть запрограммирована и защищена.

Команда стирания всей флэш-памяти

Содержимое поля PAGEN не имеет значения

Команда установки/очистки бита защиты

Содержимое поля PAGEN определяет номер страницы, для которой должна быть установлена или снята защита.

Команда установка/очистки NVM-бита общего назначения

Содержимое поля PAGEN определяет номер NVM-бита общего назначения

Команда установки бита секретности

Содержимое поля PAGEN не имеет значения

Примечание:в зависимости от кода команды, неиспользуемые (незадействованные) биты поля PAGEN не имеют значения.

  • KEY: ключевое число

В это поле должно быть записано значение 0xA5, при этом игнорируется попытка записи в это поле любых других значений.

20.3.3 Регистр статуса флэш-памяти

Название регистра: MC_FSR

Вид доступа: только для чтения

Смещение: 0x68

31

30

29

28

27

26

25

24

LOCKS

LOCKS14

LOCKS13

LOCKS12

LOCKS11

LOCKS10

LOCKS9

LOCKS8

23

22

21

20

19

18

17

16

LOCKS7

LOCKS6

LOCKS5

LOCKS4

LOCKS3

LOCKS2

LOCKS1

LOCKS0

15

14

13

12

11

10

9

8

-

-

-

-

-

-

GPNVN1

GPNVN0

7

6

5

4

3

2

1

0

-

-

-

SECURITY

PROGE

LOCKE

-

FRDY

  • FDRY: флаг готовности флэш-памяти

0 = контроллер флэш-памяти (EFCS) занят - приостановлено выполнение очередной команды.

1 = контроллер флэш-памяти готов к выполнению очередной команды.

  • LOCK: флаг ошибки защиты флэш-памяти

0 = еще не возникло ни одной ошибки (с момента последнего чтения регистра MC_FSR) при попытке программирования или стирания защищенной области флэш-памяти (Lock Error).

1 = уже возникла как минимум одна ошибка (с момента последнего чтения регистра MC_FSR) при попытке программирования или стирания защищенной области флэш-памяти.

  • PROGE: флаг ошибки программирования флэш-памяти

0 = еще не возникло ни одной ошибки (с момента последнего чтения регистра MC_FSR) программирования флэш-памяти (Programming Error).

1 = уже возникла как минимум одна ошибка (с момента последнего чтения регистра MC_FSR) при программировании флэш-памяти.

  • SECURITY: состояние бита секретности

0 = бит секретности не установлен.

1 = установлен бит секретности.

  • GPNVMx: состояние NVM-бита общего назначения

0 = соответствующий NVM-бит не установлен.

1 = установлен соответствующий NVM-бит.

  • LOCKx: состояние бита защиты

0 = соответствующая область флэш-памяти не защищена от программирования и стирания.

1 = соответствующая область флэш-памяти защищена от программирования и стирания.

Карта распределения битов LOCKx регистра MC_FSR для микроконтроллеров семейства AT91SAM7S

AT91SAM7S256

AT91SAM7S128

AT91SAM7S64

AT91SAM7S321

AT91SAM7S32

Назначение

16

8

16

8

8

Число бит защиты

LOCK0

LOCK0

LOCK0

LOCK0

LOCK0

Защита области 0

LOCK1

LOCK1

LOCK1

LOCK1

LOCK1

Защита области 1

LOCK2

LOCK2

LOCK2

LOCK2

LOCK2

Защита области 2

LOCK3

LOCK3

LOCK3

LOCK3

LOCK3

Защита области 3

LOCK4

LOCK4

LOCK4

LOCK4

LOCK4

Защита области 4

LOCK5

LOCK5

LOCK5

LOCK5

LOCK5

Защита области 5

LOCK6

LOCK6

LOCK6

LOCK6

LOCK6

Защита области 6

LOCK7

LOCK7

LOCK7

LOCK7

LOCK7

Защита области 7

LOCK8

-

LOCK8

-

-

Защита области 8

LOCK9

-

LOCK9

-

-

Защита области 9

LOCK10

-

LOCK10

-

-

Защита области 10

LOCK11

-

LOCK11

-

-

Защита области 11

LOCK12

-

LOCK12

-

-

Защита области 12

LOCK13

-

LOCK13

-

-

Защита области 13

LOCK14

-

LOCK14

-

-

Защита области 14

LOCK15

-

LOCK15

-

-

Защита области 15

Соседние файлы в папке ПЦиПУ. материалы для Курсового проекта Тютякин А.В.