Skip to content

csitarichie/boost_msm_bare_metal

Repository files navigation

boost_msm_bare_metal

C++ meta state machine running bare metal on an MCU

This project is for demonstration purposes. Demonstrates how to combine modern c++ techniques with embedded programing.

There is a UML2 state machine implemented using boost meta state machine framework see http://www.boost.org/doc/libs/1_58_0/libs/msm/doc/HTML/index.html driven by a dispatching embedded framework from Quantum Leaps see http://www.state-machine.com/qpcpp/index.html

The project combines board support package, even dispatching / tracing framework and c++ meta programmed state machine. Project using arm hardware abstraction see : http://www.arm.com/products/processors/cortex-m/cortex-microcontroller-software-interface-standard.php

board support package is for a TI MCU : http://www.ti.com/product/lm3s6965

It uses following development board : http://www.mouser.de/ProductDetail/Texas-Instruments/EKK-LM3S6965/?qs=vnwGVgFuQiaEThtYIQjC0g==

Development board has USB serial ports used for tracing and Jtag using ft2232 serial usb converter. For flashing / and debugging the Open On-Chip Debugger can be used see: http://openocd.org/

For cross compiling Sourcery G++ was used. see http://www.codesourcery.com

  • folder ./boost contains boost source code.
  • folder ./fw/ql contains Quantum Leaps framework
  • folder ./dbg contains configuration files for flas and debug for openodc.
  • folder ./tools/compilers/arm/sourcery_2010_q1_none_eabi contains Sourcery G++ cross compiler
  • folder ./msm-qk-ev-lm3s6965 contains the boost example and board support package and hw abstraction from arm.

main entry point for the project is : ./msm-qk-ev-lm3s6965/SimpleTutorial.cpp

About

c++ meta state machine running bare metal on an MCU

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published