Embedded Artistry Public Resources
Contains templates, documents, and source code examples referenced on https://embeddedartistry.com.
Table of Contents
This repository uses submodules. You can clone the repository recursively to automatically setup submodules:
$ git clone https://github.com/embeddedartistry/embedded-resources.git --recursive
You can also initialize submodules after cloning:
$ git submodule update --init --recursive
This repository requires git-lfs. If you do not have this installed, please visit https://git-lfs.github.com
If you cloned this repository before installing git-lfs, please run git lfs pull
. Otherwise clone will automatically perform a git lfs pull
.
This repository builds with meson, which requires Python 3 and Ninja.
On Ubuntu these can be easily installed with the following command:
$ sudo apt-get install python3 python3-pip ninja-build
For OSX, you can use brew
:
$ brew install python3 ninja
The best way to get Meson is through pip:
$ pip3 install meson
build/
- Common build scripts and definitions
docs
- Open-source project templates and reference documentation
examples/
c/
- C examples for the Embedded Artistry website
cpp/
- C++ examples for the Embedded Artistry website
libc/
- Example libc implementations
libcpp/
- Example libcpp implementations
interview/
- Example interview question implementations
manufacturing/
- Documents & templates that are useful for the manufacturing side of the embedded world.
You can run make
from the top level to build all examples. Output will be placed in a folder called buildresults/
at the top level.
You can also use the proper meson syntax:
$ meson buildresults
$ cd buildresults
$ ninja
Targets can be built individually by using the ninja interface in the buildresults/
directory.
$ cd buildresults
$ ninja interview/bad_c
To clean the builds, run make clean
from the project root or ninja clean
in the buildresults/
directory.
Binaries will be stored under the buildresults/
folder at the same hierarchical level as in the source tree.For example, the bad_c
interview demo application will be in buildresults/interview/
.