h=p://mynewt.apache.org/ · 2017-12-14 · v0.8 april 2016 v0.9 may 2016 v0.10 june 2016 v0.11 july...
TRANSCRIPT
![Page 1: h=p://mynewt.apache.org/ · 2017-12-14 · V0.8 April 2016 V0.9 May 2016 V0.10 June 2016 V0.11 July 2016 V1.0-b1 Aug 2016 V1.0-GA Oct 2016 Highlights v0.8: First release, BLE 4.2,](https://reader034.vdocuments.mx/reader034/viewer/2022042302/5ecd309fe4765603a703f7d3/html5/thumbnails/1.jpg)
11April2016
AnIncubatorProjectintheApacheSo8wareFounda<on
h=p://mynewt.apache.org/
![Page 2: h=p://mynewt.apache.org/ · 2017-12-14 · V0.8 April 2016 V0.9 May 2016 V0.10 June 2016 V0.11 July 2016 V1.0-b1 Aug 2016 V1.0-GA Oct 2016 Highlights v0.8: First release, BLE 4.2,](https://reader034.vdocuments.mx/reader034/viewer/2022042302/5ecd309fe4765603a703f7d3/html5/thumbnails/2.jpg)
OpenSourceOSforConstrainedIoT– MCU/Hardwareindependent– ARMCortex-M*,AVR,MIPS,more
h=p://mynewt.apache.org/
ApacheMynewt
![Page 3: h=p://mynewt.apache.org/ · 2017-12-14 · V0.8 April 2016 V0.9 May 2016 V0.10 June 2016 V0.11 July 2016 V1.0-b1 Aug 2016 V1.0-GA Oct 2016 Highlights v0.8: First release, BLE 4.2,](https://reader034.vdocuments.mx/reader034/viewer/2022042302/5ecd309fe4765603a703f7d3/html5/thumbnails/3.jpg)
• CTO/Co-Founder,Run<me– h=p://www.run<me.io/
• 20+YearsExperienceinOpenSource
• 10+YearsExperienceinEmbedded&WirelessNetworking– Designed,developed,deployedIndustrialIoTmeshnetworks– Morethan20M+connecteddevices
AboutMe:SterlingHughes
![Page 4: h=p://mynewt.apache.org/ · 2017-12-14 · V0.8 April 2016 V0.9 May 2016 V0.10 June 2016 V0.11 July 2016 V1.0-b1 Aug 2016 V1.0-GA Oct 2016 Highlights v0.8: First release, BLE 4.2,](https://reader034.vdocuments.mx/reader034/viewer/2022042302/5ecd309fe4765603a703f7d3/html5/thumbnails/4.jpg)
FirstreleaseofasuccessfulIoTproduct…
…nowmakethatrepeatable,please.
ProblemandContext
![Page 5: h=p://mynewt.apache.org/ · 2017-12-14 · V0.8 April 2016 V0.9 May 2016 V0.10 June 2016 V0.11 July 2016 V1.0-b1 Aug 2016 V1.0-GA Oct 2016 Highlights v0.8: First release, BLE 4.2,](https://reader034.vdocuments.mx/reader034/viewer/2022042302/5ecd309fe4765603a703f7d3/html5/thumbnails/5.jpg)
• Community-drivenOpenSource
• BuildandPackageManagementintegraltoOS
• Directandobvioussolu<onforaproblem
• ScalabilitydrivenbysimplicitySecureBootloader,FFS
Kernel/RTOS HAL
Stats+Logging
Console+Shell
Config+Upgrade
BLEThreadWi-Fi
NewtMgr HTTP CoAP
Security
AnEmbeddedOSforMCUs
Moore’sLawHitMicrocontrollers
![Page 6: h=p://mynewt.apache.org/ · 2017-12-14 · V0.8 April 2016 V0.9 May 2016 V0.10 June 2016 V0.11 July 2016 V1.0-b1 Aug 2016 V1.0-GA Oct 2016 Highlights v0.8: First release, BLE 4.2,](https://reader034.vdocuments.mx/reader034/viewer/2022042302/5ecd309fe4765603a703f7d3/html5/thumbnails/6.jpg)
IPProviders
MCUVendors
CloudProviders
End-Users
• LiberalApache2.0license• Individuals,notCorpora<ons• Meritocracy• StronglicensingandIPpolicies• Longhistoryofworkingwithlarge
organiza<ons:IBM,Oracle,Pivotal/EMC
• Manyyearsexperiencemanaginglarge,complexprojects:ApacheWebServer,Hadoop,Cassandra,Kaba,Subversion,etc.
WhytheASF?
ACommunityEffort
Community-drivenOpenSource:BestWaytoMaintainHealthyUserEcosystem
![Page 7: h=p://mynewt.apache.org/ · 2017-12-14 · V0.8 April 2016 V0.9 May 2016 V0.10 June 2016 V0.11 July 2016 V1.0-b1 Aug 2016 V1.0-GA Oct 2016 Highlights v0.8: First release, BLE 4.2,](https://reader034.vdocuments.mx/reader034/viewer/2022042302/5ecd309fe4765603a703f7d3/html5/thumbnails/7.jpg)
(today)• Bluetoothconnectedproducts
• Medical:everything• Consumer/Enterprise:locks,lights• Industrial
• Makers• Home• HardwareLabs• Clothing
(tomorrow)• IndustrialWirelessSensorNetworks• Wi-FiProducts• WhoKnows?
• PowerOp<miza<on
• Meshnetworking
• Security• SensorAlgorithms
• ControlSystems
ScaleMakesProblemsInteres<ng
ApacheMynewtUsers
![Page 8: h=p://mynewt.apache.org/ · 2017-12-14 · V0.8 April 2016 V0.9 May 2016 V0.10 June 2016 V0.11 July 2016 V1.0-b1 Aug 2016 V1.0-GA Oct 2016 Highlights v0.8: First release, BLE 4.2,](https://reader034.vdocuments.mx/reader034/viewer/2022042302/5ecd309fe4765603a703f7d3/html5/thumbnails/8.jpg)
#commits
• 280,000linesofcode
• Ini<alsupportforSimulator,NordicNRF51/52,STM32F3/4andArduino
• Ac<vecontributors,WeWantYou!ü h=p://mynewt.apache.org/
ProjectSta<s<cs
![Page 9: h=p://mynewt.apache.org/ · 2017-12-14 · V0.8 April 2016 V0.9 May 2016 V0.10 June 2016 V0.11 July 2016 V1.0-b1 Aug 2016 V1.0-GA Oct 2016 Highlights v0.8: First release, BLE 4.2,](https://reader034.vdocuments.mx/reader034/viewer/2022042302/5ecd309fe4765603a703f7d3/html5/thumbnails/9.jpg)
Makeiteasytofind,install3rdpartylibraries
Maintainandre-usepackagesacrossmul<ple
products
Managedebugandproduc<onbuildsetups
Goals
Efficiency:useonlywhatyouneed
• Everythingisapackage.Eachpackagedescribesitsdependenciestotherestoftheworld
• Acollec<onofpackagesiscalledanapplica<on
• Thereareafewspecialpackages:BSPandProject.Projectcontainsmain()andBSPdefineslinkerscriptandhardwarelayout
• TargetsareusedtocombineprojectsandBSP
• Packagescanbedistributed,upgradedandinstalledremotely
Descrip<on
BuildandPackageManagement
Composeacrossmul<plerepos
![Page 10: h=p://mynewt.apache.org/ · 2017-12-14 · V0.8 April 2016 V0.9 May 2016 V0.10 June 2016 V0.11 July 2016 V1.0-b1 Aug 2016 V1.0-GA Oct 2016 Highlights v0.8: First release, BLE 4.2,](https://reader034.vdocuments.mx/reader034/viewer/2022042302/5ecd309fe4765603a703f7d3/html5/thumbnails/10.jpg)
apache-mynewt-coreOSHALBSP
ProjectStructure(comingsoon)“core”brokenintoappropriatesub-projects
apache-mynewt-ble apache-mynewt-nffs apache-mynewt-sys
ASFInfrastructure:Governance,LicensingRigor
github-sensor-apigithub-bsp1
github-bsp2
github-hal-implgithub-app1
github-network-impl
Github
• ASFgovernancestructure(PMCs)correspondswithsub-packagestructure• ASFrepositoriesclean,Apache2.0license• Userscanassembleprojectssourcedfrommul<plerepos
Composabilityacrossmul<plereposprovidesflexibility
3rdPartyRepo(s)
github-app2
![Page 11: h=p://mynewt.apache.org/ · 2017-12-14 · V0.8 April 2016 V0.9 May 2016 V0.10 June 2016 V0.11 July 2016 V1.0-b1 Aug 2016 V1.0-GA Oct 2016 Highlights v0.8: First release, BLE 4.2,](https://reader034.vdocuments.mx/reader034/viewer/2022042302/5ecd309fe4765603a703f7d3/html5/thumbnails/11.jpg)
ProvidequalitydriversformajorMCUplarorms
Designforcross-plarorm:well-definedAPIsforHAL,BSPand
drivers
Goals
Makeiteasytoaddboardspecificdefini<ons
• BSPdefini<onisprovidedin<app>/hw/bsp
• HALdefini<onsareinhw/halandcontainuniform,cross-plarormAPIs
• MCUdefini<onsareinhw/mcuandprovideimplementa<onsforvariousMCUs• Hierarchyallowscode-reusewithin
MCUfamilies
• BSPsforcommondevkitsareavailableaspackages(e.g.,NordicnRF51/2DK)
• BSPsdependonMCUs• BSP+MCUprovidesimplementa<onforHAL
APIs
Descrip<on
BSPandHAL
ChipVendors:WeWantYou!
![Page 12: h=p://mynewt.apache.org/ · 2017-12-14 · V0.8 April 2016 V0.9 May 2016 V0.10 June 2016 V0.11 July 2016 V1.0-b1 Aug 2016 V1.0-GA Oct 2016 Highlights v0.8: First release, BLE 4.2,](https://reader034.vdocuments.mx/reader034/viewer/2022042302/5ecd309fe4765603a703f7d3/html5/thumbnails/12.jpg)
• Pre-emp<ve,mul<-taskingRTOS• Strict,priority-basedscheduling• Upto253differentprioritylevels
• Ticklesskernel
• Powermanagement• Resourceu<liza<ontracking
• Built-intasks:• Idle• Sanity
Kernel
![Page 13: h=p://mynewt.apache.org/ · 2017-12-14 · V0.8 April 2016 V0.9 May 2016 V0.10 June 2016 V0.11 July 2016 V1.0-b1 Aug 2016 V1.0-GA Oct 2016 Highlights v0.8: First release, BLE 4.2,](https://reader034.vdocuments.mx/reader034/viewer/2022042302/5ecd309fe4765603a703f7d3/html5/thumbnails/13.jpg)
• EventQueuesprovideamechanismfor“mostlysleeping”asynchronoustasks
• Wake-upon:• Messagefromanothertask• Timer• I/Ostatechange• Incomingpacket• Watchdog
• Performopera<ons:• Sendanalert• Respondtoarequest• Scheduleawakeup
• Gobacktosleep
EnergyEfficientEventModel
![Page 14: h=p://mynewt.apache.org/ · 2017-12-14 · V0.8 April 2016 V0.9 May 2016 V0.10 June 2016 V0.11 July 2016 V1.0-b1 Aug 2016 V1.0-GA Oct 2016 Highlights v0.8: First release, BLE 4.2,](https://reader034.vdocuments.mx/reader034/viewer/2022042302/5ecd309fe4765603a703f7d3/html5/thumbnails/14.jpg)
Bootloader BootVars
Image2
Image1
NFFS(User)
CB(User)
• BootloadercanbelocatedinROMorFlash• Op<onsforinternalandexternalflashes
• Performsintegritycheckandswapsimages• ImagescontainSHA-256hashandRSAsignature• NFFSop<onal
• Providesalog-structuredflashfilesystemdesignedforsmallflashes• CB(CircularBuffer)op<onal
• Providesimplementa<onofflashcircularbuffer
EnergyEfficientEventModel
![Page 15: h=p://mynewt.apache.org/ · 2017-12-14 · V0.8 April 2016 V0.9 May 2016 V0.10 June 2016 V0.11 July 2016 V1.0-b1 Aug 2016 V1.0-GA Oct 2016 Highlights v0.8: First release, BLE 4.2,](https://reader034.vdocuments.mx/reader034/viewer/2022042302/5ecd309fe4765603a703f7d3/html5/thumbnails/15.jpg)
WhatWe’reProtecHng HowWeProtectIt
Bootloader • FirststagebootloadercanoperatefromROMandverifysignatureofsecondstagebootloader
Images • AllimageshaveSHA-256ofimagecontents• ImagessupportsigningwithECCorRSA2048bit
signatures• Secondstagebootloadercanverifyimagesignature
NetworkInterfaces • FullsupportforBLE4.2securityat1.0release,includinglink-layerandapp-layer
SystemSecurity
![Page 16: h=p://mynewt.apache.org/ · 2017-12-14 · V0.8 April 2016 V0.9 May 2016 V0.10 June 2016 V0.11 July 2016 V1.0-b1 Aug 2016 V1.0-GA Oct 2016 Highlights v0.8: First release, BLE 4.2,](https://reader034.vdocuments.mx/reader034/viewer/2022042302/5ecd309fe4765603a703f7d3/html5/thumbnails/16.jpg)
• Inaddi<ontovariousMCUports:OS,HAL,FSandthemajorityofpackagescanrunonMac,Linux
• Developyourcodeonthehostandthenporttotherealhardware
• Unittestframeworkisincorporatedtoallofthepackages:abilitytorununittestsonsimulatedenvironmentandrealhardware
• OSandlibrariesarefullyregressiontestedtoensureAPIcompa<bilitybetweenreleases
SimulatorandTestFramework
![Page 17: h=p://mynewt.apache.org/ · 2017-12-14 · V0.8 April 2016 V0.9 May 2016 V0.10 June 2016 V0.11 July 2016 V1.0-b1 Aug 2016 V1.0-GA Oct 2016 Highlights v0.8: First release, BLE 4.2,](https://reader034.vdocuments.mx/reader034/viewer/2022042302/5ecd309fe4765603a703f7d3/html5/thumbnails/17.jpg)
V0.8
April2016
V0.9
May2016
V0.10
June2016
V0.11
July2016
V1.0-b1
Aug2016
V1.0-GA
Oct2016
Highlights
v0.8: Firstrelease,BLE4.2,FFS,Kernel,Console,Shell,SecureBootv0.9: ExpandedHWsupportandHALv0.10: Wi-Fi&IPsupportv0.11: FullBluetoothSupport/Qualifica<onv1.0(GA)APIcompa<bility,FullRegressionTes<ng
ApacheMynewtRoadmap