App Development
Memory Layout | System Design |
---|---|
The Skywire Nano provides a hardware and software platform for custom C/C++ networking and IoT applications.
A Skywire Nano runs two firmware images simultaneously: the NimbeLink-provided "stack" firmware and separate "application" firmware. Each image runs independently from one another, as if they were launched directly from the NimbeLink-provided boot loader, and use a pre-defined communication protocol to faciliate interoperation.
Note: The NimbeLink boot loader and stack firmware on a Skywire Nano cannot be removed, as they are necessary to retain end-device carrier certification.
Applications are given access to their own flash and RAM, and can use any nRF9160 peripheral not explicitly used by the stack firmware. The stack firmware schedules and runs tasks autonomously in the background as needed, but otherwise does not use nRF9160 clock cycles. Applications will run using Non-Secure ARM Interrupt and Thread contexts, allowing low-overhead operation at full nRF9160 clock cycle speeds, all while alleviating the responsibilities of managing boot loading, system security, networking, and FOTA operations.
Development for Skywire Nano applications is designed around using the nRF SDK development process, including its existing samples and both from-scratch and out-of-tree application projects.