Задать вопрос
@djEban

Каким образом прерывания работают в esp8266?

В atmega328p прерывания устроены довольно легко: есть таблица векторов, выгружаемая по адресу 0

Ни в датащите, ни в информации о memory map ничего не указано про подобную таблицу для esp8266

UPD:

Нашел документацию по ISA Xtensa, в ней указан UserExceptionVector , который предназначен для обработки ошибок и прерываний первого уровня

В memory map esp8266 этот вектор заносится по адресу 0x40000050
В самом sdk адреса задают 0x40010000 + offset
Не пойму, почему 0x40010000, если в memory map указан от 0x40000010 до 0x40000080, а по 0x40010000 запускается само приложение

https://github.com/SuperHouse/esp-open-rtos/blob/5...

https://github.com/SuperHouse/esp-open-rtos/blob/5...
  • Вопрос задан
  • 167 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Нашел документацию по ISA Xtensa

Если вопрос действительно "каким образом прерывания работают", то isa book -- правильное место чтобы начать разбираться.

В memory map esp8266 этот вектор заносится по адресу 0x40000050
Не уверен, конечно, что это так


Это так, можно посмотреть в конфигурационном оверлее.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы