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

24.8 Контроллер прерываний aic. Интерфейс пользователя

24.8.1 Базовый адрес

Контроллер прерываний в адресном пространстве расположен по 0xFFFF F000. для него отведено 4-кБайта адресного пространства. Это позволяет задать векторы прерываний, обеспечивая поддержку ±4-кБайтного смещения для загрузки/хранения команд доступных через программный счетчик PC.

Таблица 24-2. Контроллер прерываний AlC. Описание регистров

Смещение

Регистр

Обозначение

Тип доступа

Значение после сброса

0000

Регистр источника прерывания 0

AIC_SMR0

Чтение/Запись

0x0

0x04

Регистр источника прерывания 1

AIC_SMR1

Чтение/Запись

0x0

-

-

-

-

-

0x7C

Регистр источника прерывания 31

AIC_SMR31

Чтение/Запись

0x0

0x80

Вектор прерывания 0

AIC_SVR0

Чтение/Запись

0x0

0x84

Вектор прерывания 1

AIC_SVR1

Чтение/Запись

0x0

-

-

-

-

-

0xFC

Вектор прерывания 31

AIC_SVR31

Чтение/Запись

0x0

0x100

Регистр вектора прерывания

AIC_IVR

Только Чтение

0x0

0x104

Регистр вектора быстрого прерывания

AIC_FVR

Только Чтение

0x0

0x108

Регистр статуса прерывания

AIC_ISR

Только Чтение

0x0

0x10C

Регистр обрабатываемого прерывания

AIC_IPR

Только Чтение

0x0(1)

0x110

Регистр маски прерывания

AIC_IMR

Только Чтение

0x0

0x114

Регистр статуса прерываний ядра

AIC_CISR

Только Чтение

0x0

0x118

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

-

-

-

0x11C

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

-

-

-

0x120

Регистр разрешения прерываний

AIC_IECR

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

-

0x124

Регистр запрета прерываний

AIC_IDCR

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

-

0x128

Регистр сброса прерываний

AIC_ICCR

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

-

0x12C

Регистр установки прерываний

AIC_ISCR

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

-

0x130

Регистр окончания прерывания

AIC_EOICR

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

-

0x134

Регистр вектора случайных прерываний

AIC_SPU

Чтение/Запись

0x0

0x138

Регистр управления отладки

AIC_DCR

Чтение/Запись

0x0

0x13C

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

-

-

-

0x140

Регистр разрешения быстрых прерываний

AIC_FFER

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

-

0x144

Регистр запрета быстрых прерываний

AIC_FFDR

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

-

0x148

Регистр статуса быстрых прерываний

AIC_FFSR

Только Чтение

0x0

Примечание: 1. Значение этого регистра после сброса зависит от приоритета источника внешнего прерывания. Остальные источники после сброса очищаются, кроме неотработанного.

24.8.2 Регистр источника прерывания

Обозначение регистра: AIC_SMR0.. AIC_SMR31

Тип доступа: Чтение/Запись

Значение после сброса: 0x0

31

30

29

28

27

26

25

24

-

-

-

-

-

-

-

-

23

22

21

20

19

18

17

16

-

-

-

-

-

-

-

-

15

14

13

12

11

10

9

8

-

-

-

-

-

-

-

-

7

6

5

4

3

2

1

0

-

SRCTYPE

-

-

PRIOR

  • PRIOR: Приоритет прерывания

Приоритет прерывания устанавливается для всех источников прерываний, кроме источника FIQ (0-ой источник).

Приоритет задается между 0 (самый низкий ) и 7 (самый высокий).

В регистре для FIQ источника приоритет не используется.

  • SRCTYPE: Тип источника прерывания

Для внутренних источников прерывания активный уровень источника прерывания (по уровню или по фронту) не задается.

SRCTYPE

Источники внутренних прерываний

Источники внешних прерываний

0

0

Высокий уровень

Низкий уровень

0

1

Положительный фронт

Отрицательный фронт

1

0

Высокий уровень

Высокий уровень

1

1

Положительный фронт

Положительный фронт

24.8.3 Вектор прерывания

Обозначение регистра: AIC_SVR0..AIC_SVR31

Тип доступа: Чтение/Запись

