• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Решено Вызов кода, размещенного в irom вызывает fatal exception(0)

kroonk

New member
Здравствуйте!
Я портирую некоторую операционную систему на ESP8266 в связи с чем решил выкинуть полностью SDK и писать, так сказать, под bare metal. Поначалу все было хорошо и система целиком помещалась в iram. Однако по мере подключения различных ее модулей размер вырос настолько, что она перестала туда влезать. Очевидное решение - перекинуть часть функций в irom, что я и попытался сделать. Однако после запуска выяснилось, что вызов любой функции, размещенной в irom приводит к fatal exception(0) т.е в UART начинают сыпаться ошибки следующего вида:

Fatal exception (0):
epc1=0x40240004, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000

В общем, я в упор не понимаю, в чем может быть проблема и как ее решить, поэтому был бы очень рад получить какую-нибудь помощь от сообщества.
 

pvvx

Активный участник сообщества
А включить отображение Flash в адресное пространство процессора не пробовали? :confused:
 

kroonk

New member
Пробовал вызывать
Cache_Read_Enable(0,0,1);
не помогает :(
Может еще что-то нужно сделать?
 

pvvx

Активный участник сообщества
Последнее редактирование:

kroonk

New member
Инициализировать интерфейс "кеширования" и Flash.
Если честно, пока слабо понимаю, что именно надо делать, гугл довольно мало информации выдает. Пока что нашел у вас на гитхабе реализацию, буду разбираться. Буду благодарен, если сможете скинуть какие-нибудь более структурированные материалы, может документация на эту тему есть...

Правка: почему-то не заметил ссылок в сообщении, но нашел их сам в гугле, извиняюсь :)
 
Последнее редактирование:

pvvx

Активный участник сообщества
Если честно, пока слабо понимаю, что именно надо делать, гугл довольно мало информации выдает. Пока что нашел у вас на гитхабе реализацию, буду разбираться. Буду благодарен, если сможете скинуть какие-нибудь более структурированные материалы, может документация на эту тему есть...

Правка: почему-то не заметил ссылок в сообщении, но нашел их сам в гугле, извиняюсь :)
Я их потом дописал, когда процесс в мозге работал над вопросом в "теневом режиме на низшем приоритете"... :)
Сразу то ссылок не вставить - надо копаться, а будет ли время на это - неизвестно. А пользователям нужен ответ и побыстрее :) Уточнения можно вписать потом, если есть на то время...
 
Сверху Снизу