The firmware SDK provides definitions and reference code used to develop firmware for Fuchsia devices.
The eventual goal is to make this SDK contain everything needed for booting into Fuchsia, so that all the firmware requirements can be met by porting the SDK code to the device. At the moment though some libraries are not yet included in the SDK so must be found elsewhere.
The firmware SDK build rules live in sdk/BUILD.gn
. The SDK is not built in the normal flow, but can be built manually as follows:
Add build_sdk_archives=true
to your gn args, typically either by one of:
fx set ... --args=build_sdk_archives=true
fx args
and add build_sdk_archives = true
to the args fileRun fx build sdk:firmware
Find the resulting SDK archive at <build_dir>/sdk/archive/firmware.tar.gz
Firmware development is usually pretty device-specific so it‘s not expected that this code will be usable directly; some porting work will be necessary. Because of this, there’s no API stability requirement - if a device uprevs to a new firmware SDK, we expect to have to port again including adapting to any API changes.
However, to ease the porting burden, we do require that everything in the firmare SDK has a pure C implementation available, as firmware toolchains are commonly C-only.