programming iot sensors with iotdk on 96boards
play

Programming IoT Sensors with IoTDK on 96Boards Akira Tsukamoto, - PowerPoint PPT Presentation

Programming IoT Sensors with IoTDK on 96Boards Akira Tsukamoto, Linaro July 13, 2016 What is Linaro? Founded June 2010 Unites the Industry and Open Source community Work together on key projects Deliver great tools Reduce


  1. Programming IoT Sensors with IoTDK on 96Boards Akira Tsukamoto, Linaro July 13, 2016

  2. What is Linaro? ▣ Founded June 2010 ▣ Unites the Industry and Open Source community ▣ Work together on key projects ▣ Deliver great tools ▣ Reduce industry wide fragmentation and redundant effort ▣ Provide common software foundations ▣ http://www.linaro.org/about/ ▣ https://en.wikipedia.org/wiki/Linaro

  3. Linaro’s Mission ~ Leading Collaboration in ARM Eco System ➢ ARM 向けソフトウェアの共同開発により ➢ ARM のエコシステムの充実をすすめ ➢ メンバー企業の競争力を高めることを目的とする Closed Source Applications Proprietary code 各社 差異化ポイント Internal patches ROI の向上 SoC specific code 共 同 Open Source 開 Future ARM tech porting 各社 イノベーションの 発 Kernel 共通課題 高速化が著しい Optimizing gcc Optimizing graphics, etc. ARM SoC

  4. Linaro のメリット Linaro は、 ARM を利用したいセットベンダーが商品化するうえ で、必須である Android/RDK/Yocto/BSP などプラットフォーム 部分の最新技術をメンバー企業で共同開発する組織です。 具体的なメリット 最近はソフトの開発コストの増大が問題となっておりますが、すべて自 前で自社で開発するコストをメンバー企業で分担できる。 ARM のプラットフォーム開発に内部で参加していることで、顧客に対し て他社より最新の技術とプラットフォームの提供につながる。 グローバルノウハウを製品開発に活用することで、製品の魅力の向上 につながる。 マーケットイン (Time to Market) の早期化

  5. Lead Projects Important Strategic Projects for the ARM Ecosystem ● Open Source ARM tools ● Power Management ● Kernel Consolidation across ARM SoCs ● Open Source Security (including OP-TEE) ● Reference Software Platform ● Software Defined Architecture - Openstack (LEG) ● Big Data on ARM (LEG) ● OpenDataPlane (LNG) ● Reference Digital Media Platform (LHG) ● Android Optimization on ARM (LMG) ● Project Ara (LMG)

  6. Linaro Influence in the Linux Kernel Top Linux Contributors by Company: Kernel 4.5 1 Intel 1,734 (14.4%) 2 (Unknown) 975 (8.1%) ● Linux Kernels 3.5 - 4.5 May 2012 - 3 Red Hat 732 (6.1%) March 2016 4 Linaro 723 (6.0%) ● Over ¼ million total changesets 5 (None) 628 (5.2%) in these releases 6 Samsung 513 (4.3%) ● Linaro contributed >4.4% (11.2k) 7 SUSE 382 (3.2%) ● Linaro consistently in top five 8 Atmel 380 (3.2%) company contributors 9 Renesas 360 (3.0%) 10 IBM 346 (2.9%) Sources: http://www.remword.com/kps_result/index.php & https://lwn.net/Articles/679289/

  7. Linaro Influence - Maintainerships ● Linux Kernel ● Linux Kernel (Continued) ● ARM SOC ● Register map abstraction ● CPUIdle drivers ● Sound / ASoC ● CPUFreq drivers ● DMA buffer sharing framework ● Common clock framework ● MMC/SD/SDIO framework ● Clocksource core ● Clocksource / Clockevent drivers ● Non-kernel projects ● Timekeeping / NTP ● ODP ● Char and Misc drivers ● LAVA ● Generic include / asm headers ● Debian ● KVMfor ARM/ARM64 ● DejaGNU ● Open Firmware / Flattened Device Tree ● LLVM ● Mailbox API ● GDB ● AVS drivers ● Gentoo ● Backlight class / subsystem ● KDE ● MFD framework ● Xdg-utils ● GPIO subsystem ● OpenJDK ● Pinctrl subsystem ● OpenEmbedded ● SPI subsystem ● OpenMandriva ● Regulator framework ● RapidIO subsystem

  8. What’s 96Boards? ▣ Recognised low cost ARMV7/8 open specifications ▣ SoC independant ▣ Tailored for different segment requirements ▣ A single developer community, sharing solutions ▣ Open to all developers ▣ Hardware modules are portable across all 96Boards ▣ Fully upstream path available for 96Boards hardware

  9. Cross vendor community hardware ▣ Generic hardware platform enabling SoC differentiation ▣ Key enabler for reference software platform ▣ Mezzanine ecosystem for peripherals & sensors Linaro Groups Consumer Enterprise 96Boards IoT Edition Edition Edition Editions Cortex-A & R/M Cortex-A Cortex-A

  10. Target for 96Boards ▣ Commercial & higher education software development SW HW Hobbyist ▣ OEM/ODMs - for IoT, mobile, Pro compute, enterprise Software >60% ▣ Maker market - Robotics, UAV, HPC, of cost of SoC etc development** 20 million SW Sources: *IDC 2013, developers globally* **ITRS 2007, **IBS 2009

  11. 96Boards Specifications ▣ 96Boards CE - Published ○ Camera Interface Addendum ▣ 96Boards EE - Published ○ MicroATX Addendum

  12. 96Boards Use Cases ▣ Out of the box Single Board Computer for software developers ▣ Expansion and customization options for the maker community ▣ Low-cost Single Board Computer for embedded OEM products

  13. *Qualcomm DragonBoard 410C LeMaker HiKey uCRobotics LeMaker Cello Bubblegum-96 AMD Opteron A1120 96Boards EE MediaTek Helio X20 OSAWG : Open SoC Qualcomm SD 600eval dev board with Android Working Group TV deca-core CPU *#5 in top 10 best Hacker Boards of 2015* linux.com June 2015

  14. DragonBoard 410c Supported OSes Supported IoT Platforms

  15. CE Boards Additional Specs Minimum 0.5GB DRAM (1GB+ for Android) ▣ Optional eMMC Flash Storage ▣ 802.11a/b/g/n + Bluetooth 4.0 LE ▣ 3 USB ports (1 OTG), minimum USB2.0 ▣ HDMI video output with audio ▣ microSD v3.0 socket ▣ Standardized Maker IO, DSI display & CSI camera interfaces ▣ Extended version for additional functionality ▣ 8-18V DC @ 2A power ▣

  16. 96Boards EE - Product Introduction LeMaker Cello AMD Opteron A1120, Quad-core A57 GBit Ethernet, USB 3.0, PCIe and SATA UEFI/ACPI firmware Supported by Linaro Reference Software Preorder today for July delivery $299 http://www.lenovator.com/product/103.html

  17. 96Boards EE - Product Specification ITEM SPECIFICATION SoC AMD Opteron A1100 Series CPU Quad-core ARM Cortex-A57 64 bit DRAM Two DDR3 SO-DIMM sockets SATA Two SATA ports USB Two USB 3.0 ports Console USB-micro port for console support Ethernet 1 GBe Ethernet PCIe x16 PCIe G3 slot JTAG 10-Pin JTAG headers Expansion Interface Linaro 96Boards Expansion slot Dimension Standard 160×120 mm 96Boards Enterprise Edition form factor Weight 500g

  18. Google AOSP Support for HiKey 64 bit Octa Cortex-A53 96Boards is now available in AOSP public tree http://source.android.com/ A community board with ongoing support in AOSP will help developers and peripheral vendors to accelerate adoption in new Android versions

  19. Platform Deployment Example ▣ 96Boards platforms offer standardised hardware platforms and reference software ▣ Generic hardware platform supporting implementations at ◆ Device - IoT specification ◆ Gateway - CE/EE specification ◆ Server - EE specification, running server infrastructure and cloud IaaS ▣ Reference software solutions ◆ End-to-end reference implementation for IoT use cases, tailored to implementation ◆ Device - SDK together with Mezzanine kits ◆ Gateway - SDK, middleware, application gateway ◆ Server - PaaS reference solution ▣

  20. Mezzanine Boards and Modules ▣ Enable product design and application development ▣ Build once and run on any 96Boards Compliant hardware ▣ Developer support infrastructure ▣ Enables a developer community around peripheral devices for SoCs (Communications, Sensors, Displays & Cameras)

  21. Eureka Marvell Andromeda Aerocore-2 Camera Mezzanine Automotive Box drones & Quadcopters Robomezzi STMicro and Seeed Mezzanines Dual-camera LeMaker 7” LCD module with touchscreen Display display

  22. All the others...

  23. How IoT Sensors are connected?

  24. GPIO Separate line for each Sensor GPIO_C GPIO_B GPIO_A SoC Sensor B Sensor C Sensor A GPIO pins are especially good to use when programming simple sensors or actuators which only require single data line. For example: • LEDs, Relays, Buzzers, Buttons, Passive Infrared sensor (PIR) • Many more!

  25. I2C Shared line for all Sensors SCL (clock) SDA (data) SoC Sensor A Sensor B Sensor C I2C pins are especially good to use when programming more complex sensors or actuators which require multiple data lines. For example: • Ultrasonic sensors, Stepper motors and servos, LCD screen, LED matrices • Many more!

  26. Why IoTDK is good?

  27. All different codes of Sensors on GPIO, I2C Requires implementing same code for every boards. Sensor programs X Sensor programs Y Sensor programs Z Sensor A GPIO Sensor A GPIO Sensor A GPIO Sensor B I2C Sensor C I2C Sensor B I2C Sensor C I2C Sensor B I2C Sensor C I2C API of GPIO, I2C API of GPIO, I2C API of GPIO, I2C Kernel and SoC Kernel and SoC Kernel and SoC 96Boards X Raspberry Pi 96Boards Y

  28. All different codes of Sensors on GPIO, I2C (2/2) Requires implementing same code for every boards. Sensor programs X Sensor programs Y Sensor programs Z Sensor A GPIO Sensor A GPIO Sensor A GPIO Sensor B I2C Sensor C I2C Sensor B I2C Sensor C I2C Sensor B I2C Sensor C I2C APIs are all different API of GPIO, I2C API of GPIO, I2C API of GPIO, I2C Kernel and SoC Kernel and SoC Kernel and SoC 96Boards X Raspberry Pi 96Boards Y

Recommend


More recommend