Newer
Older
<!--
#
# Critical Application Monitoring (CAM)
#
# SPDX-FileCopyrightText: <text>Copyright 2023
# Arm Limited and/or its affiliates <open-source-office@arm.com></text>
# SPDX-License-Identifier: BSD-3-Clause
#
-->
# Critical Application Monitoring (CAM)
The Critical Application Monitoring (CAM) project implements a solution for
monitoring applications using a service running on a higher safety level system.
The approach aims to take advantage of running heavy workloads in
high-performance cores whilst adding an extra layer of safety by monitoring such
applications via a higher safety subsystem.
## Building CAM
To build __cam__, the following dependencies are required:
- CMake (3.16 or later)
- GCC (9.4 or later)
- Python (3.8.10 or later)
- Python-venv (3.8.10 or later)
- Pip (20.0 or later)
- pkg-config (0.29.1 or later)
In addition, the following dependencies are optional:
- Python virtual environment (3.8.2 or later).
- Doxygen (1.8.17 or later): Generate API documentation from source code.
- Sphinx (6.1.3 or later): Build the project documentation.
- Git version control system.
Create a Python virtual environment then install the Python dependencies:
$ python3 -m venv venv
$ source venv/bin/activate
$ pip install -r requirements.txt
Create a build directory and run cmake:
$ mkdir build
$ cd build
$ cmake ../
Build and install:
$ make
$ cmake --install . --prefix <install-location>
$ cd ..
$ python3 -m pip install cam-tool/ --prefix <install-location>
Which will copy everything to:
* `<install-location>/lib`
* `<install-location>/bin`
* `<install-location>/include`
* `<install-location>/share/doc`
## Documentation
The project documentation is based on Sphinx. It is generated after building.
To explore this documentation, simply open
`<install-location>/share/doc/CAM/cam-doc/index.html` in a web browser.