Значение после сброса: 0x0

31

30

29

28

27

26

25

24

VECTOR

23

22

21

20

19

18

17

16

VECTOR

15

14

13

12

11

10

9

8

VECTOR

7

6

5

4

3

2

1

0

VECTOR

  • VECTOR: Вектор прерывания

В эти регистры записываются адреса соответствующих процедур обработки прерывания для каждого источника.

24.8.4 Регистр вектора прерывания

Обозначение регистра: AIC_IVR

Тип доступа: Только Чтение

Значение после сброса: 0x0

31

30

29

28

27

26

25

24

IRQV

23

22

21

20

19

18

17

16

IRQV

15

14

13

12

11

10

9

8

IRQV

7

6

5

4

3

2

1

0

IRQV

  • IRQV: Регистр вектора прерывания

Регистр вектора прерывания содержит вектор, программируемый пользователем в Регистре источника прерывания в соответствии с текущим источником прерывания.

Регистр источника прерывания индексируется, используя номер текущего прерывания при прочтении Регистра вектора прерывания. При отсутствии текущего прерывания чтение Регистра вектора прерывания дает значение, сохраненное в регистре вектора случайных прерываний AIC_SPU.

24.8.5 Регистр вектора быстрого прерывания

Обозначение регистра: AIC_FVR

Тип доступа: Только Чтение

Значение после сброса: 0x0

31

30

29

28

27

26

25

24

FIQV

23

22

21

20

19

18

17

16

FIQV

15

14

13

12

11

10

9

8

FIQV

7

6

5

4

3

2

1

0

FIQV

  • FIQV: Регистр вектора быстрого прерывания

Регистр вектора быстрого прерывания содержит вектор, программируемый пользователем в 0-ой вектор прерывания При отсутствии быстрого прерывания чтение Регистра вектора прерывания дает значение сохраненное в регистре вектора случайных прерываний AIC_SPU.

24.8.6 Регистр статуса прерывания

Обозначение регистра: AIC_ISR

Тип доступа: Только Чтение

Значение после сброса: 0x0

31

30

29

28

27

26

25

24

-

-

-

-

-

-

-

-

23

22

21

20

19

18

17

16

-

-

-

-

-

-

-

-

15

14

13

12

11

10

9

8

-

-

-

-

-

-

-

-

7

6

5

4

3

2

1

0

-

-

-

IRQID

  • IRQID: Идентификатор текущего прерывания

Регистр статуса прерывания возвращает номер источника текущего прерывания.

24.8.7 Регистр обрабатываемого прерывания

Обозначение регистра: AIC_IPR

Тип доступа: Только Чтение

Значение после сброса: 0x0

31

30

29

28

27

26

25

24

PID31

PID30

PID29

PID28

PID27

PID26

PID25

PID24

23

22

21

20

19

18

17

16

PID23

PID22

PID21

PID20

PID19

PID18

PID17

PID16

15

14

13

12

11

10

9

8

PID15

PID14

PID13

PID12

PID11

PID10

PID9

PID8

7

6

5

4

3

2

1

0

PID7

PID6

PID5

PID4

PID3

PID2

SYS

FIQ

  • FIQ, SYS, PID2-PID31: Обрабатываемое прерывание

0 = Соответствующее прерывание не обрабатывается.

1 = Соответствующее прерывание обрабатывается.

24.8.8 Регистр маски прерывания

Обозначение регистра: AIC_IMR

Тип доступа: Только Чтение

Значение после сброса: 0x0

31

30

29

28

27

26

25

24

PID31

PID30

PID29

PID28

PID27

PID26

PID25

PID24

23

22

21

20

19

18

17

16

PID23

PID22

PID21

PID20

PID19

PID18

PID17

PID16

15

14

13

12

11

10

9

8

PID15

PID14

PID13

PID12

PID11

PID10

PID9

PID8

7

6

5

4

3

2

1

0

PID7

PID6

PID5

PID4

PID3

PID2

SYS

FIQ

  • FIQ, SYS, PID2-PID31: Маска прерывание

0= Соответствующее прерывание запрещено.

1= Соответствующее прерывание разрешено.

24.8.9 Регистр статуса прерываний ядра

