# Intro

Arena helps developing applications for (STM32-) MCUs. An C++ platform class is
provided depending on the applications needs (needed peripheries).
seperate view on application from view on MCU

Central component is the pinmuxer which resolves the puzzle of needed periphery
within an concrete MCU. Result is the C++ platform, linker script, cmake helper 
file, symbol file (mainly for interrupt service routines)  and further 
information like pin connections.

# Pinmux

The pinmuxer can be executed with following parameters:

```
   $ pinmuxer --board <file> --app <file> --out <directory>
```

For further read [pinmuxer](doc/pinmuxer.md).

# CMake integration

The root cmake-file ("husk") has to include arena board cmake-file.

```
if ( "${ARENA_BOARD}" STREQUAL "" )
   set ( ARENA_BOARD "stm32f103c6" )
endif()

set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/libarena/cmake")
find_package(ArenaBoard REQUIRED)
```

The applications cmake-file has to incxlude the arena application cmake-file.

```
set ( ARENA_APP "sensemux" )
find_package(ArenaApp REQUIRED)
find_package(ArenaFlash REQUIRED)
```

# Additional documentation

[Application file](doc/application_file.md)\
[Pinmux internals](doc/internals.md)\
[Periphery reference (JSON)](doc/reference.md)\
[Periphery (JSON)](doc/periphery.md)\
[References](doc/references.md)\
[Build variables](doc/build_variables.md)\

# Bugs and development

Please report bugs via issues tracker at

 http://hase.seesslen.net/redmine/projects/arena

or contact via mail to <arena@seesslen.net>

