ESP8266:Прошивки/Arduino/Причины исключений (EXCCAUSE): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
 
Строка 7: Строка 7:
=Причины исключений (EXCCAUSE)<ref>[http://arduino-esp8266.readthedocs.io/en/latest/exception_causes.html arduino-esp8266.readthedocs.io - Exception Causes (EXCCAUSE)]</ref>=
=Причины исключений (EXCCAUSE)<ref>[http://arduino-esp8266.readthedocs.io/en/latest/exception_causes.html arduino-esp8266.readthedocs.io - Exception Causes (EXCCAUSE)]</ref>=


{| class="wikitable"
{| class="wikitable" style="margin:0 auto"
|-
|-
|  '''Код'''
|  '''Код'''

Текущая версия от 12:59, 18 июня 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



Причины исключений (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.

См.также

Внешние ссылки