Обозначение регистра: AIC_CISR

Тип доступа: Только Чтение

Значение после сброса: 0x0

 

 

 

28

27

26

25

24

 

 

 

-

-

-

-

-

23

22

21

20

19

18

17

16

-

-

-

-

-

-

-

-

15

14

13

12

11

10

9

8

-

-

-

-

-

-

-

-

7

6

5

4

3

2

1

0

-

-

-

-

-

-

NIRQ

NFIQ

  • NFIQ: Статус NFIQ

0 = nFIQ сигнал неактивен.

1 = nFIQ сигнал активен.

  • NIRQ: Статус NIRQ

0 = nIRQ сигнал неактивен.

1 = nIRQ сигнал активен.

24.8.10 Регистр разрешения прерываний

Обозначение регистра: AIC_IECR

Тип доступа: Только Запись

31

30

29

28

27

26

25

24

PID31

PID30

PID29

PID28

PID27

PID26

PID25

PID24

23

22

21

20

19

18

17

16

PID23

PID22

PID21

PID20

PID19

PID18

PID17

PID16

15

14

13

12

11

10

9

8

PID15

PID14

PID13

PID12

PID11

PID10

PID9

PID8

7

6

5

4

3

2

1

0

PID7

PID6

PID5

PID4

PID3

PID2

SYS

FIQ

  • FIQ, SYS, PID2-PID31: Разрешение прерывания

0= Нет влияния.

1= Разрешить соответствующее прерывание.

24.8.11 Регистр запрета прерываний

Обозначение регистра: AIC_IDCR

Тип доступа: Только Запись

31

30

29

28

27

26

25

24

PID31

PID30

PID29

PID28

PID27

PID26

PID25

PID24

23

22

21

20

19

18

17

16

PID23

PID22

PID21

PID20

PID19

PID18

PID17

PID16

15

14

13

12

11

10

9

8

PID15

PID14

PID13

PID12

PID11

PID10

PID9

PID8

7

6

5

4

3

2

1

0

PID7

PID6

PID5

PID4

PID3

PID2

SYS

FIQ

  • FIQ, SYS, PID2-PID31: Запрет прерывания

0= Нет влияния.

1= Запретить соответствующее прерывание.

24.8.12 Регистр сброса прерываний

Обозначение регистра: AIC_ICCR

Тип доступа: Только Запись

31

30

29

28

27

26

25

24

PID31

PID30

PID29

PID28

PID27

PID26

PID25

PID24

23

22

21

20

19

18

17

16

PID23

PID22

PID21

PID20

PID19

PID18

PID17

PID16

15

14

13

12

11

10

9

8

PID15

PID14

PID13

PID12

PID11

PID10

PID9

PID8

7

6

5

4

3

2

1

0

PID7

PID6

PID5

PID4

PID3

PID2

SYS

FIQ

  • FIQ, SYS, PID2-PID31: Сброс прерывания

0= Нет влияния.

1= Сброс соответствующего прерывания.

24.8.13 Регистр установки прерываний

Обозначение регистра: AIC_ISCR

Тип доступа: Только Запись

31

30

29

28

27

26

25

24

PID31

PID30

PID29

PID28

PID27

PID26

PID25

PID24

23

22

21

20

19

18

17

16

PID23

PID22

PID21

PID20

PID19

PID18

PID17

PID16

15

14

13

12

11

10

9

8

PID15

PID14

PID13

PID12

PID11

PID10

PID9

PID8

7

6

5

4

3

2

1

0

PID7

PID6

PID5

PID4

PID3

PID2

SYS

FIQ

  • FIQ, SYS, PID2-PID31: Установка прерывания

0= Нет влияния.

1= Установка соответствующего прерывания.

24.8.14 Регистр окончания прерывания

Обозначение регистра: AIC_EOICR

Тип доступа: Только Запись

31

30

29

28

27

26

25

24

-

-

-

-

-

-

-

-

23

22

21

20

19

18

17

16

-

-

-

-

-

-

-

-

15

14

13

12

11

10

9

8

-

-

-

-

-

-

-

-

7

6

5

4

3

2

1

0

-

-

-

-

-

-

-

-

