Skip to content

Most modules do not work on Cortex M0 / RP2040 - size limitation #14

Closed
@jonnor

Description

@jonnor

RP2040 and other Cortex M0/M0+ devices (ARCH=armv6m) only support ARM Thumb (not Thumb 2) instruction set. As of MicroPython 1.23, the linker for .mpy files only supports jumps that are under 11 bits. This limits module sizes to around 2kB maximum.

Most of the emlearn-micropython modules are slightly larger than 2kB on armv6m. The module sizes are a bit larger than some other architectures, since this architecture does not have floating point hardware, and we need to include some soft-float support.

At the moment, this is blocking most practical uses on Cortex M0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions