gpio_install_isr_service() returns ESP_ERR_NOT_FOUND

edclombardo
Posts: 2
Joined: Mon Feb 26, 2018 5:09 am

gpio_install_isr_service() returns ESP_ERR_NOT_FOUND

Postby edclombardo » Wed Jan 20, 2021 5:37 am

Hi,
I have ESP32 with ov2645 and OLED display (No PSRAM). I am using esp-idf v4.1.0. The code compiles successfully but when run on the board I get an error when initializing the ov2645 camera. The error occurs when gpio_install_isr_service(ESP_INTR_FLAG_LEVEL1 | ESP_INTR_FLAG_IRAM) is called. The return value is ESP_ERR_NOT_FOUND. What does this error mean? I looked in the eclipse sdkconfig for anything related to interrupts that may not be enabled with no success. I have spent couple days google searching with no success, so I am trying the forum in hope that someone can shed some light as to how to correct this error.

Thanks,
Ed

Log:
I (5015) camera: Searching for camera address
I (5035) camera: Detected camera at address=0x30
I (5035) camera: Resetting OV2640
I (5165) camera: Camera PID=0x26 VER=0x42 MIDL=0x7f MIDH=0xa2
I (5165) camera: Doing SW reset of sensor
I (6625) camera: camera_probe() PASS
I (6625) camera: Detected OV2640 camera
I (6625) camera: camera_init()
I (6635) camera: Allocating 1 frame buffers (37 KB total)
I (6635) camera: Allocating 37 KB frame buffer in OnBoard RAM
E (6635) camera: gpio_install_isr_service failed (0x105:ESP_ERR_NOT_FOUND)
E (6645) camera: Camera init failed with error 0x105
E (6645) camera: Camera Init Failed

WilliamR
Posts: 6
Joined: Wed Jan 13, 2021 1:03 am

Re: gpio_install_isr_service() returns ESP_ERR_NOT_FOUND

Postby WilliamR » Wed Jan 20, 2021 7:25 am

I ran into a similar error when using the latest source files for esp32-camera-master. I was only able to resolve it by downgrading my installation of camera.c, ov2640.c, etc to the historical revision from Aug 29, 2019. https://github.com/espressif/esp32-came ... de1c24bb9a. I simply manually replaced all the source files for camera.c, ov2640.c, sensor.h, CMakeLists.txt, ect (every file in the linked directory) and was able to resolve the issue on my end.

In my installation, the source files were located under /esp-idf/components/esp32-camera-master

The next issue which popped up was that camera_fb_t* esp_camera_fb_get() in camera.c would sometimes fail to return, instead hanging on xSemaphoreTake, which never was fulfilled. To fix this, I simply copy and pasted the updated code for camera_fb_t* esp_camera_fb_get() from the current build (it has a timeout mechanism to escape xSemaphoreTake)

Someone with more background should feel free to correct me or recommend a better solution.

edclombardo
Posts: 2
Joined: Mon Feb 26, 2018 5:09 am

Re: gpio_install_isr_service() returns ESP_ERR_NOT_FOUND

Postby edclombardo » Sat Jan 23, 2021 8:51 pm

Thanks William you for responding. I would rather not go backwards, will keep looking deeper into why this error occurred.

gibzwein
Posts: 11
Joined: Fri Jul 03, 2020 3:19 am

Re: gpio_install_isr_service() returns ESP_ERR_NOT_FOUND

Postby gibzwein » Sun Feb 14, 2021 12:05 pm

Hi,
have You solved this issue? I have the same.
Regards

VadimKHL
Posts: 11
Joined: Thu May 21, 2020 1:19 am

Re: gpio_install_isr_service() returns ESP_ERR_NOT_FOUND

Postby VadimKHL » Sat Mar 06, 2021 7:56 pm

Hello!
Same problem.

E (1857) camera: gpio_install_isr_service failed (105)
E (1858) camera: Camera init failed with error 0x105

Did you manage to solve it?

kraxor
Posts: 7
Joined: Wed Jan 13, 2021 12:08 pm

Re: gpio_install_isr_service() returns ESP_ERR_NOT_FOUND

Postby kraxor » Sun Apr 25, 2021 6:28 am

Hi,

I'm not using the ov2645 camera but came across the same error while implementing a class that uses interrupts. Sharing my experience here because there aren't many great google results out there.

Consider this:

Code: Select all

class MyClass {
  // constructor calls gpio_install_isr_service()
}

MyClass *instance1 = new MyClass(); // will fail with ESP_ERR_NOT_FOUND
MyClass *instance2;

void app_main() {
  instance2 = new MyClass(); // will work
}
In case of instance1 the class is initialized before app_main is called. I'm guessing that the interrupt system is not ready at that point? Anyway, moving the initialization to a later point (e.g. instance2) solved the problem for me.

Hope this helps someone.

Who is online

Users browsing this forum: Gaston1980 and 127 guests