Skip to content

Prevent hidden use of non-IRAM interrupt service routines via FunctionalInterrupt API #2748

Closed
@dok-net

Description

@dok-net

If one uses the FunctionaInterrupt attachInterrupt, the ESP32 will accept and execute ISRs that are not in IRAM. The C++ compiler currently does not (same problem in ESP8266) honor IRAM_ATTR for std::bind, std::function, or lambdas - probably never will, or otherwise a lot of std-namespace code would have to be marked as IRAM_ATTR.
This problem is avoided by either either removing (#2734 ) the problematic FunctionalInterrupt interface, or by providing safe scheduling for std::function, std::bind, lambdas through "scheduled ISRs." (TBD, under investigation )

Metadata

Metadata

Assignees

No one assigned

    Labels

    Status: StaleIssue is stale stage (outdated/stuck)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions