https://github.com/ft/ufw
micro-framework
https://github.com/ft/ufw
Last synced: 4 months ago
JSON representation
micro-framework
- Host: GitHub
- URL: https://github.com/ft/ufw
- Owner: ft
- License: other
- Created: 2017-09-25T22:00:16.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2026-01-19T04:15:34.000Z (5 months ago)
- Last Synced: 2026-01-19T11:57:35.031Z (5 months ago)
- Language: C
- Size: 1.24 MB
- Stars: 8
- Watchers: 1
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README
- Changelog: CHANGES
- Authors: AUTHORS
Awesome Lists containing this project
README
---------------------------------------------------------
Microframework → μfw → ufw — Embedded Support Library
---------------------------------------------------------
‘ufw’ is a support library for embedded development. It started out as a sand-
box for trying implementions or various kinds. It then quickly became a reser-
voir for various utilities that come in handy when building modular embedded
applications: Version control integration; CMake build system extensions and
embedded toolchain files; zephyr impedance mismatch management; a very portable
implementation of a TAP emitting testing API; startup code and a cortex-m3 to
run test-suites for this architecture via qemu; toolchain feature testing and
portable enabling, and more.
Commonly, ‘ufw’ is part of a larger source-tree that leverages it to build em-
bedded applications. It is also possible to build ‘ufw’ using many toolchains,
build-tools, build configurations and the like. To automate the required cmake
incantations, you can use the library's companion tool ‘mmh’:
% mmh
…builds as many combinations of ‘ufw’ as it can and reports the results. All
build results will be cleaned up afterwards.
% mmh -d ci
…will do the same, but perform all builds inside the ’ci’ subdirectory and will
keep it around after all work is done. You can also select parts of all combi-
nations of builds:
% mmh -d ci -T clang,gnu -A native -B ninja -C debug
…only builds ‘ufw’ using the ‘clang’ and ‘gnu’ toolchains in ‘debug’ configura-
tion using the ‘ninja’ build tool. While this:
% mmh -d ci -T gnu-arm-none-eabi -A cortex-m3 -B ninja -C debug
…builds the library for the ‘cortex-m3’ architecture in ‘debug’ configuration
using ‘ninja’. If a ‘system-arm’ qemu implementation is found on the host sys-
tem, ufw's cortex-m3 startup code is used to run the library's test-suite via
qemu.
The ‘mmh’ tool can be found here: https://github.com/ft/makemehappy