9bdb82ef6b
This is a fix for https://github.com/micropython/micropython/issues/2209: by default a file created using open() uses text translation mode so writing \n to it will result in the file having \r\n. This is obviously problematic for binary .mpy files, so provide functions for setting the open mode and use binary mode in mpy-cross' main(). |
||
---|---|---|
.. | ||
.gitignore | ||
gccollect.c | ||
main.c | ||
Makefile | ||
mpconfigport.h | ||
mphalport.h | ||
qstrdefsport.h | ||
README.md |
MicroPython cross compiler
This directory contains the MicroPython cross compiler, which runs under any Unix-like system and compiles .py scripts into .mpy files.
Build it as usual:
$ make
The compiler is called mpy-cross
. Invoke it as:
$ ./mpy-cross foo.py
This will create a file foo.mpy which can then be copied to a place accessible
by the target MicroPython runtime (eg onto a pyboard's filesystem), and then
imported like any other Python module using import foo
.
Different target runtimes may require a different format of the compiled bytecode, and such options can be passed to the cross compiler. For example, the unix port of MicroPython requires the following:
$ ./mpy-cross -mcache-lookup-bc foo.py
Run ./mpy-cross -h
to get a full list of options.