From 469a6cfe47eb073c1e5c0c31b0fe6101841f6900 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Thu, 29 Oct 2015 17:30:27 +0200 Subject: [PATCH] Describe "cross" branch. --- CrossBranch.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 CrossBranch.md diff --git a/CrossBranch.md b/CrossBranch.md new file mode 100644 index 0000000..3b7dd0a --- /dev/null +++ b/CrossBranch.md @@ -0,0 +1,7 @@ +Branch `cross` in the repository contains some convenience/example scripts to cross-compiler MicroPython to various targets (currently that's Linux-based systems of various architectures). The branch is *experimental*, subject to change without notice, and it is being rebased regularly (which mean you should use `git pull --rebase` command to update your local checkout). + +You can browse contents of this branch at https://github.com/micropython/micropython/commits/cross (and due to the fact that branch is rebased on top of master, its changes are always "at the top"). + +The general idea is that there're unix/build-.sh scripts which build MicroPython executable for a particular target, using suitable cross-compiling toolchain and set of options. You already should have a cross-compiler installed, a build scripts try to provide links/instructions how to set it up. Cross-compiling options are configured in such way as to compile as standalone binary as possibly (ultimately, linked sully statically and requiring just bare Linux kernel to run, but we're not yet there). + +Beyond the build script, if a target is supported by QEMU user-level emulation, there's a convenience `unix/micropython.` script provided to run cross-compiled binary via such emulation (until binaries are fully static, this requires at least small target filesystem with libraries, etc. - it is usually part of cross-compiling toolchain). As a final convenience, `tests/run-tests.` script is provided, to run MicroPython testsuite using `micropython.` wrapper.