libmbb is a MIT-licensed C library targeted at embedded systems.
The upstream repository is at https://github.com/jawebada/libmbb/.
libmbb does not allocate memory dynamically. It is up to the developer to decide how memory is allocated. The HSM module supports both purely event-driven and non-blocking, real-time suitable processing.
The tools sub directory contains the following command line tools:
mhsm_scaffold
adds event processing function stubs to source filesmunt_main
generates main functions for unit testslibmbb uses the autotools for building. If you clone its upstream repository
you will have to call ./autogen.sh
to build the configure
script.
autogen.sh
just calls autoreconf
which depends on autoconf
and automake
being installed. If the configure
script is built it is the usual game of
./configure
make
make install
The install
target will install the examples and unit tests along with libmbb
itself. These programs have rather unspecific names like test_hsm
. Calling
./configure --program-prefix=mbb_
will install them as mbb_test_hsm
instead. Alternatively, you might specify ./configure --prefix=/opt/mbb
to
install everything into /opt/mbb
.
Call make check
to run the unit tests.
Call ./configure --host=arm-linux
to cross-compile for arm-linux.
Call ./configure --help
for a general help message.
libev
and its header files are
installed on your system.Note that the terminal interfaces of some of the examples (pelican
and
monostable
) will be interfered with by the stderr
output of the debugging
macros. You can either add -DNDEBUG
to CPPFLAGS
to disable these debugging
macros or redirect stderr
like this:
examples/pelican 2> log
This website was rendered automatically from libmbb's Markdown documentation.