summaryrefslogtreecommitdiff
path: root/examples/embedding/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'examples/embedding/README.md')
-rw-r--r--examples/embedding/README.md67
1 files changed, 0 insertions, 67 deletions
diff --git a/examples/embedding/README.md b/examples/embedding/README.md
deleted file mode 100644
index 804dfede6..000000000
--- a/examples/embedding/README.md
+++ /dev/null
@@ -1,67 +0,0 @@
-Example of embedding MicroPython in a standlone C application
-=============================================================
-
-This directory contains a (very simple!) example of how to embed a MicroPython
-in an existing C application.
-
-A C application is represented by the file hello-embed.c. It executes a simple
-Python statement which prints to the standard output.
-
-
-Building the example
---------------------
-
-Building the example is as simple as running:
-
- make
-
-It's worth to trace what's happening behind the scenes though:
-
-1. As a first step, a MicroPython library is built. This is handled by a
-separate makefile, Makefile.upylib. It is more or less complex, but the
-good news is that you won't need to change anything in it, just use it
-as is, the main Makefile shows how. What may require editing though is
-a MicroPython configuration file. MicroPython is highly configurable, so
-you would need to build a library suiting your application well, while
-not bloating its size. Check the options in the file "mpconfigport.h".
-Included is a copy of the "minimal" Unix port, which should be a good start
-for minimal embedding. For the list of all available options, see
-py/mpconfig.h.
-
-2. Once the MicroPython library is built, your application is compiled
-and linked it. The main Makefile is very simple and shows that the changes
-you would need to do to your application's Makefile (or other build
-configuration) are also simple:
-
-a) You would need to use C99 standard (you're using this 15+ years old
-standard already, not a 25+ years old one, right?).
-
-b) You need to provide a path to MicroPython's top-level dir, for includes.
-
-c) You need to include -DNO_QSTR compile-time flag.
-
-d) Otherwise, just link with the MicroPython library produced in step 1.
-
-
-Out of tree build
------------------
-
-This example is set up to work out of the box, being part of the MicroPython
-tree. Your application of course will be outside of its tree, but the
-only thing you need to do is to pass MPTOP variable pointing to
-MicroPython directory to both Makefiles (in this example, the main Makefile
-automatically passes it to Makefile.upylib; in your own Makefile, don't forget
-to use a suitable value).
-
-A practical way to embed MicroPython in your application is to include it
-as a git submodule. Suppose you included it as libs/micropython. Then in
-your main Makefile you would have something like:
-
-~~~
-MPTOP = libs/micropython
-
-my_app: $(MY_OBJS) -lmicropython
-
--lmicropython:
- $(MAKE) -f $(MPTOP)/examples/embedding/Makefile.upylib MPTOP=$(MPTOP)
-~~~