Zephyr Solution
Contents
- Introduction
- Supported Hardware Features
- Supported Examples
- Supported Test Projects
- Additional Resources
Introduction
Zephyr RTOS is community-based, open source RTOS that is optimized for resource-constrained devices. Zephyr RTOS is designed for high-performing, low-energy IoT applications, it is a natural fit for Telink’s portfolio of products that are built for a smarter IoT.
Telink provides the initial Zephyr support for TLSR9 chip series, supporting OpenThread, and a various subsystems and examples.
TLSR9 Series SDK and B91 Development Board support will be soon released on the Zephyr Project’s open source repo.
Zephyr Benefits
- Open source
- Modular
- Highly configurable
- Secure
- Product-ready
Typical Applications
- Connected Sensors
- Wearables
- Wireless Gateways
Supported Hardware Features
Driver | Interface | Comment |
---|---|---|
interrupt_controller | PLIC | RSIC-V Platform Level Interrupt Controller (PLIC). |
timer | RISC-V Machine Timer (32 KHz) | RISC-V Machine Timer (fixed 32K RC). Used to clock scheduler. |
pinmux | PINMUX | GPIO to Peripheral pins configuration. |
GPIO | GPIO | Support of GPIO Digital IN/OUT, Pull-UP/Down, Rising/Falling/Level Interrupts. |
Serial | UART | Support of basic Serial driver APIs. DMA mode is not implemented. |
I2C | I2C (Master) | Support of basic I2C Master APIs. Slave and DMA modes are not implemented |
SPI | SPI (Master) | Support of basic SPI Master APIs. SPI Slave, Loopback and DMA modes are not implemented. |
PWM | PWM | All PWM APIs are implemented. Both PCLK and CLK32K_RC clocks are supported. |
Flash | FLASH (MSPI) | Flash Read, Write, Erase APIs. This driver is required by OpenThread subsystem. |
Entropy | TRNG | True Random Number Generator APIs. This driver is required by OpenThread subsystem. |
IEEE802154 | RADIO | RF driver implementation. Supporting both 6LoWPAN and Thread. |
Supported Examples
Example | Comment |
---|---|
hello_world | A simple example that prints “Hello World” to the console. |
synchronization | A simple application that demonstrates basic sanity of the kernel. |
cpp_synchronization | Demonstrates usage of C++ (virtual class, member functions with different types of arguments, etc). |
philosophers | An implementation of a solution to the Dining Philosophers problem. |
basic/threads | Demonstrates spawning multiple threads. |
basic/blinky | Simple application which blinks an LED forever using the GPIO API. |
basic/blinky_pwm | Blinks an LED using the PWM API. |
basic/fade_led | Fades an LED using the PWM API. |
basic/button | A simple button demo showcasing the use of GPIO input with interrupts. |
subsys/nvs | Demonstration of non-volatile (flash) storage usage. In this application, a counter is incremented on every reboot and stored in flash, the application reboots, and the reboot counter data is retrieved. |
subsys/console/echo | Shows the basics of Console subsystem usage. |
subsys/console/getchar | Shows how to use console_getchar function (well-known ANSI C “getchar” function). |
subsys/console/getline | Shows how to use console_getline function (similar to the well-known ANSI C “gets” and “fgets”). |
subsys/shell/shell_module | Demonstrates usage of Shell subsystem. |
drivers/entropy | Sample for the entropy gathering driver. |
drivers/flash_shell | This is a simple shell module that allows arbitrary boards with flash driver support to explore the flash device. |
net/sockets/echo_client (IEEE802154 / OpenThread) |
The echo-client sample application implements a UDP/TCP client that will send IPv6 packets over 6LoWPAN, wait for the data to be sent back, and then verify it matches. |
net/sockets/echo_server (IEEE802154 / OpenThread) |
The echo-server sample application implements a UDP/TCP server that complements the echo-client sample application: the echo-server listens for incoming IPv6 packets (sent by the echo client over 6LoWPAN) and simply sends them back. |
net/openthread/coprocessor | Allows building a Thread Border Router (RCP co-processor part). |
OpenThread and IEEE802154 Net Echo Client / Server Examples
Supported Test Projects
Zephyr provides a various test projects which can be used to evaluate Telink Zephyr TLSR9518ADK board support, in particular: kernel, drivers, subsys, net, crypto, etc.