ESP8266:Прошивки/Arduino/Причины исключений (EXCCAUSE)
Материал из Онлайн справочника
< ESP8266:Прошивки | Arduino
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
![]() |
Черновик |
Причины исключений (EXCCAUSE)[1]
Код | Название исключения | Описание исключения | Нужная опция | Показ EXC-VADDR |
0 | IllegalInstructionCause | Запрещенная команда | Опция исключения | Нет |
1 | SyscallCause | Команда SYSCALL | Опция исключения | Нет |
2 | InstructionFetchErrorCause | Ошибка, связанная с адресом вызова команды или данными команды | Опция исключения | Да |
3 | LoadStoreErrorCause | Ошибка, связанная с загрузкой или хранением внешних адреса или данных | Опция исключения | Да |
4 | Level1InterruptCause | Прерывание 1-го уровня, заданное при помощи битов 1-го уровня, загруженных в регистр INTERRUPT | Опция прерывания | Нет |
5 | AllocaCause | Команда MOVSP. Если регистры вызывающей функции не находятся в регистровом файле. | Опция регистрового окна | Нет |
6 | IntegerDivideByZeroCause | Операнд делителя QUOS, QUQU, REMS или REMU является нулем. | Опция деления 32-битного целого числа | Нет |
7 | Зарезервировано для Tensilica | |||
8 | PrivilegedCause | Попытка выполнить привилегированную операцию, когда CRING != 0 | Опция MMU | Нет |
9 | LoadStoreAlignmentCause | Загрузка или сохранение в невыровненный адрес | Опция исключений из-за невыровненных адресов | Да |
10..11 | Зарезервировано для Tensilica | |||
12 | InstrPIFDataErrorCause | Ошибка с PIF-данными во время вызова команды | Опция интерфейса процессора | Да |
13 | LoadStorePIFDataErrorCause | Ошибка с синхронными PIF-данными во время доступа для загрузки/сохранения | Опция интерфейса процессора | Да |
14 | InstrPIFAddrErrorCause | Ошибка с PIF-адресом во время вызова команды | Опция интерфейса процессора | Да |
15 | LoadStorePIFAddrErrorCause | Ошибка с синхронным PIF-адресом во время доступа для загрузки/сохранения | Опция интерфейса процессора | Да |
16 | InstTLBMissCause | Ошибка во время повторного заполнения TLB для команд | Опция MMU | Да |
17 | InstTLBMultiHitCause | Совпадает много записей в TLB для команд | Опция MMU | Да |
18 | InstFetchPrivilegeCause | Вызов команды отсылает к виртуальному адресу, находящемуся на уровне кольца меньше CRING | Опция MMU | Да |
19 | Зарезервировано для Tensilica | |||
20 | InstFetchProhibitedCause | Вызов команды отсылает к странице, отображенной с атрибутом, который не разрешает вызов команды | Опция MMU или защиты региона | Да |
21..23 | Зарезервировано для Tensilica | |||
24 | LoadStoreTLBMissCause | Ошибка во время повторного заполнения TLB для загрузки или сохранения | Опция MMU | Да |
25 | LoadStoreTLBMultiHitCause | Совпадает много записей в TLB при загрузке или сохранении | Опция MMU | Да |
26 | LoadStorePrivilegeCause | Загрузка или сохранение отсылает к виртуальному адресу, находящемуся на уровне кольца меньше CRING | Опция MMU | Да |
27 | Зарезервировано для Tensilica | |||
28 | LoadProhibitedCause | Загрузка отсылает к странице, отображенной с атрибутом, который не разрешает загрузки | Опция MMU или защиты региона | Да |
29 | StoreProhibitedCause | Сохранение отсылает к странице, отображенной с атрибутом, который не разрешает сохранения | Опция MMU или защиты региона
|
Да |
30..31 | Зарезервировано для Tensilica | |||
32..39 | CoprocessornDisabled | Команда сопроцессору N, когда он отключен. Значение N варьируется от 0 до 7, в итоге выдавая код в промежутке между 32 и 39 | Опция сопроцессора | Нет |
40..63 | Зарезервированы на будущее |
Информация взята из справочного руководства по архитектуре набора команд Xtensa.