Porting the OpenThread stack to a new hardware platform consists of a few steps:
- Set up the build environment
- Define CMake Rules
- Implement Platform Abstraction Layer APIs
- Implement advanced features (Hardware Abstraction Layer)
- Validate the port
- Certification and README
Hardware platform requirements
OpenThread requires the following platform services:
- IEEE 802.15.4-2006
2.4 GHz radio
- Send and receive IEEE 802.15.4 frames
- Generate IEEE 802.15.4 Acknowledgment frames
- Provide Received Signal Strength Indicator (RSSI) measurements on received frames
- A millisecond-resolution free-running timer with alarm
- Non-volatile storage for storing network configuration settings
- A true random number generator (TRNG)
Example builds
Several example builds are provided in the OpenThread repository. For more information, see Platforms.
For examples of a few working ports, see ot-cc2538
, ot-efr32
, and ot-nrf528xx
. ot-cc2538
might be a good place to start as it only implements a single platform. ot-efr32
and ot-nrf528xx
are a bit more complicated as they implement support for multiple platforms.