In one source tree we have two products, short names in brackets:
For simplicity, we have defined a few CMake targets that will create required images and update packages.
We support two target architectures:
Some build targets are enabled/disabled based on the selected target architecture.
For each product there are targets:
| Arch | Name | Alias | Description |
|---|---|---|---|
| common | <Product> | Binary target for the product | |
| common | <Product>-disk-img | <Product>.img | Disk image for the product |
| RT1051 | <Product>-StandaloneImage | PurePhone-<version>-RT1051-package-standalone | Creates image that can be dd or pureflash to the device |
| RT1051 | <Product>-UpdatePackage | PurePhone-<version>-RT1051-Update.tar | Creates Update package, that can be used by Mudita Center or an update script |
| linux | check | build and run unittests | |
| common | assets | Mudita company private assets | |
| common | json-images-target | Mudita company public assets | |
| RT1051 | ecoboot.bin | OS bootloader | |
| RT1051 | updater.bin | OS updater |
The software binary can be loaded by:
Devices in the field have security keys burned, therefore an additional step - binary signing will be required. Without the signature, devices will show a warning on boot.
Image of the software to be loaded onto the device memory. Has all necessary data to properly run the OS.
The disk image can be built with additional, development assets. Please look for WITH_DEVELOPMENT_FEATURES for more information in make.
Tar-file meant to update software with the updater utility. It has all the necessary update assets and metadata. Currently, the update package has all of the base data that should be on the device, though to make updates smaller, minimal updates packages, as well as gzipped packages should be easily possible.
Builds and executes all of the unit tests in the repository for the selected product. Uses download_assets to download unit test's required assets (fonts)
Downloads Mudita private assets with download_assets that company is either not eligible or capable of sharing publicly. These are distributed with the image and update targets available for each product and. includes i.e. fonts.
Downloads Mudita public assets with download_assets.
Downloads the bootloader with download_assets.
OS bootloader, used to pre-init hardware and launch either OS or updater utility.
Downloads the updater with download_assets.
Updater is used to perform the firmware upgrade via update packages.