Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GPIO_PIN0 undefined in rom/gpio.h #12

Closed
MakerAsia opened this issue Sep 15, 2016 · 2 comments
Closed

GPIO_PIN0 undefined in rom/gpio.h #12

MakerAsia opened this issue Sep 15, 2016 · 2 comments

Comments

@MakerAsia
Copy link

define GPIO_PIN_ADDR(i) (GPIO_PIN0 + i*4) -- line 41

GPIO_PIN0 should be GPIO_PIN0_REG

@projectgus
Copy link
Contributor

Thanks @MakerAsia, looks like this got missed in the changes that normalised register names. We'll push a fix ASAP.

igrr pushed a commit that referenced this issue Sep 19, 2016
igrr pushed a commit that referenced this issue Sep 19, 2016
rom/gpio.h: Use new GPIO_PIN0_REG register name

Closes github #12

See merge request !86
@igrr
Copy link
Member

igrr commented Sep 20, 2016

Fixed in master.

@igrr igrr closed this as completed Sep 20, 2016
tim-nordell-nimbelink added a commit to tim-nordell-nimbelink/esp-idf that referenced this issue Feb 28, 2019
It's possible for esp_pm_impl_isr_hook(...) to be nested due to the fact
that interrupts are nested on the ESP32.  To fix this we need to place the
acquiring of the lock into a critical section to ensure it does not get
nested on the system, otherwise the system will never release the idle
lock when this occurs and will not go into lower power states.

A sample backtrace encountering this (the code was instrumented to go into
a while(1) loop when the condition was hit to get this backtrace) from
commit d7a7a68:

    #0  leave_idle () at esp-idf/components/esp32/pm_esp32.c:444
    espressif#1  0x4008143a in esp_pm_impl_isr_hook () at esp-idf/components/esp32/pm_esp32.c:473
    espressif#2  0x40082750 in _xt_medint2 () at esp-idf/components/freertos/xtensa_vectors.S:1243
    espressif#3  0x4000bff0 in ?? ()
    espressif#4  0x40090bb0 in vTaskExitCritical (mux=0x3ffbd230) at esp-idf/components/freertos/tasks.c:4304
    espressif#5  0x40081758 in esp_pm_lock_acquire (handle=0x3ffbd218) at esp-idf/components/esp32/pm_locks.c:126
    espressif#6  0x40081399 in leave_idle () at esp-idf/components/esp32/pm_esp32.c:440
    espressif#7  0x4008143a in esp_pm_impl_isr_hook () at esp-idf/components/esp32/pm_esp32.c:473
    espressif#8  0x400826b8 in _xt_lowint1 () at esp-idf/components/freertos/xtensa_vectors.S:1154
    espressif#9  0x400d14b0 in esp_pm_impl_waiti () at esp-idf/components/esp32/pm_esp32.c:483
    espressif#10 0x400d2c77 in esp_vApplicationIdleHook () at esp-idf/components/esp32/freertos_hooks.c:63
    espressif#11 0x40091008 in prvIdleTask (pvParameters=0x0) at esp-idf/components/freertos/tasks.c:3412
    espressif#12 0x40090344 in vPortTaskWrapper (pxCode=0x40090ffc <prvIdleTask>, pvParameters=0x0) at esp-idf/components/freertos/port.c:143

Signed-off-by: Tim Nordell <tim.nordell@nimbelink.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants