RTO C ++ orientado a objetos para microcontroladores
Página principal
Documentación
Código fuente @ github
Foro
Para configurar y construir distorses que necesita:
Distortos intenta seguir el típico flujo de trabajo de compilación de Cmake , lo que significa que siempre debe usar un llamado archivo de cadena de herramientas . Los archivos de ToolChain en Distortos también tienen otro propósito: seleccionan el tablero que será utilizado por su aplicación.
output ;cmake .. -DCMAKE_TOOLCHAIN_FILE=../source/board/ST_STM32F4DISCOVERY/Toolchain-ST_STM32F4DISCOVERY.cmake -GNinja si desea una configuración predeterminada o cmake -C../configurations/ST_STM32F4DISCOVERY/test/distortosConfiguration.cmake .. -GNinja si desea comenzar desde una configuración guardada;cmake-gui .. (una aplicación GUI) o ccmake .. (aplicación basada en Curses );ninja o ninja -v si desea ver todas las líneas de comando mientras se construye; Obviamente, puede reemplazar el paso 1 con git clone https://github.com/DISTORTEC/distortos .
Los pasos 2-4 se pueden realizar desde cmake-gui . Después de comenzar la aplicación, use el botón de navegación ... para seleccionar la carpeta con distorsos y navegar por la compilación ... Botón para seleccionar la carpeta de compilación. Luego haga clic en el botón Configurar . En la ventana CMAKESETUP que aparece, seleccione el generador de su elección y asegúrese de que se seleccione el archivo de la cadena de herramientas de especificación para la compilación cruzada antes de continuar. Haga clic en Siguiente y especifique el archivo ToolChain (que también selecciona la placa), por ejemplo, <source-folder>/source/board/ST_STM32F4DISCOVERY/Toolchain-ST_STM32F4DISCOVERY.cmake y el botón Finalizar .
El objetivo predeterminado de Build, todo , es solo la biblioteca estática con distorsi libdistortos.a . Si desea construir la aplicación de prueba, especifique distortosTest como el objetivo (por ejemplo, ninja distortosTest si usa Ninja ).
$ wget https://github.com/DISTORTEC/distortos/archive/master.tar.gz
$ tar -xf master.tar.gz
$ cd distortos-master
$ mkdir output
$ cd output
$ cmake .. -DCMAKE_TOOLCHAIN_FILE=../source/board/ST_STM32F4DISCOVERY/Toolchain-ST_STM32F4DISCOVERY.cmake -GNinja
$ cmake-gui ..
$ ninja
o
$ wget https://github.com/DISTORTEC/distortos/archive/master.tar.gz
$ tar -xf master.tar.gz
$ cd distortos-master
$ mkdir output
$ cd output
$ cmake -C../configurations/ST_STM32F4DISCOVERY/test/distortosConfiguration.cmake .. -GNinja
$ cmake-gui ..
$ ninja
Para generar un tablero que necesite:
Tanto Jinja2 como Ruamel.yaml se pueden instalar fácilmente con pip install jinja2 && pip install ruamel.yaml (o python -m pip install jinja2 seguido de python -m pip install ruamel.yaml en Windows ), sin embargo, también pueden estar disponibles en el administrador de paquetes de su sistema.
Generador de tablas - scripts/generateBoard.py - Toma un archivo *.yaml como entrada y produce una carpeta que contiene varios archivos de placa: archivos de origen, encabezados, archivos CMake (incluido el archivo Cmake Toolchain), etc. El archivo de entrada *.yaml describe el hardware de la placa en forma de árbol. La idea está muy cerca de Devicetree y, de hecho, las versiones anteriores del generador de tableros usaron archivos Devicetree .
Para obtener una idea sobre el formato de los archivos YAML de la placa, eche un vistazo a algunos de los archivos existentes, por ejemplo source/board/ST_STM32F4DISCOVERY/ST_STM32F4DISCOVERY.yaml , que describe el tablero de ST - o source/chip/STM32/STM32F4/chipYaml/ST_STM32F407VG.yaml que describe el chip STM32F407VG utilizado en esta placa. También hay alguna documentación sobre los enlaces de YAML en documentation/yaml-bindings
Suponiendo que ya tiene distorsos como parte de su proyecto o como una carpeta independiente, la invocación básica del generador de placa es solo path/to/distortos/scripts/generateBoard.py path/to/board.yaml (o python path/to/distortos/scripts/generateBoard.py path/to/board.yaml en Windows ), por ejemplo ./scripts/generateBoard.py source/board/ST_STM32F4DISCOVERY/ST_STM32F4DISCOVERY.yaml . También puede generar los llamados tableros sin procesar , utilizando el archivo Yaml de chip como entrada directamente, por ejemplo ./scripts/generateBoard.py source/chip/STM32/STM32F4/chipYaml/ST_STM32F407VG.yaml -o output/path/of/raw/board .