Technical Overview 11 October 2016 Problem and Context

Technical Overview 11 October 2016 Problem and Context

Technical Overview 11 October 2016 Problem and Context First release of a successful connected product… …. now make that repeatable please. An Open Source OS for MCUs • Open source networking stacks: Bluetooth Host and Controller • Pre-empGve, ckless RTOS with power management Security • Secure bootloader and Image Upgrade Networking Stats & Console & Config & • Flash FS and Access Mechanisms Logging Shell Upgrade Drivers Power • Build & Package Management OS HAL • Management Interfaces Secure Bootloader & FFS A Community Driven OS Why Apache So<ware Founda?on? Cloud Providers IP Providers • Liberal, BSD-style license • Strong Licensing and IP policies • Meritocracy • Free to contribute, contributors control project direcGon. • History of working with large organizaons: IBM, Pivotal/ EMC, MicrosoY. • Many years experience managing large, complex projects (e.g., Apache, Hadoop, MCU Vendors End-Users Subversion) Community driven open source best way to maintain healthy ecosystem RTOS • Tickless operaon: low power hooks • Driver Interface • Pre-empGve, mulGtasking RTOS • Strict priority-based scheduling • Up to 253 different priority levels • Unified buffer management • Resource uGlizaon tracking and watchdog • High-resoluGon Gmers • Built-in tasks: • Idle RTOS - Event Driven Model • Event Queues provide a mechanism for “mostly-sleeping” asynchronous tasks • Wake-up on: • Message from another Task • Timer • I/O state change • Incoming packet • Watchdog • Perform operaons: • Send an alert • Respond to a request • Schedule a wakeup • Go back to sleep Apache Mynewt ConnecGvity Layer (RunGme’s View) Management App App OIC 1.1 CoAP, MQTT, HTTP GATT TLS or DTLS L2CAP TCP UDP HCI IPv4 IPv6 + Thread IPv6 BLE 4.2 Wi-Fi Bluetooth 5 LPWA 3GPP 1.0 – First beta end of October! Standards-based IoT communicaon Highlights: Apache Mynewt Networking • Nordic nRF51 and nRF52 support • Simultaneous Central and Peripheral modes • Supports up to 32 connecGons Bluetooth • Combined (host + controller), host- 4.2 only and controller-only mode • Compable with BlueZ • 40% less code versus licensed binaries in peripheral-only mode • Abstracted interface to Wi-Fi supplicants, and socket layer Wi-Fi • LWIP integrated to provide nave-IP support. • Support for WINC1500...more soon! Highlights: Challenges Managing Connected Products • Well-defined drivers and HAL interfaces Cross-plaorm • Build and package management system Support opGmized to understand BSP and link opons • Build tool creates signed images SoYware • Image download over Serial, BLE and Wi-Fi Upgrade • Bootloader verifies SHA-256/RSA/ECC-DSA signature • Consistent logging and stasGcs infrastructure • Core dumps Debugging • Kernel-level support: sanity, stack guards, memory tracking • Hard sleep and wakeup support (low RAM Power states) Mgmt • Tickless ‘idle’ and driver suspend • Networking stack sleep management Build, Package, and Project Management: newt tool • Composable System • Install and Upgrade • Open-source project collaboraon • Unified method for #includes • Maintaining private code trees and #defines • Enforced source code layout • Dependencies and APIs • Build • System configuraon (a la • Configuraon Device Tree) • MulGple targets • Toolchains • Source code layout • Target management rd • 3 party SDKs • SDK compilaon rules • Go Small or Go BIG • Package Management • VCS Versioning • Versioning and stability • Versioning Scheme (major, minor, rev) • Tracking branches Build and Package Management: newt tool (connued) • ArGfacts • • Debugger maintenance bin/ directory, with object files • MulGple targets stored simultaneously • Generaon of flash images, • upgradable images Compiler definiGons, map files • IntrospecGon • Size • Display dependencies • Packages • Search for funcGonality • Versions • Versions installed – tracking branches • Enforced Hierarchy • HW: MCU, BSP • BSP + App = BUILD • APP • BSP -> MCU definiGon • System DefiniGon • Split images for upgrade • Linker secGons defined by system • RAM locaons • Tie-in with flash layout • Flash Highlight: Apache Mynewt Security • Unique device idenGficaon Provisioning • CerGficate Management • Prevent counterfeiGng • Signed firmware images (newt tool) Upgrade • Secure bootloader • Leverage either BLE or DTLS security Communicaons • RBAC for commands based upon idenGty • Encrypted flash storage Data and Tamper • TPM/Smart Card aware • Support hardware key access Designed for security from the ground-up Hardware Plaorm Support • Suitable for single-chip / host BLE designs Nordic Semiconductor • Controller-only operaon with host processor nRF51/52 • Cost-effecGve nRF51, powerful nRF52 • Host processor, popular for BLE + Wi-Fi • ST Micro Offload processor for DSP processing STM32F/L34 • Extensive, quality peripheral support • L* series provides reduced power consumpGon • Extensive low power modes and operaon Atmel • Rich set of peripherals SAMD/L21 • Community-supported: Arduino Zero series More Coming Soon! Cross plaorm support provides flexibility and price leverage What’s Next? • More boards(!) and processors(!) • PIC32MZ (MIPS - underway), NXP FRDM-K64, NXP KW41Z, STM32 L4 • Wireless • Bluetooth 5 and Bluetooth Mesh • LPWA • Improved Wi-Fi • Wired: Ethernet • Sensor APIs and Sensor Management • You Decide! • More informaon: hyp://mynewt.apache.org/ • Join the development, subscribe to dev@ list. • Contributors welcome! THANK YOU .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    15 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us