Newer
Older
# Reference MCU-Driver-HAL driver implementation for Arm platforms
This repository contains the driver implementation for Arm hardware platforms based on [MCU-Driver-HAL](./<HostingLocation>/mcu-driver-hal/).
cmake -S . -B build --toolchain=mcu-driver-hal/tools/cmake/toolchain/toolchain-{armclang|arm-none-eabi-gcc}.cmake -DCMAKE_SYSTEM_PROCESSOR=cortex-m55
You may want to add optional arguments to those lines to customize your build.
- `-DCMAKE_BUILD_TYPE=Release` will build your applications optimised for size. See
[here](./mcu-driver-hal/tools/cmake/profiles) for more details.
- `-DCMAKE_VERBOSE_MAKEFILE=ON` will make your build tool more verbose, typically printing the
command lines invoking the compiler.
- `-DCMAKE_EXPORT_COMPILE_COMMANDS=1` generates a build database that can be used by IDEs to provide
- `-DVARIANT=FVP` will choose an FVP build variant instead the default MPS3 FPGA.
- `-DHTRUN_ARGUMENTS="--micro=FVP_CS300_U55;--fm=MPS3"` configures `ctest` and `htrun` to work with the FVP via the `mbed-fastmodel-agent` (if installed).
The build stage can be passed a specific target name after a `--` to build only that target or `clean` to remove the build products (objects and executables). E.g.
cmake --build build -j -- mdh-arm-hal-example-serial
# Directory Structure
The mcu-driver-reference-platforms-for-arm repository is structured as follows:
| Folders | Contents |
| ---------------------- | ---------------------------------------------------------------------------------- |
| `components/` | Contains all external components that this repository depends on, including CMSIS, MCU-Driver-HAL and Native drivers |
| `docs/` | Contains Documentation (building, running, debugging, etc.) |
| `drivers/` | Contains glue layer that binds Native drivers (under `components/`) with MCU-Driver-HAL vtable interface |
| `examples` | Contains examples |
| `platforms/` | Contains support for individual platforms |
| `tests/` | Contains tests (Greentea) |