Cross-platform support

Supported APP platforms

Project principle

The preferred project organization is to keep cross-platform differences in platform.h. Differences in main.c should normally come only from CubeMX-generated peripheral setup and temporary debugging-related deviations.