circuitpython/examples/embedding/README.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

38 lines
1.3 KiB
Markdown
Raw Normal View History

Example of embedding MicroPython in a standalone C application
==============================================================
2016-06-15 19:30:08 -04:00
This directory contains a simple example of how to embed MicroPython in an
existing C application.
2016-06-15 19:30:08 -04:00
A C application is represented here by the file `main.c`. It executes two
simple Python scripts which print things to the standard output.
2016-06-15 19:30:08 -04:00
Building the example
--------------------
First build the embed port using:
2016-06-15 19:30:08 -04:00
$ make -f micropython_embed.mk
2016-06-15 19:30:08 -04:00
This will generate the `micropython_embed` directory which is a self-contained
copy of MicroPython suitable for embedding. The .c files in this directory need
to be compiled into your project, in whatever way your project can do that. The
example here uses make and a provided `Makefile`.
2016-06-15 19:30:08 -04:00
To build the example project, based on `main.c`, use:
2016-06-15 19:30:08 -04:00
$ make
2016-06-15 19:30:08 -04:00
That will create an exacutable called `embed` which you can run:
2016-06-15 19:30:08 -04:00
$ ./embed
2016-06-15 19:30:08 -04:00
Out of tree build
-----------------
This example is set up to work out of the box, being part of the MicroPython
tree. Your application will be outside of this tree, but the only thing you
need to do for that is to change `MICROPYTHON_TOP` (found in `micropython_embed.mk`)
to point to the location of the MicroPython repository. The MicroPython
repository may, for example, be a git submodule in your project.