Регистр окончания прерывания используется процедурой обработки прерывания для обозначения окончания обработки прерывания. Можно записать любое значение, так как требуется только произвести запись в этот регистр для сигнализации окончания обработки прерывания.

24.8.15 Регистр вектора случайного прерывания

Обозначение регистра: AIC_FVR

Тип доступа: Чтение/Запись

Значение после сброса: 0x0

31

30

29

28

27

26

25

24

SIQV

23

22

21

20

19

18

17

16

SIQV

15

14

13

12

11

10

9

8

SIQV

7

6

5

4

3

2

1

0

SIQV

  • SIQV: Регистр вектора случайного прерывания

В этот регистр можно записать адрес процедуры обработки случайного прерывания. Записанное значение возвращается в регистр AIC_IVR в случае общего случайного прерывания и в регистр AIC_FVR в случае быстрого случайного прерывания.

24.8.16 Регистр управления отладки

Обозначение регистра: AIC_DEBUG

Тип доступа: Чтение/Запись

Значение после сброса: 0x0

31

30

29

28

27

26

25

24

-

-

-

-

-

-

-

-

23

22

21

20

19

18

17

16

-

-

-

-

-

-

-

-

15

14

13

12

11

10

9

8

-

-

-

-

-

-

-

-

7

6

5

4

3

2

1

0

-

-

-

-

-

-

GMSK

PROT

  • PROT: Защищенный режим

0 = Защищенный режим запрещен.

1 = Защищенный режим разрешен.

  • GMSK: Общая маска

0 = Сигналы nIRQ и nFIQ управляются контроллером прерываний.

1 = Сигналы nIRQ и nFIQ подключены к неактивным состояниям.

24.8.17 Регистр разрешения эмуляции быстрого прерывания

Обозначение регистра: AIC_FFER

Тип доступа: Только Запись

31

30

29

28

27

26

25

24

PID31

PID30

PID29

PID28

PID27

PID26

PID25

PID24

23

22

21

20

19

18

17

16

PID23

PID22

PID21

PID20

PID19

PID18

PID17

PID16

15

14

13

12

11

10

9

8

PID15

PID14

PID13

PID12

PID11

PID10

PID9

PID8

7

6

5

4

3

2

1

0

PID7

PID6

PID5

PID4

PID3

PID2

SYS

-

  • SYS, PID2-PID31: Разрешение эмуляции быстрого прерывания

0= Нет влияния.

1= Разрешение эмуляции быстрого прерывания для соответствующего прерывания

24.8.18 Регистр запрета эмуляции быстрого прерывания

Обозначение регистра: AIC_FFDR

Тип доступа: Только Запись

31

30

29

28

27

26

25

24

PID31

PID30

PID29

PID28

PID27

PID26

PID25

PID24

23

22

21

20

19

18

17

16

PID23

PID22

PID21

PID20

PID19

PID18

PID17

PID16

15

14

13

12

11

10

9

8

PID15

PID14

PID13

PID12

PID11

PID10

PID9

PID8

7

6

5

4

3

2

1

0

PID7

PID6

PID5

PID4

PID3

PID2

SYS

-

  • SYS, PID2-PID31: Запрет эмуляции быстрого прерывания

0= Нет влияния.

1= Запрет эмуляции быстрого прерывания для соответствующего прерывания

24.8.19 Регистр статуса эмуляции быстрого прерывания

Обозначение регистра: AIC_FFSR

Тип доступа: Только Чтение

31

30

29

28

27

26

25

24

PID31

PID30

PID29

PID28

PID27

PID26

PID25

PID24

23

22

21

20

19

18

17

16

PID23

PID22

PID21

PID20

PID19

PID18

PID17

PID16

15

14

13

12

11

10

9

8

PID15

PID14

PID13

PID12

PID11

PID10

PID9

PID8

7

6

5

4

3

2

1

0

PID7

PID6

PID5

PID4

PID3

PID2

SYS

-

  • SYS, PID2-PID31: Статус эмуляции быстрого прерывания

0= Режим эмуляции быстрого прерывания запрещен для соответствующего прерывания.

1= Режим эмуляции быстрого прерывания разрешен для соответствующего прерывания

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